|
From: Martin R. <ru...@us...> - 2004-08-14 06:12:42
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24307 Modified Files: FOOContext.m FOOGlobalsManager.m Log Message: moved archiving entry methods from FOOGlobalsManager to FOOContext, where they belong to Index: FOOGlobalsManager.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOGlobalsManager.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FOOGlobalsManager.m 13 Aug 2004 21:38:01 -0000 1.4 --- FOOGlobalsManager.m 14 Aug 2004 06:12:34 -0000 1.5 *************** *** 43,51 **** #import <Foundation/NSArray.h> - #import <Foundation/NSDictionary.h> #import <Foundation/NSValue.h> ! #import <Foundation/NSData.h> ! #import <Foundation/NSKeyedArchiver.h> ! #import <Foundation/NSPropertyList.h> #include "FOO/FOOGlobalsManager.h" --- 43,48 ---- #import <Foundation/NSArray.h> #import <Foundation/NSValue.h> ! #import <Foundation/NSDictionary.h> #include "FOO/FOOGlobalsManager.h" *************** *** 202,241 **** } - - + (BOOL) archiveContext: (FOOContext *)context - toFile: (NSString *)path - { - NSMutableData *data; - NSKeyedArchiver *archiver; - BOOL result; - - data = [NSMutableData data]; - archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData: data]; - // use XML format - [archiver setOutputFormat: NSPropertyListXMLFormat_v1_0]; - [archiver encodeObject: context forKey: @"FOOContext"]; - [archiver finishEncoding]; - result = [data writeToFile: path atomically: YES]; - RELEASE(archiver); - // RELEASE(data); // ??? autoreleased or not? - - return result; - } - - - + (FOOContext *) unArchiveContextWithFile: (NSString *)path - { - FOOContext *context; - NSData *data; - NSKeyedUnarchiver *unarchiver; - - data = [NSData dataWithContentsOfFile: path]; - unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData: data]; - context = [unarchiver decodeObjectForKey: @"FOOContext"]; - [unarchiver finishDecoding]; - [unarchiver release]; - - return context; - } - @end --- 199,201 ---- Index: FOOContext.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOContext.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FOOContext.m 13 Aug 2004 21:38:01 -0000 1.4 --- FOOContext.m 14 Aug 2004 06:12:34 -0000 1.5 *************** *** 47,55 **** --- 47,134 ---- #include "FOO/FOOBuffer.h" + #import <Foundation/NSString.h> + #import <Foundation/NSDictionary.h> + #import <Foundation/NSData.h> #import <Foundation/NSKeyedArchiver.h> + #import <Foundation/NSPropertyList.h> @implementation FOOContext + + (BOOL) archiveContext: (FOOContext *)context toFile: (NSString *)path + { + return [context archiveToFile: path]; + } + + + // + (BOOL) archiveContextsWithKeys: (NSDictionary *)contexts toFile: (NSString *)path + // { + + // } + + + + (FOOContext *) contextFromArchive: (NSString *)path + { + FOOContext *context; + + context = [[self class] alloc]; + context = [context initFromArchive: path]; + + return AUTORELEASE(context); + } + + + + (FOOContext *) contextFromArchive: (NSString *)path withKey: (NSString *)key + { + FOOContext *context; + + context = [[self class] alloc]; + context = [context initFromArchive: path withKey: key]; + + return AUTORELEASE(context); + } + + + - (FOOContext *) initFromArchive: (NSString *)path + { + return [self initFromArchive: path withKey: @"FOOContext"]; + } + + + - (FOOContext *) initFromArchive: (NSString *)path withKey: (NSString *)key + { + NSData *data; + NSKeyedUnarchiver *unarchiver; + + data = [NSData dataWithContentsOfFile: path]; + unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData: data]; + self = RETAIN([unarchiver decodeObjectForKey: key]); + [unarchiver finishDecoding]; + RELEASE(unarchiver); + + return self; + } + + + - (BOOL) archiveToFile: (NSString *)path + { + NSMutableData *data; + NSKeyedArchiver *archiver; + BOOL result; + + data = [NSMutableData data]; + archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData: data]; + // use XML format + [archiver setOutputFormat: NSPropertyListXMLFormat_v1_0]; + [archiver encodeObject: self forKey: @"FOOContext"]; + [archiver finishEncoding]; + result = [data writeToFile: path atomically: YES]; + RELEASE(archiver); + // RELEASE(data); // ??? autoreleased or not? + + return result; + } + + - (FOOContext *) initWithChans: (int)n { |