From c82709e1d8477c93f5a8413c461ee989e3db426e Mon Sep 17 00:00:00 2001 From: mccallum Date: Mon, 3 Jul 1995 22:20:40 +0000 Subject: [PATCH] Allow easy user-modification of concrete class. Removed references to NSGData. ([NSArchiver +_setConcreteClass:]): New method. ([NSArchiver +_concreteClass]): New method. ([NSArchiver +initialize]): New method. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@490 72102866-910b-0410-8b05-ffd578937521 --- Source/NSArchiver.m | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Source/NSArchiver.m b/Source/NSArchiver.m index 7c6bae55c..c56283757 100644 --- a/Source/NSArchiver.m +++ b/Source/NSArchiver.m @@ -24,11 +24,27 @@ #include #include #include -#include #include @implementation NSArchiver +static Class NSArchiver_concrete_class; + ++ (void) _setConcreteClass: (Class)c +{ + NSArchiver_concrete_class = c; +} + ++ (Class) _concreteClass +{ + return NSArchiver_concrete_class; +} + ++ (void) initialize +{ + NSArchiver_concrete_class = [NSGArchiver class]; +} + // Initializing an archiver /* This is the designated initializer */ @@ -43,8 +59,8 @@ + (NSData*) archivedDataWithRootObject: (id)rootObject { /* xxx a quick kludge implementation */ - id d = [[NSGMutableData alloc] init]; - id a = [[NSGArchiver alloc] initForWritingWithMutableData:d]; + id d = [[NSMutableData alloc] init]; + id a = [[NSArchiver alloc] initForWritingWithMutableData:d]; [a encodeRootObject:rootObject]; return [d autorelease]; }