Changeset 689
- Timestamp:
- 11/02/08 16:57:18 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/CoreData/SapphireFrappliance/MetaData/Support/SapphireMetaDataSupport.h
r570 r689 29 29 */ 30 30 @interface SapphireMetaDataSupport : NSObject { 31 NSTimer *writeTimer; /*!< @brief The timer to agregate writes*/ 31 NSTimer *writeTimer; /*!< @brief The timer to agregate writes*/ 32 NSTimeInterval interval; /*!< @brief The write interval*/ 32 33 } 33 34 … … 36 37 * 37 38 * @param context The context to save 39 * @return YES if the save succeeded, NO otherwise 38 40 */ 39 + ( void)save:(NSManagedObjectContext *)context;41 + (BOOL)save:(NSManagedObjectContext *)context; 40 42 41 43 /*! branches/CoreData/SapphireFrappliance/MetaData/Support/SapphireMetaDataSupport.m
r685 r689 102 102 - (void)realWriteMetaData:(NSTimer *)timer 103 103 { 104 NSTimeInterval interval = [writeTimer timeInterval] * 2;105 104 NSManagedObjectContext *context = nil; 106 105 if([timer isKindOfClass:[NSManagedObjectContext class]]) … … 117 116 } 118 117 @catch (NSException * e) { 119 NSLog(@"Could not save due to exception %@", e);118 NSLog(@"Could not save due to exception \"%@\" with reason\"%@\"", [e name], [e reason]); 120 119 } 121 120 if(error != nil) 122 NSLog(@"Save error %@", error);121 NSLog(@"Save error \"%@\"", error); 123 122 if(success == NO) 124 123 { 125 if(interval < 1) 126 interval = 1; 124 interval *= 2; 127 125 [writeTimer invalidate]; 128 126 writeTimer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(realWriteMetaData:) userInfo:context repeats:NO]; … … 130 128 } 131 129 132 - (void)save:(NSManagedObjectContext *)context; 133 { 134 [self realWriteMetaData:(NSTimer *)context]; 135 } 136 137 + (void)save:(NSManagedObjectContext *)context 130 - (BOOL)save:(NSManagedObjectContext *)context; 131 { 132 if(writeTimer == nil) 133 { 134 interval = 1; 135 [self realWriteMetaData:(NSTimer *)context]; 136 return (writeTimer == nil); 137 } 138 else 139 return YES; 140 } 141 142 + (BOOL)save:(NSManagedObjectContext *)context 138 143 { 139 144 if(context == nil) 140 return ;141 142 [[SapphireMetaDataSupport sharedInstance] save:context];145 return NO; 146 147 return [[SapphireMetaDataSupport sharedInstance] save:context]; 143 148 } 144 149
