tentative proto changes

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 51a4298c14
commit 3334f2a063

@ -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;

@ -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]];
}
}

@ -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

@ -1096,12 +1096,12 @@ NS_ASSUME_NONNULL_BEGIN
}
NSMutableArray<OWSAttachmentInfo *> *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

@ -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<OWSSignalServiceProtosAttachmentPointer*> * 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 <GeneratedMessageProtocol> {
@interface OWSSignalServiceProtosDataMessageQuote : PBGeneratedMessage<GeneratedMessageProtocol> {
@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<OWSSignalServiceProtosAttachmentPointer *> *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<OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*> * 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<GeneratedMessageProtocol> {
@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<OWSSignalServiceProtosAttachmentPointer *> *)attachments;
- (OWSSignalServiceProtosAttachmentPointer *)attachmentsAtIndex:(NSUInteger)index;
- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosAttachmentPointer *)value;
- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray:
(NSArray<OWSSignalServiceProtosAttachmentPointer *> *)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<OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*> *)attachments;
- (OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)attachmentsAtIndex:(NSUInteger)index;
- (OWSSignalServiceProtosDataMessageQuoteBuilder *)addAttachments:(OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*)value;
- (OWSSignalServiceProtosDataMessageQuoteBuilder *)setAttachmentsArray:(NSArray<OWSSignalServiceProtosDataMessageQuoteQuotedAttachment*> *)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"

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save