diff --git a/SignalServiceKit/protobuf/OWSSignalServiceProtos.proto b/SignalServiceKit/protobuf/OWSSignalServiceProtos.proto index d7144fb54..4a01f6607 100644 --- a/SignalServiceKit/protobuf/OWSSignalServiceProtos.proto +++ b/SignalServiceKit/protobuf/OWSSignalServiceProtos.proto @@ -88,10 +88,16 @@ message DataMessage { } message Quote { + message QuotedAttachment { + optional string contentType = 1; + optional string fileName = 2; + optional AttachmentPointer thumbnail = 3; + } + optional uint64 id = 1; optional string author = 2; optional string text = 3; - repeated AttachmentPointer attachments = 4; + repeated QuotedAttachment attachments = 4; } optional string body = 1; diff --git a/SignalServiceKit/src/Messages/Interactions/TSOutgoingMessage.m b/SignalServiceKit/src/Messages/Interactions/TSOutgoingMessage.m index 529e04b84..b28da12cb 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSOutgoingMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/TSOutgoingMessage.m @@ -476,18 +476,17 @@ NSString *const kTSOutgoingMessageSentRecipientAll = @"kTSOutgoingMessageSentRec for (OWSAttachmentInfo *attachment in quotedMessage.quotedAttachments) { hasQuotedAttachment = YES; - // Add non-thumbnail quoted attachment - OWSSignalServiceProtosAttachmentPointerBuilder *attachmentBuilder = - [OWSSignalServiceProtosAttachmentPointerBuilder new]; - attachmentBuilder.contentType = attachment.contentType; - attachmentBuilder.fileName = attachment.sourceFilename; - - [quoteBuilder addAttachments:[attachmentBuilder build]]; + OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder *quotedAttachmentBuilder = [OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder new]; + + quotedAttachmentBuilder.contentType = attachment.contentType; + quotedAttachmentBuilder.fileName = attachment.sourceFilename; // FIXME handle thumbnail uploading. The proto changes for this are up in the air. - // OWSAssert([attachment isKindOfClass:[TSAttachmentStream class]]); - // [quoteBuilder addAttachments:[self buildProtoForAttachmentStream:attachment - // filename:attachment.sourceFilename]];] +// if (attachment.thumbnailAttachmentId) { +// quotedAttachmentBuilder.thumbnail = [self buildProtoForAttachmentId:attachment.attachmentThumbnailId]; +// } + + [quoteBuilder addAttachments:[quotedAttachmentBuilder build]]; } } diff --git a/SignalServiceKit/src/Messages/Interactions/TSQuotedMessage.m b/SignalServiceKit/src/Messages/Interactions/TSQuotedMessage.m index af8a0022f..b0d1391fb 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSQuotedMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/TSQuotedMessage.m @@ -214,38 +214,38 @@ NS_ASSUME_NONNULL_BEGIN // - (void)createThumbnailAttachmentIfNecessaryWithTransaction:(YapDatabaseReadWriteTransaction *)transaction { - for (OWSAttachmentInfo *info in self.quotedAttachments) { - // TODO should we just cach an optional TSAttachment on the info? - OWSAssert(info.attachmentId); - TSAttachment *attachment = [TSAttachment fetchObjectWithUniqueID:info.attachmentId transaction:transaction]; - if (![attachment isKindOfClass:[TSAttachmentStream class]]) { - return; - } - - TSAttachmentStream *attachmentStream = (TSAttachmentStream *)attachmentStream; - NSData *thumbnailData = attachmentStream.thumbnailData; - // Only some media types have thumbnails - if (thumbnailData) { - // Copy the thumbnail to a new attachment. - NSString *thumbnailName = - [NSString stringWithFormat:@"quoted-thumbnail-%@", attachmentStream.sourceFilename]; - TSAttachmentStream *thumbnailAttachment = - [[TSAttachmentStream alloc] initWithContentType:OWSMimeTypeJpeg - byteCount:attachmentStream.byteCount - sourceFilename:thumbnailName]; - - NSError *error; - [thumbnailAttachment writeData:thumbnailData error:&error]; - if (error) { - DDLogError(@"%@ Couldn't copy attachment data for message sent to self: %@.", self.logTag, error); - } else { - [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) { - [thumbnailAttachment saveWithTransaction:transaction]; - quotedMessage.attachments = [message saveWithTransaction:transaction]; - }]; - } - } - } +// for (OWSAttachmentInfo *info in self.quotedAttachments) { +// // TODO should we just cach an optional TSAttachment on the info? +// OWSAssert(info.attachmentId); +// TSAttachment *attachment = [TSAttachment fetchObjectWithUniqueID:info.attachmentId transaction:transaction]; +// if (![attachment isKindOfClass:[TSAttachmentStream class]]) { +// return; +// } +// +// TSAttachmentStream *attachmentStream = (TSAttachmentStream *)attachmentStream; +// NSData *thumbnailData = attachmentStream.thumbnailData; +// // Only some media types have thumbnails +// if (thumbnailData) { +// // Copy the thumbnail to a new attachment. +// NSString *thumbnailName = +// [NSString stringWithFormat:@"quoted-thumbnail-%@", attachmentStream.sourceFilename]; +// TSAttachmentStream *thumbnailAttachment = +// [[TSAttachmentStream alloc] initWithContentType:OWSMimeTypeJpeg +// byteCount:attachmentStream.byteCount +// sourceFilename:thumbnailName]; +// +// NSError *error; +// [thumbnailAttachment writeData:thumbnailData error:&error]; +// if (error) { +// DDLogError(@"%@ Couldn't copy attachment data for message sent to self: %@.", self.logTag, error); +// } else { +// [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) { +// [thumbnailAttachment saveWithTransaction:transaction]; +// quotedMessage.attachments = [message saveWithTransaction:transaction]; +// }]; +// } +// } +// } } @end diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index baa595538..80d50d0d7 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -1096,12 +1096,12 @@ NS_ASSUME_NONNULL_BEGIN } NSMutableArray *attachmentInfos = [NSMutableArray new]; - for (OWSSignalServiceProtosAttachmentPointer *attachmentPointer in quoteProto.attachments) { + for (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *quotedAttachment in quoteProto.attachments) { hasAttachment = YES; OWSAttachmentInfo *attachmentInfo = [[OWSAttachmentInfo alloc] initWithAttachmentId:nil - contentType:attachmentPointer.contentType - sourceFilename:attachmentPointer.fileName]; + contentType:quotedAttachment.contentType + sourceFilename:quotedAttachment.fileName]; [attachmentInfos addObject:attachmentInfo]; } // TODO - but only if the attachment can't be found locally. @@ -1137,19 +1137,10 @@ NS_ASSUME_NONNULL_BEGIN return nil; } - // TSQuotedMessage *quotedMessage = [[TSQuotedMessage alloc] initIncomingWithTimestamp:timestamp - // authorId:authorId - // body:body - // sourceFilename:sourceFilename - // thumbnailData:thumbnailData - // contentType:contentType]; - - TSQuotedMessage *quotedMessage = [[TSQuotedMessage alloc] initWithTimestamp:timestamp - authorId:authorId - body:body - quotedAttachmentInfos:attachmentInfos]; - - return quotedMessage; + return [[TSQuotedMessage alloc] initWithTimestamp:timestamp + authorId:authorId + body:body + quotedAttachmentInfos:attachmentInfos]; } - (void)finalizeIncomingMessage:(TSIncomingMessage *)incomingMessage diff --git a/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.h b/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.h index 614ce741d..f7c70b760 100644 --- a/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.h +++ b/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.h @@ -28,6 +28,8 @@ @class OWSSignalServiceProtosDataMessageBuilder; @class OWSSignalServiceProtosDataMessageQuote; @class OWSSignalServiceProtosDataMessageQuoteBuilder; +@class OWSSignalServiceProtosDataMessageQuoteQuotedAttachment; +@class OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder; @class OWSSignalServiceProtosEnvelope; @class OWSSignalServiceProtosEnvelopeBuilder; @class OWSSignalServiceProtosGroupContext; @@ -808,14 +810,14 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro BOOL hasTimestamp_:1; BOOL hasBody_:1; BOOL hasGroup_:1; - BOOL hasQuote_ : 1; + BOOL hasQuote_:1; BOOL hasProfileKey_:1; BOOL hasFlags_:1; BOOL hasExpireTimer_:1; UInt64 timestamp; NSString* body; OWSSignalServiceProtosGroupContext* group; - OWSSignalServiceProtosDataMessageQuote *quote; + OWSSignalServiceProtosDataMessageQuote* quote; NSData* profileKey; UInt32 flags; UInt32 expireTimer; @@ -827,7 +829,7 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro - (BOOL) hasExpireTimer; - (BOOL) hasProfileKey; - (BOOL) hasTimestamp; -- (BOOL)hasQuote; +- (BOOL) hasQuote; @property (readonly, strong) NSString* body; @property (readonly, strong) NSArray * attachments; @property (readonly, strong) OWSSignalServiceProtosGroupContext* group; @@ -835,7 +837,7 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro @property (readonly) UInt32 expireTimer; @property (readonly, strong) NSData* profileKey; @property (readonly) UInt64 timestamp; -@property (readonly, strong) OWSSignalServiceProtosDataMessageQuote *quote; +@property (readonly, strong) OWSSignalServiceProtosDataMessageQuote* quote; - (OWSSignalServiceProtosAttachmentPointer*)attachmentsAtIndex:(NSUInteger)index; + (instancetype) defaultInstance; @@ -860,85 +862,151 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro #define Quote_author @"author" #define Quote_text @"text" #define Quote_attachments @"attachments" -@interface OWSSignalServiceProtosDataMessageQuote : PBGeneratedMessage { +@interface OWSSignalServiceProtosDataMessageQuote : PBGeneratedMessage { @private - BOOL hasId_ : 1; - BOOL hasAuthor_ : 1; - BOOL hasText_ : 1; - UInt64 id; - NSString *author; - NSString *text; - NSMutableArray *attachmentsArray; + BOOL hasId_:1; + BOOL hasAuthor_:1; + BOOL hasText_:1; + UInt64 id; + NSString* author; + NSString* text; + NSMutableArray * attachmentsArray; } -- (BOOL)hasId; -- (BOOL)hasAuthor; -- (BOOL)hasText; +- (BOOL) hasId; +- (BOOL) hasAuthor; +- (BOOL) hasText; @property (readonly) UInt64 id; -@property (readonly, strong) NSString *author; -@property (readonly, strong) NSString *text; -@property (readonly, strong) NSArray *attachments; -- (OWSSignalServiceProtosAttachmentPointer *)attachmentsAtIndex:(NSUInteger)index; - -+ (instancetype)defaultInstance; -- (instancetype)defaultInstance; - -- (BOOL)isInitialized; -- (void)writeToCodedOutputStream:(PBCodedOutputStream *)output; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)builder; -+ (OWSSignalServiceProtosDataMessageQuoteBuilder *)builder; -+ (OWSSignalServiceProtosDataMessageQuoteBuilder *)builderWithPrototype: - (OWSSignalServiceProtosDataMessageQuote *)prototype; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)toBuilder; - -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromData:(NSData *)data; -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromData:(NSData *)data - extensionRegistry:(PBExtensionRegistry *)extensionRegistry; -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromInputStream:(NSInputStream *)input; -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromInputStream:(NSInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry; -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromCodedInputStream:(PBCodedInputStream *)input; -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromCodedInputStream:(PBCodedInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry; +@property (readonly, strong) NSString* author; +@property (readonly, strong) NSString* text; +@property (readonly, strong) NSArray * attachments; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)attachmentsAtIndex:(NSUInteger)index; + ++ (instancetype) defaultInstance; +- (instancetype) defaultInstance; + +- (BOOL) isInitialized; +- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) builder; ++ (OWSSignalServiceProtosDataMessageQuoteBuilder*) builder; ++ (OWSSignalServiceProtosDataMessageQuoteBuilder*) builderWithPrototype:(OWSSignalServiceProtosDataMessageQuote*) prototype; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) toBuilder; + ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromData:(NSData*) data; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromInputStream:(NSInputStream*) input; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromCodedInputStream:(PBCodedInputStream*) input; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; @end -@interface OWSSignalServiceProtosDataMessageQuoteBuilder : PBGeneratedMessageBuilder { +#define QuotedAttachment_contentType @"contentType" +#define QuotedAttachment_fileName @"fileName" +#define QuotedAttachment_thumbnail @"thumbnail" +@interface OWSSignalServiceProtosDataMessageQuoteQuotedAttachment : PBGeneratedMessage { @private - OWSSignalServiceProtosDataMessageQuote *resultQuote; + BOOL hasContentType_:1; + BOOL hasFileName_:1; + BOOL hasThumbnail_:1; + NSString* contentType; + NSString* fileName; + OWSSignalServiceProtosAttachmentPointer* thumbnail; } +- (BOOL) hasContentType; +- (BOOL) hasFileName; +- (BOOL) hasThumbnail; +@property (readonly, strong) NSString* contentType; +@property (readonly, strong) NSString* fileName; +@property (readonly, strong) OWSSignalServiceProtosAttachmentPointer* thumbnail; -- (OWSSignalServiceProtosDataMessageQuote *)defaultInstance; ++ (instancetype) defaultInstance; +- (instancetype) defaultInstance; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clear; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clone; +- (BOOL) isInitialized; +- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builder; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builder; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builderWithPrototype:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) prototype; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) toBuilder; + ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromData:(NSData*) data; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromInputStream:(NSInputStream*) input; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromCodedInputStream:(PBCodedInputStream*) input; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; +@end + +@interface OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder : PBGeneratedMessageBuilder { +@private + OWSSignalServiceProtosDataMessageQuoteQuotedAttachment* resultQuotedAttachment; +} + +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) defaultInstance; -- (OWSSignalServiceProtosDataMessageQuote *)build; -- (OWSSignalServiceProtosDataMessageQuote *)buildPartial; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clear; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clone; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFrom:(OWSSignalServiceProtosDataMessageQuote *)other; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFromCodedInputStream:(PBCodedInputStream *)input; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFromCodedInputStream:(PBCodedInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) build; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) buildPartial; -- (BOOL)hasId; -- (UInt64)id; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setId:(UInt64)value; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearId; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFrom:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) other; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -- (BOOL)hasAuthor; -- (NSString *)author; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAuthor:(NSString *)value; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearAuthor; +- (BOOL) hasContentType; +- (NSString*) contentType; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setContentType:(NSString*) value; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearContentType; -- (BOOL)hasText; -- (NSString *)text; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setText:(NSString *)value; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearText; +- (BOOL) hasFileName; +- (NSString*) fileName; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setFileName:(NSString*) value; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearFileName; -- (NSMutableArray *)attachments; -- (OWSSignalServiceProtosAttachmentPointer *)attachmentsAtIndex:(NSUInteger)index; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosAttachmentPointer *)value; -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray: - (NSArray *)array; +- (BOOL) hasThumbnail; +- (OWSSignalServiceProtosAttachmentPointer*) thumbnail; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setThumbnail:(OWSSignalServiceProtosAttachmentPointer*) value; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setThumbnailBuilder:(OWSSignalServiceProtosAttachmentPointerBuilder*) builderForValue; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeThumbnail:(OWSSignalServiceProtosAttachmentPointer*) value; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearThumbnail; +@end + +@interface OWSSignalServiceProtosDataMessageQuoteBuilder : PBGeneratedMessageBuilder { +@private + OWSSignalServiceProtosDataMessageQuote* resultQuote; +} + +- (OWSSignalServiceProtosDataMessageQuote*) defaultInstance; + +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clear; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clone; + +- (OWSSignalServiceProtosDataMessageQuote*) build; +- (OWSSignalServiceProtosDataMessageQuote*) buildPartial; + +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFrom:(OWSSignalServiceProtosDataMessageQuote*) other; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; + +- (BOOL) hasId; +- (UInt64) id; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setId:(UInt64) value; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearId; + +- (BOOL) hasAuthor; +- (NSString*) author; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setAuthor:(NSString*) value; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearAuthor; + +- (BOOL) hasText; +- (NSString*) text; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setText:(NSString*) value; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearText; + +- (NSMutableArray *)attachments; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)attachmentsAtIndex:(NSUInteger)index; +- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)value; +- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray:(NSArray *)array; - (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearAttachments; @end @@ -997,13 +1065,12 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro - (OWSSignalServiceProtosDataMessageBuilder*) setTimestamp:(UInt64) value; - (OWSSignalServiceProtosDataMessageBuilder*) clearTimestamp; -- (BOOL)hasQuote; -- (OWSSignalServiceProtosDataMessageQuote *)quote; -- (OWSSignalServiceProtosDataMessageBuilder *)setQuote:(OWSSignalServiceProtosDataMessageQuote *)value; -- (OWSSignalServiceProtosDataMessageBuilder *)setQuoteBuilder: - (OWSSignalServiceProtosDataMessageQuoteBuilder *)builderForValue; -- (OWSSignalServiceProtosDataMessageBuilder *)mergeQuote:(OWSSignalServiceProtosDataMessageQuote *)value; -- (OWSSignalServiceProtosDataMessageBuilder *)clearQuote; +- (BOOL) hasQuote; +- (OWSSignalServiceProtosDataMessageQuote*) quote; +- (OWSSignalServiceProtosDataMessageBuilder*) setQuote:(OWSSignalServiceProtosDataMessageQuote*) value; +- (OWSSignalServiceProtosDataMessageBuilder*) setQuoteBuilder:(OWSSignalServiceProtosDataMessageQuoteBuilder*) builderForValue; +- (OWSSignalServiceProtosDataMessageBuilder*) mergeQuote:(OWSSignalServiceProtosDataMessageQuote*) value; +- (OWSSignalServiceProtosDataMessageBuilder*) clearQuote; @end #define NullMessage_padding @"padding" diff --git a/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.m b/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.m index 5c62fa6d3..7d9fe07d7 100644 --- a/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.m +++ b/SignalServiceKit/src/Messages/OWSSignalServiceProtos.pb.m @@ -2922,7 +2922,7 @@ static OWSSignalServiceProtosCallMessageHangup* defaultOWSSignalServiceProtosCal @property UInt32 expireTimer; @property (strong) NSData* profileKey; @property UInt64 timestamp; -@property (strong) OWSSignalServiceProtosDataMessageQuote *quote; +@property (strong) OWSSignalServiceProtosDataMessageQuote* quote; @end @implementation OWSSignalServiceProtosDataMessage @@ -2971,13 +2971,11 @@ static OWSSignalServiceProtosCallMessageHangup* defaultOWSSignalServiceProtosCal hasTimestamp_ = !!_value_; } @synthesize timestamp; -- (BOOL)hasQuote -{ - return !!hasQuote_; +- (BOOL) hasQuote { + return !!hasQuote_; } -- (void)setHasQuote:(BOOL)_value_ -{ - hasQuote_ = !!_value_; +- (void) setHasQuote:(BOOL) _value_ { + hasQuote_ = !!_value_; } @synthesize quote; - (instancetype) init { @@ -3036,7 +3034,7 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa [output writeUInt64:7 value:self.timestamp]; } if (self.hasQuote) { - [output writeMessage:8 value:self.quote]; + [output writeMessage:8 value:self.quote]; } [self.unknownFields writeToCodedOutputStream:output]; } @@ -3069,7 +3067,7 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa size_ += computeUInt64Size(7, self.timestamp); } if (self.hasQuote) { - size_ += computeMessageSize(8, self.quote); + size_ += computeMessageSize(8, self.quote); } size_ += self.unknownFields.serializedSize; memoizedSerializedSize = size_; @@ -3134,9 +3132,10 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa [output appendFormat:@"%@%@: %@\n", indent, @"timestamp", [NSNumber numberWithLongLong:self.timestamp]]; } if (self.hasQuote) { - [output appendFormat:@"%@%@ {\n", indent, @"quote"]; - [self.quote writeDescriptionTo:output withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; + [output appendFormat:@"%@%@ {\n", indent, @"quote"]; + [self.quote writeDescriptionTo:output + withIndent:[NSString stringWithFormat:@"%@ ", indent]]; + [output appendFormat:@"%@}\n", indent]; } [self.unknownFields writeDescriptionTo:output withIndent:indent]; } @@ -3167,9 +3166,9 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa [dictionary setObject: [NSNumber numberWithLongLong:self.timestamp] forKey: @"timestamp"]; } if (self.hasQuote) { - NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; - [self.quote storeInDictionary:messageDictionary]; - [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"quote"]; + NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; + [self.quote storeInDictionary:messageDictionary]; + [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"quote"]; } [self.unknownFields storeInDictionary:dictionary]; } @@ -3181,18 +3180,23 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa return NO; } OWSSignalServiceProtosDataMessage *otherMessage = other; - return self.hasBody == otherMessage.hasBody && (!self.hasBody || [self.body isEqual:otherMessage.body]) && - [self.attachmentsArray isEqualToArray:otherMessage.attachmentsArray] && self.hasGroup == otherMessage.hasGroup - && (!self.hasGroup || [self.group isEqual:otherMessage.group]) && self.hasFlags == otherMessage.hasFlags - && (!self.hasFlags || self.flags == otherMessage.flags) && self.hasExpireTimer == otherMessage.hasExpireTimer - && (!self.hasExpireTimer || self.expireTimer == otherMessage.expireTimer) - && self.hasProfileKey == otherMessage.hasProfileKey - && (!self.hasProfileKey || [self.profileKey isEqual:otherMessage.profileKey]) - && self.hasTimestamp == otherMessage.hasTimestamp - && (!self.hasTimestamp || self.timestamp == otherMessage.timestamp) && self.hasQuote == otherMessage.hasQuote - && (!self.hasQuote || [self.quote isEqual:otherMessage.quote]) - && (self.unknownFields == otherMessage.unknownFields - || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); + return + self.hasBody == otherMessage.hasBody && + (!self.hasBody || [self.body isEqual:otherMessage.body]) && + [self.attachmentsArray isEqualToArray:otherMessage.attachmentsArray] && + self.hasGroup == otherMessage.hasGroup && + (!self.hasGroup || [self.group isEqual:otherMessage.group]) && + self.hasFlags == otherMessage.hasFlags && + (!self.hasFlags || self.flags == otherMessage.flags) && + self.hasExpireTimer == otherMessage.hasExpireTimer && + (!self.hasExpireTimer || self.expireTimer == otherMessage.expireTimer) && + self.hasProfileKey == otherMessage.hasProfileKey && + (!self.hasProfileKey || [self.profileKey isEqual:otherMessage.profileKey]) && + self.hasTimestamp == otherMessage.hasTimestamp && + (!self.hasTimestamp || self.timestamp == otherMessage.timestamp) && + self.hasQuote == otherMessage.hasQuote && + (!self.hasQuote || [self.quote isEqual:otherMessage.quote]) && + (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); } - (NSUInteger) hash { __block NSUInteger hashCode = 7; @@ -3218,7 +3222,7 @@ static OWSSignalServiceProtosDataMessage* defaultOWSSignalServiceProtosDataMessa hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.timestamp] hash]; } if (self.hasQuote) { - hashCode = hashCode * 31 + [self.quote hash]; + hashCode = hashCode * 31 + [self.quote hash]; } hashCode = hashCode * 31 + [self.unknownFields hash]; return hashCode; @@ -3250,444 +3254,697 @@ NSString *NSStringFromOWSSignalServiceProtosDataMessageFlags(OWSSignalServicePro @interface OWSSignalServiceProtosDataMessageQuote () @property UInt64 id; -@property (strong) NSString *author; -@property (strong) NSString *text; -@property (strong) NSMutableArray *attachmentsArray; +@property (strong) NSString* author; +@property (strong) NSString* text; +@property (strong) NSMutableArray * attachmentsArray; @end @implementation OWSSignalServiceProtosDataMessageQuote -- (BOOL)hasId -{ - return !!hasId_; +- (BOOL) hasId { + return !!hasId_; } -- (void)setHasId:(BOOL)_value_ -{ - hasId_ = !!_value_; +- (void) setHasId:(BOOL) _value_ { + hasId_ = !!_value_; } @synthesize id; -- (BOOL)hasAuthor -{ - return !!hasAuthor_; +- (BOOL) hasAuthor { + return !!hasAuthor_; } -- (void)setHasAuthor:(BOOL)_value_ -{ - hasAuthor_ = !!_value_; +- (void) setHasAuthor:(BOOL) _value_ { + hasAuthor_ = !!_value_; } @synthesize author; -- (BOOL)hasText -{ - return !!hasText_; +- (BOOL) hasText { + return !!hasText_; } -- (void)setHasText:(BOOL)_value_ -{ - hasText_ = !!_value_; +- (void) setHasText:(BOOL) _value_ { + hasText_ = !!_value_; } @synthesize text; @synthesize attachmentsArray; @dynamic attachments; -- (instancetype)init -{ - if ((self = [super init])) { - self.id = 0L; - self.author = @""; - self.text = @""; - } - return self; +- (instancetype) init { + if ((self = [super init])) { + self.id = 0L; + self.author = @""; + self.text = @""; + } + return self; } -static OWSSignalServiceProtosDataMessageQuote *defaultOWSSignalServiceProtosDataMessageQuoteInstance = nil; -+ (void)initialize -{ - if (self == [OWSSignalServiceProtosDataMessageQuote class]) { - defaultOWSSignalServiceProtosDataMessageQuoteInstance = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; - } +static OWSSignalServiceProtosDataMessageQuote* defaultOWSSignalServiceProtosDataMessageQuoteInstance = nil; ++ (void) initialize { + if (self == [OWSSignalServiceProtosDataMessageQuote class]) { + defaultOWSSignalServiceProtosDataMessageQuoteInstance = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; + } +} ++ (instancetype) defaultInstance { + return defaultOWSSignalServiceProtosDataMessageQuoteInstance; +} +- (instancetype) defaultInstance { + return defaultOWSSignalServiceProtosDataMessageQuoteInstance; +} +- (NSArray *)attachments { + return attachmentsArray; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)attachmentsAtIndex:(NSUInteger)index { + return [attachmentsArray objectAtIndex:index]; +} +- (BOOL) isInitialized { + return YES; +} +- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { + if (self.hasId) { + [output writeUInt64:1 value:self.id]; + } + if (self.hasAuthor) { + [output writeString:2 value:self.author]; + } + if (self.hasText) { + [output writeString:3 value:self.text]; + } + [self.attachmentsArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *element, NSUInteger idx, BOOL *stop) { + [output writeMessage:4 value:element]; + }]; + [self.unknownFields writeToCodedOutputStream:output]; +} +- (SInt32) serializedSize { + __block SInt32 size_ = memoizedSerializedSize; + if (size_ != -1) { + return size_; + } + + size_ = 0; + if (self.hasId) { + size_ += computeUInt64Size(1, self.id); + } + if (self.hasAuthor) { + size_ += computeStringSize(2, self.author); + } + if (self.hasText) { + size_ += computeStringSize(3, self.text); + } + [self.attachmentsArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *element, NSUInteger idx, BOOL *stop) { + size_ += computeMessageSize(4, element); + }]; + size_ += self.unknownFields.serializedSize; + memoizedSerializedSize = size_; + return size_; +} ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromData:(NSData*) data { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromData:data] build]; +} ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; } -+ (instancetype)defaultInstance -{ - return defaultOWSSignalServiceProtosDataMessageQuoteInstance; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromInputStream:(NSInputStream*) input { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromInputStream:input] build]; } -- (instancetype)defaultInstance -{ - return defaultOWSSignalServiceProtosDataMessageQuoteInstance; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; } -- (NSArray *)attachments -{ - return attachmentsArray; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromCodedInputStream:(PBCodedInputStream*) input { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromCodedInputStream:input] build]; } -- (OWSSignalServiceProtosAttachmentPointer *)attachmentsAtIndex:(NSUInteger)index -{ - return [attachmentsArray objectAtIndex:index]; ++ (OWSSignalServiceProtosDataMessageQuote*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuote*)[[[OWSSignalServiceProtosDataMessageQuote builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteBuilder*) builder { + return [[OWSSignalServiceProtosDataMessageQuoteBuilder alloc] init]; +} ++ (OWSSignalServiceProtosDataMessageQuoteBuilder*) builderWithPrototype:(OWSSignalServiceProtosDataMessageQuote*) prototype { + return [[OWSSignalServiceProtosDataMessageQuote builder] mergeFrom:prototype]; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) builder { + return [OWSSignalServiceProtosDataMessageQuote builder]; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) toBuilder { + return [OWSSignalServiceProtosDataMessageQuote builderWithPrototype:self]; +} +- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { + if (self.hasId) { + [output appendFormat:@"%@%@: %@\n", indent, @"id", [NSNumber numberWithLongLong:self.id]]; + } + if (self.hasAuthor) { + [output appendFormat:@"%@%@: %@\n", indent, @"author", self.author]; + } + if (self.hasText) { + [output appendFormat:@"%@%@: %@\n", indent, @"text", self.text]; + } + [self.attachmentsArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *element, NSUInteger idx, BOOL *stop) { + [output appendFormat:@"%@%@ {\n", indent, @"attachments"]; + [element writeDescriptionTo:output + withIndent:[NSString stringWithFormat:@"%@ ", indent]]; + [output appendFormat:@"%@}\n", indent]; + }]; + [self.unknownFields writeDescriptionTo:output withIndent:indent]; +} +- (void) storeInDictionary:(NSMutableDictionary *)dictionary { + if (self.hasId) { + [dictionary setObject: [NSNumber numberWithLongLong:self.id] forKey: @"id"]; + } + if (self.hasAuthor) { + [dictionary setObject: self.author forKey: @"author"]; + } + if (self.hasText) { + [dictionary setObject: self.text forKey: @"text"]; + } + for (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment* element in self.attachmentsArray) { + NSMutableDictionary *elementDictionary = [NSMutableDictionary dictionary]; + [element storeInDictionary:elementDictionary]; + [dictionary setObject:[NSDictionary dictionaryWithDictionary:elementDictionary] forKey:@"attachments"]; + } + [self.unknownFields storeInDictionary:dictionary]; } -- (BOOL)isInitialized -{ +- (BOOL) isEqual:(id)other { + if (other == self) { return YES; + } + if (![other isKindOfClass:[OWSSignalServiceProtosDataMessageQuote class]]) { + return NO; + } + OWSSignalServiceProtosDataMessageQuote *otherMessage = other; + return + self.hasId == otherMessage.hasId && + (!self.hasId || self.id == otherMessage.id) && + self.hasAuthor == otherMessage.hasAuthor && + (!self.hasAuthor || [self.author isEqual:otherMessage.author]) && + self.hasText == otherMessage.hasText && + (!self.hasText || [self.text isEqual:otherMessage.text]) && + [self.attachmentsArray isEqualToArray:otherMessage.attachmentsArray] && + (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); } -- (void)writeToCodedOutputStream:(PBCodedOutputStream *)output -{ - if (self.hasId) { - [output writeUInt64:1 value:self.id]; - } - if (self.hasAuthor) { - [output writeString:2 value:self.author]; - } - if (self.hasText) { - [output writeString:3 value:self.text]; - } - [self.attachmentsArray - enumerateObjectsUsingBlock:^(OWSSignalServiceProtosAttachmentPointer *element, NSUInteger idx, BOOL *stop) { - [output writeMessage:4 value:element]; - }]; - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32)serializedSize -{ - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } +- (NSUInteger) hash { + __block NSUInteger hashCode = 7; + if (self.hasId) { + hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.id] hash]; + } + if (self.hasAuthor) { + hashCode = hashCode * 31 + [self.author hash]; + } + if (self.hasText) { + hashCode = hashCode * 31 + [self.text hash]; + } + [self.attachmentsArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *element, NSUInteger idx, BOOL *stop) { + hashCode = hashCode * 31 + [element hash]; + }]; + hashCode = hashCode * 31 + [self.unknownFields hash]; + return hashCode; +} +@end - size_ = 0; - if (self.hasId) { - size_ += computeUInt64Size(1, self.id); - } - if (self.hasAuthor) { - size_ += computeStringSize(2, self.author); - } - if (self.hasText) { - size_ += computeStringSize(3, self.text); - } - [self.attachmentsArray - enumerateObjectsUsingBlock:^(OWSSignalServiceProtosAttachmentPointer *element, NSUInteger idx, BOOL *stop) { - size_ += computeMessageSize(4, element); - }]; - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; +@interface OWSSignalServiceProtosDataMessageQuoteQuotedAttachment () +@property (strong) NSString* contentType; +@property (strong) NSString* fileName; +@property (strong) OWSSignalServiceProtosAttachmentPointer* thumbnail; +@end + +@implementation OWSSignalServiceProtosDataMessageQuoteQuotedAttachment + +- (BOOL) hasContentType { + return !!hasContentType_; +} +- (void) setHasContentType:(BOOL) _value_ { + hasContentType_ = !!_value_; +} +@synthesize contentType; +- (BOOL) hasFileName { + return !!hasFileName_; +} +- (void) setHasFileName:(BOOL) _value_ { + hasFileName_ = !!_value_; +} +@synthesize fileName; +- (BOOL) hasThumbnail { + return !!hasThumbnail_; +} +- (void) setHasThumbnail:(BOOL) _value_ { + hasThumbnail_ = !!_value_; +} +@synthesize thumbnail; +- (instancetype) init { + if ((self = [super init])) { + self.contentType = @""; + self.fileName = @""; + self.thumbnail = [OWSSignalServiceProtosAttachmentPointer defaultInstance]; + } + return self; +} +static OWSSignalServiceProtosDataMessageQuoteQuotedAttachment* defaultOWSSignalServiceProtosDataMessageQuoteQuotedAttachmentInstance = nil; ++ (void) initialize { + if (self == [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment class]) { + defaultOWSSignalServiceProtosDataMessageQuoteQuotedAttachmentInstance = [[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment alloc] init]; + } +} ++ (instancetype) defaultInstance { + return defaultOWSSignalServiceProtosDataMessageQuoteQuotedAttachmentInstance; +} +- (instancetype) defaultInstance { + return defaultOWSSignalServiceProtosDataMessageQuoteQuotedAttachmentInstance; +} +- (BOOL) isInitialized { + return YES; +} +- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { + if (self.hasContentType) { + [output writeString:1 value:self.contentType]; + } + if (self.hasFileName) { + [output writeString:2 value:self.fileName]; + } + if (self.hasThumbnail) { + [output writeMessage:3 value:self.thumbnail]; + } + [self.unknownFields writeToCodedOutputStream:output]; +} +- (SInt32) serializedSize { + __block SInt32 size_ = memoizedSerializedSize; + if (size_ != -1) { return size_; + } + + size_ = 0; + if (self.hasContentType) { + size_ += computeStringSize(1, self.contentType); + } + if (self.hasFileName) { + size_ += computeStringSize(2, self.fileName); + } + if (self.hasThumbnail) { + size_ += computeMessageSize(3, self.thumbnail); + } + size_ += self.unknownFields.serializedSize; + memoizedSerializedSize = size_; + return size_; } -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromData:(NSData *)data -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromData:data] build]; -} -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromData:(NSData *)data - extensionRegistry:(PBExtensionRegistry *)extensionRegistry -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromData:data extensionRegistry:extensionRegistry] - build]; -} -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromInputStream:(NSInputStream *)input -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromInputStream:input] build]; -} -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromInputStream:(NSInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromInputStream:input - extensionRegistry:extensionRegistry] build]; -} -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromCodedInputStream:(PBCodedInputStream *)input -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromCodedInputStream:input] build]; -} -+ (OWSSignalServiceProtosDataMessageQuote *)parseFromCodedInputStream:(PBCodedInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry -{ - return (OWSSignalServiceProtosDataMessageQuote *)[ - [[OWSSignalServiceProtosDataMessageQuote builder] mergeFromCodedInputStream:input - extensionRegistry:extensionRegistry] build]; -} -+ (OWSSignalServiceProtosDataMessageQuoteBuilder *)builder -{ - return [[OWSSignalServiceProtosDataMessageQuoteBuilder alloc] init]; -} -+ (OWSSignalServiceProtosDataMessageQuoteBuilder *)builderWithPrototype: - (OWSSignalServiceProtosDataMessageQuote *)prototype -{ - return [[OWSSignalServiceProtosDataMessageQuote builder] mergeFrom:prototype]; -} -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)builder -{ - return [OWSSignalServiceProtosDataMessageQuote builder]; -} -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)toBuilder -{ - return [OWSSignalServiceProtosDataMessageQuote builderWithPrototype:self]; -} -- (void)writeDescriptionTo:(NSMutableString *)output withIndent:(NSString *)indent -{ - if (self.hasId) { - [output appendFormat:@"%@%@: %@\n", indent, @"id", [NSNumber numberWithLongLong:self.id]]; - } - if (self.hasAuthor) { - [output appendFormat:@"%@%@: %@\n", indent, @"author", self.author]; - } - if (self.hasText) { - [output appendFormat:@"%@%@: %@\n", indent, @"text", self.text]; - } - [self.attachmentsArray - enumerateObjectsUsingBlock:^(OWSSignalServiceProtosAttachmentPointer *element, NSUInteger idx, BOOL *stop) { - [output appendFormat:@"%@%@ {\n", indent, @"attachments"]; - [element writeDescriptionTo:output withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - }]; - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (void)storeInDictionary:(NSMutableDictionary *)dictionary -{ - if (self.hasId) { - [dictionary setObject:[NSNumber numberWithLongLong:self.id] forKey:@"id"]; - } - if (self.hasAuthor) { - [dictionary setObject:self.author forKey:@"author"]; - } - if (self.hasText) { - [dictionary setObject:self.text forKey:@"text"]; - } - for (OWSSignalServiceProtosAttachmentPointer *element in self.attachmentsArray) { - NSMutableDictionary *elementDictionary = [NSMutableDictionary dictionary]; - [element storeInDictionary:elementDictionary]; - [dictionary setObject:[NSDictionary dictionaryWithDictionary:elementDictionary] forKey:@"attachments"]; - } - [self.unknownFields storeInDictionary:dictionary]; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromData:(NSData*) data { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromData:data] build]; } -- (BOOL)isEqual:(id)other -{ - if (other == self) { - return YES; - } - if (![other isKindOfClass:[OWSSignalServiceProtosDataMessageQuote class]]) { - return NO; - } - OWSSignalServiceProtosDataMessageQuote *otherMessage = other; - return self.hasId == otherMessage.hasId && (!self.hasId || self.id == otherMessage.id) - && self.hasAuthor == otherMessage.hasAuthor && (!self.hasAuthor || [self.author isEqual:otherMessage.author]) - && self.hasText == otherMessage.hasText && (!self.hasText || [self.text isEqual:otherMessage.text]) && - [self.attachmentsArray isEqualToArray:otherMessage.attachmentsArray] - && (self.unknownFields == otherMessage.unknownFields - || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger)hash -{ - __block NSUInteger hashCode = 7; - if (self.hasId) { - hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.id] hash]; - } - if (self.hasAuthor) { - hashCode = hashCode * 31 + [self.author hash]; - } - if (self.hasText) { - hashCode = hashCode * 31 + [self.text hash]; - } - [self.attachmentsArray - enumerateObjectsUsingBlock:^(OWSSignalServiceProtosAttachmentPointer *element, NSUInteger idx, BOOL *stop) { - hashCode = hashCode * 31 + [element hash]; - }]; - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromInputStream:(NSInputStream*) input { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromInputStream:input] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromCodedInputStream:(PBCodedInputStream*) input { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromCodedInputStream:input] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)[[[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builder { + return [[OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder alloc] init]; +} ++ (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builderWithPrototype:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) prototype { + return [[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder] mergeFrom:prototype]; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) builder { + return [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder]; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) toBuilder { + return [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builderWithPrototype:self]; +} +- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { + if (self.hasContentType) { + [output appendFormat:@"%@%@: %@\n", indent, @"contentType", self.contentType]; + } + if (self.hasFileName) { + [output appendFormat:@"%@%@: %@\n", indent, @"fileName", self.fileName]; + } + if (self.hasThumbnail) { + [output appendFormat:@"%@%@ {\n", indent, @"thumbnail"]; + [self.thumbnail writeDescriptionTo:output + withIndent:[NSString stringWithFormat:@"%@ ", indent]]; + [output appendFormat:@"%@}\n", indent]; + } + [self.unknownFields writeDescriptionTo:output withIndent:indent]; +} +- (void) storeInDictionary:(NSMutableDictionary *)dictionary { + if (self.hasContentType) { + [dictionary setObject: self.contentType forKey: @"contentType"]; + } + if (self.hasFileName) { + [dictionary setObject: self.fileName forKey: @"fileName"]; + } + if (self.hasThumbnail) { + NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; + [self.thumbnail storeInDictionary:messageDictionary]; + [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"thumbnail"]; + } + [self.unknownFields storeInDictionary:dictionary]; +} +- (BOOL) isEqual:(id)other { + if (other == self) { + return YES; + } + if (![other isKindOfClass:[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment class]]) { + return NO; + } + OWSSignalServiceProtosDataMessageQuoteQuotedAttachment *otherMessage = other; + return + self.hasContentType == otherMessage.hasContentType && + (!self.hasContentType || [self.contentType isEqual:otherMessage.contentType]) && + self.hasFileName == otherMessage.hasFileName && + (!self.hasFileName || [self.fileName isEqual:otherMessage.fileName]) && + self.hasThumbnail == otherMessage.hasThumbnail && + (!self.hasThumbnail || [self.thumbnail isEqual:otherMessage.thumbnail]) && + (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); +} +- (NSUInteger) hash { + __block NSUInteger hashCode = 7; + if (self.hasContentType) { + hashCode = hashCode * 31 + [self.contentType hash]; + } + if (self.hasFileName) { + hashCode = hashCode * 31 + [self.fileName hash]; + } + if (self.hasThumbnail) { + hashCode = hashCode * 31 + [self.thumbnail hash]; + } + hashCode = hashCode * 31 + [self.unknownFields hash]; + return hashCode; } @end -@interface OWSSignalServiceProtosDataMessageQuoteBuilder () -@property (strong) OWSSignalServiceProtosDataMessageQuote *resultQuote; +@interface OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder() +@property (strong) OWSSignalServiceProtosDataMessageQuoteQuotedAttachment* resultQuotedAttachment; @end -@implementation OWSSignalServiceProtosDataMessageQuoteBuilder -@synthesize resultQuote; -- (instancetype)init -{ - if ((self = [super init])) { - self.resultQuote = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; - } - return self; +@implementation OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder +@synthesize resultQuotedAttachment; +- (instancetype) init { + if ((self = [super init])) { + self.resultQuotedAttachment = [[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment alloc] init]; + } + return self; } -- (PBGeneratedMessage *)internalGetResult -{ - return resultQuote; +- (PBGeneratedMessage*) internalGetResult { + return resultQuotedAttachment; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clear -{ - self.resultQuote = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; - return self; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clear { + self.resultQuotedAttachment = [[OWSSignalServiceProtosDataMessageQuoteQuotedAttachment alloc] init]; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clone { + return [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builderWithPrototype:resultQuotedAttachment]; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clone -{ - return [OWSSignalServiceProtosDataMessageQuote builderWithPrototype:resultQuote]; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) defaultInstance { + return [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment defaultInstance]; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) build { + [self checkInitialized]; + return [self buildPartial]; } -- (OWSSignalServiceProtosDataMessageQuote *)defaultInstance -{ - return [OWSSignalServiceProtosDataMessageQuote defaultInstance]; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) buildPartial { + OWSSignalServiceProtosDataMessageQuoteQuotedAttachment* returnMe = resultQuotedAttachment; + self.resultQuotedAttachment = nil; + return returnMe; } -- (OWSSignalServiceProtosDataMessageQuote *)build -{ - [self checkInitialized]; - return [self buildPartial]; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFrom:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*) other { + if (other == [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment defaultInstance]) { + return self; + } + if (other.hasContentType) { + [self setContentType:other.contentType]; + } + if (other.hasFileName) { + [self setFileName:other.fileName]; + } + if (other.hasThumbnail) { + [self mergeThumbnail:other.thumbnail]; + } + [self mergeUnknownFields:other.unknownFields]; + return self; } -- (OWSSignalServiceProtosDataMessageQuote *)buildPartial -{ - OWSSignalServiceProtosDataMessageQuote *returnMe = resultQuote; - self.resultQuote = nil; - return returnMe; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { + return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFrom:(OWSSignalServiceProtosDataMessageQuote *)other -{ - if (other == [OWSSignalServiceProtosDataMessageQuote defaultInstance]) { +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields]; + while (YES) { + SInt32 tag = [input readTag]; + switch (tag) { + case 0: + [self setUnknownFields:[unknownFields build]]; return self; - } - if (other.hasId) { - [self setId:other.id]; - } - if (other.hasAuthor) { - [self setAuthor:other.author]; - } - if (other.hasText) { - [self setText:other.text]; - } - if (other.attachmentsArray.count > 0) { - if (resultQuote.attachmentsArray == nil) { - resultQuote.attachmentsArray = [[NSMutableArray alloc] initWithArray:other.attachmentsArray]; - } else { - [resultQuote.attachmentsArray addObjectsFromArray:other.attachmentsArray]; + default: { + if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) { + [self setUnknownFields:[unknownFields build]]; + return self; + } + break; + } + case 10: { + [self setContentType:[input readString]]; + break; + } + case 18: { + [self setFileName:[input readString]]; + break; + } + case 26: { + OWSSignalServiceProtosAttachmentPointerBuilder* subBuilder = [OWSSignalServiceProtosAttachmentPointer builder]; + if (self.hasThumbnail) { + [subBuilder mergeFrom:self.thumbnail]; } + [input readMessage:subBuilder extensionRegistry:extensionRegistry]; + [self setThumbnail:[subBuilder buildPartial]]; + break; + } } - [self mergeUnknownFields:other.unknownFields]; + } +} +- (BOOL) hasContentType { + return resultQuotedAttachment.hasContentType; +} +- (NSString*) contentType { + return resultQuotedAttachment.contentType; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setContentType:(NSString*) value { + resultQuotedAttachment.hasContentType = YES; + resultQuotedAttachment.contentType = value; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearContentType { + resultQuotedAttachment.hasContentType = NO; + resultQuotedAttachment.contentType = @""; + return self; +} +- (BOOL) hasFileName { + return resultQuotedAttachment.hasFileName; +} +- (NSString*) fileName { + return resultQuotedAttachment.fileName; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setFileName:(NSString*) value { + resultQuotedAttachment.hasFileName = YES; + resultQuotedAttachment.fileName = value; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearFileName { + resultQuotedAttachment.hasFileName = NO; + resultQuotedAttachment.fileName = @""; + return self; +} +- (BOOL) hasThumbnail { + return resultQuotedAttachment.hasThumbnail; +} +- (OWSSignalServiceProtosAttachmentPointer*) thumbnail { + return resultQuotedAttachment.thumbnail; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setThumbnail:(OWSSignalServiceProtosAttachmentPointer*) value { + resultQuotedAttachment.hasThumbnail = YES; + resultQuotedAttachment.thumbnail = value; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) setThumbnailBuilder:(OWSSignalServiceProtosAttachmentPointerBuilder*) builderForValue { + return [self setThumbnail:[builderForValue build]]; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) mergeThumbnail:(OWSSignalServiceProtosAttachmentPointer*) value { + if (resultQuotedAttachment.hasThumbnail && + resultQuotedAttachment.thumbnail != [OWSSignalServiceProtosAttachmentPointer defaultInstance]) { + resultQuotedAttachment.thumbnail = + [[[OWSSignalServiceProtosAttachmentPointer builderWithPrototype:resultQuotedAttachment.thumbnail] mergeFrom:value] buildPartial]; + } else { + resultQuotedAttachment.thumbnail = value; + } + resultQuotedAttachment.hasThumbnail = YES; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder*) clearThumbnail { + resultQuotedAttachment.hasThumbnail = NO; + resultQuotedAttachment.thumbnail = [OWSSignalServiceProtosAttachmentPointer defaultInstance]; + return self; +} +@end + +@interface OWSSignalServiceProtosDataMessageQuoteBuilder() +@property (strong) OWSSignalServiceProtosDataMessageQuote* resultQuote; +@end + +@implementation OWSSignalServiceProtosDataMessageQuoteBuilder +@synthesize resultQuote; +- (instancetype) init { + if ((self = [super init])) { + self.resultQuote = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; + } + return self; +} +- (PBGeneratedMessage*) internalGetResult { + return resultQuote; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clear { + self.resultQuote = [[OWSSignalServiceProtosDataMessageQuote alloc] init]; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clone { + return [OWSSignalServiceProtosDataMessageQuote builderWithPrototype:resultQuote]; +} +- (OWSSignalServiceProtosDataMessageQuote*) defaultInstance { + return [OWSSignalServiceProtosDataMessageQuote defaultInstance]; +} +- (OWSSignalServiceProtosDataMessageQuote*) build { + [self checkInitialized]; + return [self buildPartial]; +} +- (OWSSignalServiceProtosDataMessageQuote*) buildPartial { + OWSSignalServiceProtosDataMessageQuote* returnMe = resultQuote; + self.resultQuote = nil; + return returnMe; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFrom:(OWSSignalServiceProtosDataMessageQuote*) other { + if (other == [OWSSignalServiceProtosDataMessageQuote defaultInstance]) { return self; + } + if (other.hasId) { + [self setId:other.id]; + } + if (other.hasAuthor) { + [self setAuthor:other.author]; + } + if (other.hasText) { + [self setText:other.text]; + } + if (other.attachmentsArray.count > 0) { + if (resultQuote.attachmentsArray == nil) { + resultQuote.attachmentsArray = [[NSMutableArray alloc] initWithArray:other.attachmentsArray]; + } else { + [resultQuote.attachmentsArray addObjectsFromArray:other.attachmentsArray]; + } + } + [self mergeUnknownFields:other.unknownFields]; + return self; +} +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { + return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFromCodedInputStream:(PBCodedInputStream *)input -{ - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)mergeFromCodedInputStream:(PBCodedInputStream *)input - extensionRegistry:(PBExtensionRegistry *)extensionRegistry -{ - PBUnknownFieldSetBuilder *unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields]; - while (YES) { - SInt32 tag = [input readTag]; - switch (tag) { - case 0: - [self setUnknownFields:[unknownFields build]]; - return self; - default: { - if (![self parseUnknownField:input - unknownFields:unknownFields - extensionRegistry:extensionRegistry - tag:tag]) { - [self setUnknownFields:[unknownFields build]]; - return self; - } - break; - } - case 8: { - [self setId:[input readUInt64]]; - break; - } - case 18: { - [self setAuthor:[input readString]]; - break; - } - case 26: { - [self setText:[input readString]]; - break; - } - case 34: { - OWSSignalServiceProtosAttachmentPointerBuilder *subBuilder = - [OWSSignalServiceProtosAttachmentPointer builder]; - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self addAttachments:[subBuilder buildPartial]]; - break; - } +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields]; + while (YES) { + SInt32 tag = [input readTag]; + switch (tag) { + case 0: + [self setUnknownFields:[unknownFields build]]; + return self; + default: { + if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) { + [self setUnknownFields:[unknownFields build]]; + return self; } + break; + } + case 8: { + [self setId:[input readUInt64]]; + break; + } + case 18: { + [self setAuthor:[input readString]]; + break; + } + case 26: { + [self setText:[input readString]]; + break; + } + case 34: { + OWSSignalServiceProtosDataMessageQuoteQuotedAttachmentBuilder* subBuilder = [OWSSignalServiceProtosDataMessageQuoteQuotedAttachment builder]; + [input readMessage:subBuilder extensionRegistry:extensionRegistry]; + [self addAttachments:[subBuilder buildPartial]]; + break; + } } + } } -- (BOOL)hasId -{ - return resultQuote.hasId; +- (BOOL) hasId { + return resultQuote.hasId; } -- (UInt64)id -{ - return resultQuote.id; +- (UInt64) id { + return resultQuote.id; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setId:(UInt64)value -{ - resultQuote.hasId = YES; - resultQuote.id = value; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setId:(UInt64) value { + resultQuote.hasId = YES; + resultQuote.id = value; + return self; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearId -{ - resultQuote.hasId = NO; - resultQuote.id = 0L; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearId { + resultQuote.hasId = NO; + resultQuote.id = 0L; + return self; } -- (BOOL)hasAuthor -{ - return resultQuote.hasAuthor; +- (BOOL) hasAuthor { + return resultQuote.hasAuthor; } -- (NSString *)author -{ - return resultQuote.author; +- (NSString*) author { + return resultQuote.author; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAuthor:(NSString *)value -{ - resultQuote.hasAuthor = YES; - resultQuote.author = value; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setAuthor:(NSString*) value { + resultQuote.hasAuthor = YES; + resultQuote.author = value; + return self; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearAuthor -{ - resultQuote.hasAuthor = NO; - resultQuote.author = @""; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearAuthor { + resultQuote.hasAuthor = NO; + resultQuote.author = @""; + return self; } -- (BOOL)hasText -{ - return resultQuote.hasText; +- (BOOL) hasText { + return resultQuote.hasText; } -- (NSString *)text -{ - return resultQuote.text; +- (NSString*) text { + return resultQuote.text; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setText:(NSString *)value -{ - resultQuote.hasText = YES; - resultQuote.text = value; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) setText:(NSString*) value { + resultQuote.hasText = YES; + resultQuote.text = value; + return self; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearText -{ - resultQuote.hasText = NO; - resultQuote.text = @""; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder*) clearText { + resultQuote.hasText = NO; + resultQuote.text = @""; + return self; } -- (NSMutableArray *)attachments -{ - return resultQuote.attachmentsArray; +- (NSMutableArray *)attachments { + return resultQuote.attachmentsArray; } -- (OWSSignalServiceProtosAttachmentPointer *)attachmentsAtIndex:(NSUInteger)index -{ - return [resultQuote attachmentsAtIndex:index]; +- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)attachmentsAtIndex:(NSUInteger)index { + return [resultQuote attachmentsAtIndex:index]; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosAttachmentPointer *)value -{ - if (resultQuote.attachmentsArray == nil) { - resultQuote.attachmentsArray = [[NSMutableArray alloc] init]; - } - [resultQuote.attachmentsArray addObject:value]; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)value { + if (resultQuote.attachmentsArray == nil) { + resultQuote.attachmentsArray = [[NSMutableArray alloc]init]; + } + [resultQuote.attachmentsArray addObject:value]; + return self; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray: - (NSArray *)array -{ - resultQuote.attachmentsArray = [[NSMutableArray alloc] initWithArray:array]; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray:(NSArray *)array { + resultQuote.attachmentsArray = [[NSMutableArray alloc]initWithArray:array]; + return self; } -- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearAttachments -{ - resultQuote.attachmentsArray = nil; - return self; +- (OWSSignalServiceProtosDataMessageQuoteBuilder *)clearAttachments { + resultQuote.attachmentsArray = nil; + return self; } @end @@ -3755,7 +4012,7 @@ static OWSSignalServiceProtosDataMessageQuote *defaultOWSSignalServiceProtosData [self setTimestamp:other.timestamp]; } if (other.hasQuote) { - [self mergeQuote:other.quote]; + [self mergeQuote:other.quote]; } [self mergeUnknownFields:other.unknownFields]; return self; @@ -3814,13 +4071,13 @@ static OWSSignalServiceProtosDataMessageQuote *defaultOWSSignalServiceProtosData break; } case 66: { - OWSSignalServiceProtosDataMessageQuoteBuilder *subBuilder = [OWSSignalServiceProtosDataMessageQuote builder]; - if (self.hasQuote) { - [subBuilder mergeFrom:self.quote]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setQuote:[subBuilder buildPartial]]; - break; + OWSSignalServiceProtosDataMessageQuoteBuilder* subBuilder = [OWSSignalServiceProtosDataMessageQuote builder]; + if (self.hasQuote) { + [subBuilder mergeFrom:self.quote]; + } + [input readMessage:subBuilder extensionRegistry:extensionRegistry]; + [self setQuote:[subBuilder buildPartial]]; + break; } } } @@ -3956,43 +4213,35 @@ static OWSSignalServiceProtosDataMessageQuote *defaultOWSSignalServiceProtosData resultDataMessage.timestamp = 0L; return self; } -- (BOOL)hasQuote -{ - return resultDataMessage.hasQuote; +- (BOOL) hasQuote { + return resultDataMessage.hasQuote; } -- (OWSSignalServiceProtosDataMessageQuote *)quote -{ - return resultDataMessage.quote; +- (OWSSignalServiceProtosDataMessageQuote*) quote { + return resultDataMessage.quote; } -- (OWSSignalServiceProtosDataMessageBuilder *)setQuote:(OWSSignalServiceProtosDataMessageQuote *)value -{ - resultDataMessage.hasQuote = YES; - resultDataMessage.quote = value; - return self; +- (OWSSignalServiceProtosDataMessageBuilder*) setQuote:(OWSSignalServiceProtosDataMessageQuote*) value { + resultDataMessage.hasQuote = YES; + resultDataMessage.quote = value; + return self; } -- (OWSSignalServiceProtosDataMessageBuilder *)setQuoteBuilder: - (OWSSignalServiceProtosDataMessageQuoteBuilder *)builderForValue -{ - return [self setQuote:[builderForValue build]]; -} -- (OWSSignalServiceProtosDataMessageBuilder *)mergeQuote:(OWSSignalServiceProtosDataMessageQuote *)value -{ - if (resultDataMessage.hasQuote - && resultDataMessage.quote != [OWSSignalServiceProtosDataMessageQuote defaultInstance]) { - resultDataMessage.quote = - [[[OWSSignalServiceProtosDataMessageQuote builderWithPrototype:resultDataMessage.quote] mergeFrom:value] - buildPartial]; - } else { - resultDataMessage.quote = value; - } - resultDataMessage.hasQuote = YES; - return self; +- (OWSSignalServiceProtosDataMessageBuilder*) setQuoteBuilder:(OWSSignalServiceProtosDataMessageQuoteBuilder*) builderForValue { + return [self setQuote:[builderForValue build]]; } -- (OWSSignalServiceProtosDataMessageBuilder *)clearQuote -{ - resultDataMessage.hasQuote = NO; - resultDataMessage.quote = [OWSSignalServiceProtosDataMessageQuote defaultInstance]; - return self; +- (OWSSignalServiceProtosDataMessageBuilder*) mergeQuote:(OWSSignalServiceProtosDataMessageQuote*) value { + if (resultDataMessage.hasQuote && + resultDataMessage.quote != [OWSSignalServiceProtosDataMessageQuote defaultInstance]) { + resultDataMessage.quote = + [[[OWSSignalServiceProtosDataMessageQuote builderWithPrototype:resultDataMessage.quote] mergeFrom:value] buildPartial]; + } else { + resultDataMessage.quote = value; + } + resultDataMessage.hasQuote = YES; + return self; +} +- (OWSSignalServiceProtosDataMessageBuilder*) clearQuote { + resultDataMessage.hasQuote = NO; + resultDataMessage.quote = [OWSSignalServiceProtosDataMessageQuote defaultInstance]; + return self; } @end