LookinAttributeModification.m 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifdef SHOULD_COMPILE_LOOKIN_SERVER
  2. //
  3. // LookinAttributeModification.m
  4. // Lookin
  5. //
  6. // Created by Li Kai on 2018/11/20.
  7. // https://lookin.work
  8. //
  9. #import "LookinAttributeModification.h"
  10. @implementation LookinAttributeModification
  11. - (void)encodeWithCoder:(NSCoder *)aCoder {
  12. [aCoder encodeObject:@(self.targetOid) forKey:@"targetOid"];
  13. [aCoder encodeObject:NSStringFromSelector(self.setterSelector) forKey:@"setterSelector"];
  14. [aCoder encodeInteger:self.attrType forKey:@"attrType"];
  15. [aCoder encodeObject:self.value forKey:@"value"];
  16. [aCoder encodeObject:self.clientReadableVersion forKey:@"clientReadableVersion"];
  17. }
  18. - (instancetype)initWithCoder:(NSCoder *)aDecoder {
  19. if (self = [super init]) {
  20. self.targetOid = [[aDecoder decodeObjectForKey:@"targetOid"] unsignedLongValue];
  21. self.setterSelector = NSSelectorFromString([aDecoder decodeObjectForKey:@"setterSelector"]);
  22. self.attrType = [aDecoder decodeIntegerForKey:@"attrType"];
  23. self.value = [aDecoder decodeObjectForKey:@"value"];
  24. self.clientReadableVersion = [aDecoder decodeObjectForKey:@"clientReadableVersion"];
  25. }
  26. return self;
  27. }
  28. + (BOOL)supportsSecureCoding {
  29. return YES;
  30. }
  31. @end
  32. #endif /* SHOULD_COMPILE_LOOKIN_SERVER */