mirror of
https://github.com/danog/Telegram.git
synced 2024-12-12 09:29:55 +01:00
61 lines
1.6 KiB
Objective-C
61 lines
1.6 KiB
Objective-C
#import "TGReplyMarkupAttachment.h"
|
|
|
|
#import "PSKeyValueEncoder.h"
|
|
#import "PSKeyValueDecoder.h"
|
|
|
|
#import "NSInputStream+TL.h"
|
|
|
|
@implementation TGReplyMarkupAttachment
|
|
|
|
- (instancetype)init
|
|
{
|
|
self = [super init];
|
|
if (self != nil)
|
|
{
|
|
self.type = TGReplyMarkupAttachmentType;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (instancetype)initWithCoder:(NSCoder *)aDecoder
|
|
{
|
|
self = [super init];
|
|
if (self != nil)
|
|
{
|
|
self.type = TGReplyMarkupAttachmentType;
|
|
|
|
NSData *replyMarkupData = [aDecoder decodeObjectForKey:@"replyMarkupData"];
|
|
_replyMarkup = [[TGBotReplyMarkup alloc] initWithKeyValueCoder:[[PSKeyValueDecoder alloc] initWithData:replyMarkupData]];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)aCoder
|
|
{
|
|
PSKeyValueEncoder *encoder = [[PSKeyValueEncoder alloc] init];
|
|
[_replyMarkup encodeWithKeyValueCoder:encoder];
|
|
[aCoder encodeObject:[encoder data] forKey:@"replyMarkupData"];
|
|
}
|
|
|
|
- (BOOL)isEqual:(id)object
|
|
{
|
|
return [object isKindOfClass:[TGReplyMarkupAttachment class]] && TGObjectCompare(((TGReplyMarkupAttachment *)object)->_replyMarkup, _replyMarkup);
|
|
}
|
|
|
|
- (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];
|
|
}
|
|
|
|
@end
|