mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
85 lines
4.3 KiB
Objective-C
85 lines
4.3 KiB
Objective-C
#import "TGBridgeDocumentMediaAttachment.h"
|
|
|
|
const NSInteger TGBridgeDocumentMediaAttachmentType = 0xE6C64318;
|
|
|
|
NSString *const TGBridgeDocumentMediaDocumentIdKey = @"documentId";
|
|
NSString *const TGBridgeDocumentMediaLocalDocumentIdKey = @"localDocumentId";
|
|
NSString *const TGBridgeDocumentMediaFileSizeKey = @"fileSize";
|
|
NSString *const TGBridgeDocumentMediaFileNameKey = @"fileName";
|
|
NSString *const TGBridgeDocumentMediaImageSizeKey = @"imageSize";
|
|
NSString *const TGBridgeDocumentMediaAnimatedKey = @"animated";
|
|
NSString *const TGBridgeDocumentMediaStickerKey = @"sticker";
|
|
NSString *const TGBridgeDocumentMediaStickerAltKey = @"stickerAlt";
|
|
NSString *const TGBridgeDocumentMediaStickerPackIdKey = @"stickerPackId";
|
|
NSString *const TGBridgeDocumentMediaStickerPackAccessHashKey = @"stickerPackAccessHash";
|
|
NSString *const TGBridgeDocumentMediaAudioKey = @"audio";
|
|
NSString *const TGBridgeDocumentMediaAudioTitleKey = @"title";
|
|
NSString *const TGBridgeDocumentMediaAudioPerformerKey = @"performer";
|
|
NSString *const TGBridgeDocumentMediaAudioVoice = @"voice";
|
|
NSString *const TGBridgeDocumentMediaAudioDuration = @"duration";
|
|
|
|
@implementation TGBridgeDocumentMediaAttachment
|
|
|
|
- (instancetype)initWithCoder:(NSCoder *)aDecoder
|
|
{
|
|
self = [super init];
|
|
if (self != nil)
|
|
{
|
|
_documentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaDocumentIdKey];
|
|
_localDocumentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaLocalDocumentIdKey];
|
|
_fileSize = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaFileSizeKey];
|
|
_fileName = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaFileNameKey];
|
|
_imageSize = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaImageSizeKey];
|
|
_isAnimated = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAnimatedKey];
|
|
_isSticker = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaStickerKey];
|
|
_stickerAlt = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaStickerAltKey];
|
|
_stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackIdKey];
|
|
_stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackAccessHashKey];
|
|
_isAudio = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioKey];
|
|
_title = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioTitleKey];
|
|
_performer = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioPerformerKey];
|
|
_isVoice = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioVoice];
|
|
_duration = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaAudioDuration];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)aCoder
|
|
{
|
|
[aCoder encodeInt64:self.documentId forKey:TGBridgeDocumentMediaDocumentIdKey];
|
|
[aCoder encodeInt64:self.localDocumentId forKey:TGBridgeDocumentMediaLocalDocumentIdKey];
|
|
[aCoder encodeInt32:self.fileSize forKey:TGBridgeDocumentMediaFileSizeKey];
|
|
[aCoder encodeObject:self.fileName forKey:TGBridgeDocumentMediaFileNameKey];
|
|
[aCoder encodeObject:self.imageSize forKey:TGBridgeDocumentMediaImageSizeKey];
|
|
[aCoder encodeBool:self.isAnimated forKey:TGBridgeDocumentMediaAnimatedKey];
|
|
[aCoder encodeBool:self.isSticker forKey:TGBridgeDocumentMediaStickerKey];
|
|
[aCoder encodeObject:self.stickerAlt forKey:TGBridgeDocumentMediaStickerAltKey];
|
|
[aCoder encodeInt64:self.stickerPackId forKey:TGBridgeDocumentMediaStickerPackIdKey];
|
|
[aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeDocumentMediaStickerPackAccessHashKey];
|
|
[aCoder encodeBool:self.isAudio forKey:TGBridgeDocumentMediaAudioKey];
|
|
[aCoder encodeObject:self.title forKey:TGBridgeDocumentMediaAudioTitleKey];
|
|
[aCoder encodeObject:self.performer forKey:TGBridgeDocumentMediaAudioPerformerKey];
|
|
[aCoder encodeBool:self.isVoice forKey:TGBridgeDocumentMediaAudioVoice];
|
|
[aCoder encodeInt32:self.duration forKey:TGBridgeDocumentMediaAudioDuration];
|
|
}
|
|
|
|
- (BOOL)isEqual:(id)object
|
|
{
|
|
if (object == self)
|
|
return YES;
|
|
|
|
if (!object || ![object isKindOfClass:[self class]])
|
|
return NO;
|
|
|
|
TGBridgeDocumentMediaAttachment *document = (TGBridgeDocumentMediaAttachment *)object;
|
|
|
|
return (self.localDocumentId == 0 && self.documentId == document.documentId) || (self.localDocumentId != 0 && self.localDocumentId == document.localDocumentId);
|
|
}
|
|
|
|
+ (NSInteger)mediaType
|
|
{
|
|
return TGBridgeDocumentMediaAttachmentType;
|
|
}
|
|
|
|
@end
|