LookinStaticAsyncUpdateTask.m 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifdef SHOULD_COMPILE_LOOKIN_SERVER
  2. //
  3. // LookinStaticAsyncUpdateTask.m
  4. // Lookin
  5. //
  6. // Created by Li Kai on 2019/6/21.
  7. // https://lookin.work
  8. //
  9. #import "LookinStaticAsyncUpdateTask.h"
  10. @implementation LookinStaticAsyncUpdateTask
  11. - (void)encodeWithCoder:(NSCoder *)aCoder {
  12. [aCoder encodeObject:@(self.oid) forKey:@"oid"];
  13. [aCoder encodeInteger:self.taskType forKey:@"taskType"];
  14. }
  15. - (instancetype)initWithCoder:(NSCoder *)aDecoder {
  16. if (self = [super init]) {
  17. self.oid = [[aDecoder decodeObjectForKey:@"oid"] unsignedLongValue];
  18. self.taskType = [aDecoder decodeIntegerForKey:@"taskType"];
  19. }
  20. return self;
  21. }
  22. + (BOOL)supportsSecureCoding {
  23. return YES;
  24. }
  25. - (NSUInteger)hash {
  26. return self.oid ^ self.taskType;
  27. }
  28. - (BOOL)isEqual:(id)object {
  29. if (self == object) {
  30. return YES;
  31. }
  32. if (![object isKindOfClass:[LookinStaticAsyncUpdateTask class]]) {
  33. return NO;
  34. }
  35. LookinStaticAsyncUpdateTask *targetTask = object;
  36. if (self.oid == targetTask.oid && self.taskType == targetTask.taskType) {
  37. return YES;
  38. }
  39. return NO;
  40. }
  41. @end
  42. @implementation LookinStaticAsyncUpdateTasksPackage
  43. - (void)encodeWithCoder:(NSCoder *)aCoder {
  44. [aCoder encodeObject:self.tasks forKey:@"tasks"];
  45. }
  46. - (instancetype)initWithCoder:(NSCoder *)aDecoder {
  47. if (self = [super init]) {
  48. self.tasks = [aDecoder decodeObjectForKey:@"tasks"];
  49. }
  50. return self;
  51. }
  52. + (BOOL)supportsSecureCoding {
  53. return YES;
  54. }
  55. @end
  56. #endif /* SHOULD_COMPILE_LOOKIN_SERVER */