106 lines
3.1 KiB
Objective-C
106 lines
3.1 KiB
Objective-C
#ifdef SHOULD_COMPILE_LOOKIN_SERVER
|
|
|
|
//
|
|
// LookinStaticAsyncUpdateTask.m
|
|
// Lookin
|
|
//
|
|
// Created by Li Kai on 2019/6/21.
|
|
// https://lookin.work
|
|
//
|
|
|
|
|
|
|
|
#import "LookinStaticAsyncUpdateTask.h"
|
|
|
|
@implementation LookinStaticAsyncUpdateTask
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)aCoder {
|
|
[aCoder encodeObject:@(self.oid) forKey:@"oid"];
|
|
[aCoder encodeInteger:self.taskType forKey:@"taskType"];
|
|
[aCoder encodeObject:self.clientReadableVersion forKey:@"clientReadableVersion"];
|
|
[aCoder encodeInteger:self.attrRequest forKey:@"attrRequest"];
|
|
[aCoder encodeBool:self.needBasisVisualInfo forKey:@"needBasisVisualInfo"];
|
|
[aCoder encodeBool:self.needSubitems forKey:@"needSubitems"];
|
|
}
|
|
|
|
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
|
|
if (self = [super init]) {
|
|
self.oid = [[aDecoder decodeObjectForKey:@"oid"] unsignedLongValue];
|
|
self.taskType = [aDecoder decodeIntegerForKey:@"taskType"];
|
|
self.clientReadableVersion = [aDecoder decodeObjectForKey:@"clientReadableVersion"];
|
|
if ([aDecoder containsValueForKey:@"attrRequest"]) {
|
|
NSInteger value = [aDecoder decodeIntegerForKey:@"attrRequest"];
|
|
if (value >= LookinDetailUpdateTaskAttrRequest_Automatic && value <= LookinDetailUpdateTaskAttrRequest_NotNeed) {
|
|
self.attrRequest = value;
|
|
} else {
|
|
self.attrRequest = LookinDetailUpdateTaskAttrRequest_Automatic;
|
|
}
|
|
} else {
|
|
self.attrRequest = LookinDetailUpdateTaskAttrRequest_Automatic;
|
|
}
|
|
|
|
if ([aDecoder containsValueForKey:@"needBasisVisualInfo"]) {
|
|
self.needBasisVisualInfo = [aDecoder decodeBoolForKey:@"needBasisVisualInfo"];
|
|
} else {
|
|
self.needBasisVisualInfo = NO;
|
|
}
|
|
|
|
if ([aDecoder containsValueForKey:@"needSubitems"]) {
|
|
self.needSubitems = [aDecoder decodeBoolForKey:@"needSubitems"];
|
|
} else {
|
|
self.needSubitems = NO;
|
|
}
|
|
|
|
}
|
|
return self;
|
|
}
|
|
|
|
+ (BOOL)supportsSecureCoding {
|
|
return YES;
|
|
}
|
|
|
|
- (NSUInteger)hash {
|
|
return self.oid ^ self.taskType ^ self.attrRequest ^ self.needBasisVisualInfo ^ self.needSubitems;
|
|
}
|
|
|
|
- (BOOL)isEqual:(id)object {
|
|
if (self == object) {
|
|
return YES;
|
|
}
|
|
if (![object isKindOfClass:[LookinStaticAsyncUpdateTask class]]) {
|
|
return NO;
|
|
}
|
|
LookinStaticAsyncUpdateTask *targetTask = object;
|
|
if (self.oid == targetTask.oid
|
|
&& self.taskType == targetTask.taskType
|
|
&& self.attrRequest == targetTask.attrRequest
|
|
&& self.needBasisVisualInfo == targetTask.needBasisVisualInfo
|
|
&& self.needSubitems == targetTask.needSubitems) {
|
|
return YES;
|
|
}
|
|
return NO;
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation LookinStaticAsyncUpdateTasksPackage
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)aCoder {
|
|
[aCoder encodeObject:self.tasks forKey:@"tasks"];
|
|
}
|
|
|
|
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
|
|
if (self = [super init]) {
|
|
self.tasks = [aDecoder decodeObjectForKey:@"tasks"];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
+ (BOOL)supportsSecureCoding {
|
|
return YES;
|
|
}
|
|
|
|
@end
|
|
|
|
#endif /* SHOULD_COMPILE_LOOKIN_SERVER */
|