Swiftgram/submodules/LegacyComponents/LegacyComponents/TGAuthorSignatureMediaAttachment.m
Peter d153fe0f21 Add 'submodules/LegacyComponents/' from commit 'd5594346161c1b7f203d1e87068bbe77bcaac019'
git-subtree-dir: submodules/LegacyComponents
git-subtree-mainline: 608630530451e02e5aec48389d144dbf7a3625b9
git-subtree-split: d5594346161c1b7f203d1e87068bbe77bcaac019
2019-06-11 18:51:15 +01:00

47 lines
1.3 KiB
Objective-C

#import "TGAuthorSignatureMediaAttachment.h"
#import "LegacyComponentsInternal.h"
#import "NSInputStream+TL.h"
@implementation TGAuthorSignatureMediaAttachment
- (instancetype)initWithSignature:(NSString *)signature {
self = [super init];
if (self != nil) {
self.type = TGAuthorSignatureMediaAttachmentType;
_signature = signature;
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
return [self initWithSignature:[aDecoder decodeObjectForKey:@"signature"]];
}
- (void)encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeObject:_signature forKey:@"signature"];
}
- (void)serialize:(NSMutableData *)data
{
NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self];
int32_t length = (int32_t)serializedData.length;
[data appendBytes:&length length:4];
[data appendData:serializedData];
}
- (TGMediaAttachment *)parseMediaAttachment:(NSInputStream *)is
{
int32_t length = [is readInt32];
NSData *data = [is readData:length];
return [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
- (BOOL)isEqual:(id)object {
return [object isKindOfClass:[TGAuthorSignatureMediaAttachment class]] && TGStringCompare(((TGAuthorSignatureMediaAttachment *)object)->_signature, _signature);
}
@end