X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sope-core%2FEOControl%2FEOFetchSpecification.m;h=37fa0b410c3843266d4eea2c288559629139dcfc;hb=da4fee939ad67e8da731714f06358d6bdd3ee617;hp=b4e3fcc693410aa078098a584c3fbc320acf0df2;hpb=7bdc0c3158c3c471ad9f78d155754e7b1948430b;p=sope diff --git a/sope-core/EOControl/EOFetchSpecification.m b/sope-core/EOControl/EOFetchSpecification.m index b4e3fcc6..37fa0b41 100644 --- a/sope-core/EOControl/EOFetchSpecification.m +++ b/sope-core/EOControl/EOFetchSpecification.m @@ -333,6 +333,40 @@ return [fs autorelease]; } +/* key/value archiving */ + +- (id)initWithKeyValueUnarchiver:(EOKeyValueUnarchiver *)_unarchiver { + if ((self = [super init]) != nil) { + self->entityName = [[_unarchiver decodeObjectForKey:@"entityName"] copy]; + self->qualifier = [[_unarchiver decodeObjectForKey:@"qualifier"] retain]; + self->hints = [[_unarchiver decodeObjectForKey:@"hints"] copy]; + self->sortOrderings = + [[_unarchiver decodeObjectForKey:@"sortOrderings"] retain]; + + self->fetchLimit = [_unarchiver decodeIntForKey:@"fetchLimit"]; + + self->fsFlags.usesDistinct = + [_unarchiver decodeBoolForKey:@"usesDistinct"] ? 1 : 0; + self->fsFlags.locksObjects = + [_unarchiver decodeBoolForKey:@"locksObjects"] ? 1 : 0; + self->fsFlags.deep = + [_unarchiver decodeBoolForKey:@"deep"] ? 1 : 0; + } + return self; +} +- (void)encodeWithKeyValueArchiver:(EOKeyValueArchiver *)_archiver { + [_archiver encodeObject:[self entityName] forKey:@"entityName"]; + [_archiver encodeObject:[self qualifier] forKey:@"qualifier"]; + [_archiver encodeObject:[self hints] forKey:@"hints"]; + [_archiver encodeObject:[self sortOrderings] forKey:@"sortOrderings"]; + + [_archiver encodeInt:[self fetchLimit] forKey:@"fetchLimit"]; + + [_archiver encodeBool:self->fsFlags.usesDistinct forKey:@"usesDistinct"]; + [_archiver encodeBool:self->fsFlags.locksObjects forKey:@"locksObjects"]; + [_archiver encodeBool:self->fsFlags.deep forKey:@"deep"]; +} + /* description */ - (NSString *)description { @@ -340,7 +374,7 @@ id tmp; ms = [NSMutableString stringWithCapacity:128]; - [ms appendFormat:@"<%@[0x%08X]:", NSStringFromClass([self class]), self]; + [ms appendFormat:@"<%@[0x%p]:", NSStringFromClass([self class]), self]; if ((tmp = [self entityName])) [ms appendFormat:@" entity=%@", tmp];