From 2e311c5b6d0fe61eea88222a6fdb38b050a7a5a2 Mon Sep 17 00:00:00 2001 From: "matthias.ringwald" Date: Fri, 7 Jan 2011 20:30:41 +0000 Subject: [PATCH] store DB on every change --- src/remote_device_db_iphone.m | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/remote_device_db_iphone.m b/src/remote_device_db_iphone.m index 8d3a8a355..8ce4a5c7c 100644 --- a/src/remote_device_db_iphone.m +++ b/src/remote_device_db_iphone.m @@ -69,9 +69,7 @@ static void db_open(){ [pool release]; } -static void db_close(){ - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - +static void db_synchronize(){ log_dbg("stored prefs for %u devices\n", [remote_devices count]); // 3 different ways @@ -85,6 +83,12 @@ static void db_close(){ // NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // [defaults setPersistentDomain:remote_devices forName:BTdaemonID]; // [defaults synchronize]; +} + +static void db_close(){ + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + + db_synchronize(); [remote_devices release]; remote_devices = nil; @@ -105,12 +109,15 @@ static void set_value(bd_addr_t *bd_addr, NSString *key, id value){ [remote_devices setObject:deviceDict forKey:devAddress]; } [deviceDict setObject:value forKey:key]; + db_synchronize(); } static void delete_value(bd_addr_t *bd_addr, NSString *key){ NSString *devAddress = stringForAddress(bd_addr); NSMutableDictionary * deviceDict = [remote_devices objectForKey:devAddress]; [deviceDict removeObjectForKey:key]; + db_synchronize(); + } static id get_value(bd_addr_t *bd_addr, NSString *key){