Merge branch 'charlesmchen/readReceiptsProtos_'

This commit is contained in:
Matthew Chen 2017-09-19 17:31:17 -04:00
commit c7fab5b920
3 changed files with 477 additions and 4 deletions

View file

@ -31,10 +31,21 @@ message Envelope {
}
message Content {
optional DataMessage dataMessage = 1;
optional SyncMessage syncMessage = 2;
optional CallMessage callMessage = 3;
optional NullMessage nullMessage = 4;
optional DataMessage dataMessage = 1;
optional SyncMessage syncMessage = 2;
optional CallMessage callMessage = 3;
optional NullMessage nullMessage = 4;
optional ReceiptMessage receiptMessage = 5;
}
message ReceiptMessage {
enum Type {
DELIVERY = 0;
READ = 1;
}
optional Type type = 1;
repeated uint64 timestamp = 2;
}
message CallMessage {

View file

@ -36,6 +36,8 @@
@class OWSSignalServiceProtosGroupDetailsBuilder;
@class OWSSignalServiceProtosNullMessage;
@class OWSSignalServiceProtosNullMessageBuilder;
@class OWSSignalServiceProtosReceiptMessage;
@class OWSSignalServiceProtosReceiptMessageBuilder;
@class OWSSignalServiceProtosSyncMessage;
@class OWSSignalServiceProtosSyncMessageBlocked;
@class OWSSignalServiceProtosSyncMessageBlockedBuilder;
@ -109,6 +111,14 @@ typedef NS_ENUM(SInt32, OWSSignalServiceProtosEnvelopeType) {
BOOL OWSSignalServiceProtosEnvelopeTypeIsValidValue(OWSSignalServiceProtosEnvelopeType value);
NSString *NSStringFromOWSSignalServiceProtosEnvelopeType(OWSSignalServiceProtosEnvelopeType value);
typedef NS_ENUM(SInt32, OWSSignalServiceProtosReceiptMessageType) {
OWSSignalServiceProtosReceiptMessageTypeDelivery = 0,
OWSSignalServiceProtosReceiptMessageTypeRead = 1,
};
BOOL OWSSignalServiceProtosReceiptMessageTypeIsValidValue(OWSSignalServiceProtosReceiptMessageType value);
NSString *NSStringFromOWSSignalServiceProtosReceiptMessageType(OWSSignalServiceProtosReceiptMessageType value);
typedef NS_ENUM(SInt32, OWSSignalServiceProtosDataMessageFlags) {
OWSSignalServiceProtosDataMessageFlagsEndSession = 1,
OWSSignalServiceProtosDataMessageFlagsExpirationTimerUpdate = 2,
@ -276,25 +286,30 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro
#define Content_syncMessage @"syncMessage"
#define Content_callMessage @"callMessage"
#define Content_nullMessage @"nullMessage"
#define Content_receiptMessage @"receiptMessage"
@interface OWSSignalServiceProtosContent : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
BOOL hasDataMessage_:1;
BOOL hasSyncMessage_:1;
BOOL hasCallMessage_:1;
BOOL hasNullMessage_:1;
BOOL hasReceiptMessage_:1;
OWSSignalServiceProtosDataMessage* dataMessage;
OWSSignalServiceProtosSyncMessage* syncMessage;
OWSSignalServiceProtosCallMessage* callMessage;
OWSSignalServiceProtosNullMessage* nullMessage;
OWSSignalServiceProtosReceiptMessage* receiptMessage;
}
- (BOOL) hasDataMessage;
- (BOOL) hasSyncMessage;
- (BOOL) hasCallMessage;
- (BOOL) hasNullMessage;
- (BOOL) hasReceiptMessage;
@property (readonly, strong) OWSSignalServiceProtosDataMessage* dataMessage;
@property (readonly, strong) OWSSignalServiceProtosSyncMessage* syncMessage;
@property (readonly, strong) OWSSignalServiceProtosCallMessage* callMessage;
@property (readonly, strong) OWSSignalServiceProtosNullMessage* nullMessage;
@property (readonly, strong) OWSSignalServiceProtosReceiptMessage* receiptMessage;
+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;
@ -358,6 +373,74 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro
- (OWSSignalServiceProtosContentBuilder*) setNullMessageBuilder:(OWSSignalServiceProtosNullMessageBuilder*) builderForValue;
- (OWSSignalServiceProtosContentBuilder*) mergeNullMessage:(OWSSignalServiceProtosNullMessage*) value;
- (OWSSignalServiceProtosContentBuilder*) clearNullMessage;
- (BOOL) hasReceiptMessage;
- (OWSSignalServiceProtosReceiptMessage*) receiptMessage;
- (OWSSignalServiceProtosContentBuilder*) setReceiptMessage:(OWSSignalServiceProtosReceiptMessage*) value;
- (OWSSignalServiceProtosContentBuilder*) setReceiptMessageBuilder:(OWSSignalServiceProtosReceiptMessageBuilder*) builderForValue;
- (OWSSignalServiceProtosContentBuilder*) mergeReceiptMessage:(OWSSignalServiceProtosReceiptMessage*) value;
- (OWSSignalServiceProtosContentBuilder*) clearReceiptMessage;
@end
#define ReceiptMessage_type @"type"
#define ReceiptMessage_timestamp @"timestamp"
@interface OWSSignalServiceProtosReceiptMessage : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
BOOL hasType_:1;
OWSSignalServiceProtosReceiptMessageType type;
PBAppendableArray * timestampArray;
}
- (BOOL) hasType;
@property (readonly) OWSSignalServiceProtosReceiptMessageType type;
@property (readonly, strong) PBArray * timestamp;
- (UInt64)timestampAtIndex:(NSUInteger)index;
+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;
- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (OWSSignalServiceProtosReceiptMessageBuilder*) builder;
+ (OWSSignalServiceProtosReceiptMessageBuilder*) builder;
+ (OWSSignalServiceProtosReceiptMessageBuilder*) builderWithPrototype:(OWSSignalServiceProtosReceiptMessage*) prototype;
- (OWSSignalServiceProtosReceiptMessageBuilder*) toBuilder;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromData:(NSData*) data;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromInputStream:(NSInputStream*) input;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (OWSSignalServiceProtosReceiptMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end
@interface OWSSignalServiceProtosReceiptMessageBuilder : PBGeneratedMessageBuilder {
@private
OWSSignalServiceProtosReceiptMessage* resultReceiptMessage;
}
- (OWSSignalServiceProtosReceiptMessage*) defaultInstance;
- (OWSSignalServiceProtosReceiptMessageBuilder*) clear;
- (OWSSignalServiceProtosReceiptMessageBuilder*) clone;
- (OWSSignalServiceProtosReceiptMessage*) build;
- (OWSSignalServiceProtosReceiptMessage*) buildPartial;
- (OWSSignalServiceProtosReceiptMessageBuilder*) mergeFrom:(OWSSignalServiceProtosReceiptMessage*) other;
- (OWSSignalServiceProtosReceiptMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (OWSSignalServiceProtosReceiptMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
- (BOOL) hasType;
- (OWSSignalServiceProtosReceiptMessageType) type;
- (OWSSignalServiceProtosReceiptMessageBuilder*) setType:(OWSSignalServiceProtosReceiptMessageType) value;
- (OWSSignalServiceProtosReceiptMessageBuilder*) clearType;
- (PBAppendableArray *)timestamp;
- (UInt64)timestampAtIndex:(NSUInteger)index;
- (OWSSignalServiceProtosReceiptMessageBuilder *)addTimestamp:(UInt64)value;
- (OWSSignalServiceProtosReceiptMessageBuilder *)setTimestampArray:(NSArray *)array;
- (OWSSignalServiceProtosReceiptMessageBuilder *)setTimestampValues:(const UInt64 *)values count:(NSUInteger)count;
- (OWSSignalServiceProtosReceiptMessageBuilder *)clearTimestamp;
@end
#define CallMessage_offer @"offer"

View file

@ -560,6 +560,7 @@ NSString *NSStringFromOWSSignalServiceProtosEnvelopeType(OWSSignalServiceProtosE
@property (strong) OWSSignalServiceProtosSyncMessage* syncMessage;
@property (strong) OWSSignalServiceProtosCallMessage* callMessage;
@property (strong) OWSSignalServiceProtosNullMessage* nullMessage;
@property (strong) OWSSignalServiceProtosReceiptMessage* receiptMessage;
@end
@implementation OWSSignalServiceProtosContent
@ -592,12 +593,20 @@ NSString *NSStringFromOWSSignalServiceProtosEnvelopeType(OWSSignalServiceProtosE
hasNullMessage_ = !!_value_;
}
@synthesize nullMessage;
- (BOOL) hasReceiptMessage {
return !!hasReceiptMessage_;
}
- (void) setHasReceiptMessage:(BOOL) _value_ {
hasReceiptMessage_ = !!_value_;
}
@synthesize receiptMessage;
- (instancetype) init {
if ((self = [super init])) {
self.dataMessage = [OWSSignalServiceProtosDataMessage defaultInstance];
self.syncMessage = [OWSSignalServiceProtosSyncMessage defaultInstance];
self.callMessage = [OWSSignalServiceProtosCallMessage defaultInstance];
self.nullMessage = [OWSSignalServiceProtosNullMessage defaultInstance];
self.receiptMessage = [OWSSignalServiceProtosReceiptMessage defaultInstance];
}
return self;
}
@ -629,6 +638,9 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
if (self.hasNullMessage) {
[output writeMessage:4 value:self.nullMessage];
}
if (self.hasReceiptMessage) {
[output writeMessage:5 value:self.receiptMessage];
}
[self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
@ -650,6 +662,9 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
if (self.hasNullMessage) {
size_ += computeMessageSize(4, self.nullMessage);
}
if (self.hasReceiptMessage) {
size_ += computeMessageSize(5, self.receiptMessage);
}
size_ += self.unknownFields.serializedSize;
memoizedSerializedSize = size_;
return size_;
@ -709,6 +724,12 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
withIndent:[NSString stringWithFormat:@"%@ ", indent]];
[output appendFormat:@"%@}\n", indent];
}
if (self.hasReceiptMessage) {
[output appendFormat:@"%@%@ {\n", indent, @"receiptMessage"];
[self.receiptMessage writeDescriptionTo:output
withIndent:[NSString stringWithFormat:@"%@ ", indent]];
[output appendFormat:@"%@}\n", indent];
}
[self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
@ -732,6 +753,11 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
[self.nullMessage storeInDictionary:messageDictionary];
[dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"nullMessage"];
}
if (self.hasReceiptMessage) {
NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary];
[self.receiptMessage storeInDictionary:messageDictionary];
[dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"receiptMessage"];
}
[self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
@ -751,6 +777,8 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
(!self.hasCallMessage || [self.callMessage isEqual:otherMessage.callMessage]) &&
self.hasNullMessage == otherMessage.hasNullMessage &&
(!self.hasNullMessage || [self.nullMessage isEqual:otherMessage.nullMessage]) &&
self.hasReceiptMessage == otherMessage.hasReceiptMessage &&
(!self.hasReceiptMessage || [self.receiptMessage isEqual:otherMessage.receiptMessage]) &&
(self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
@ -767,6 +795,9 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
if (self.hasNullMessage) {
hashCode = hashCode * 31 + [self.nullMessage hash];
}
if (self.hasReceiptMessage) {
hashCode = hashCode * 31 + [self.receiptMessage hash];
}
hashCode = hashCode * 31 + [self.unknownFields hash];
return hashCode;
}
@ -822,6 +853,9 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
if (other.hasNullMessage) {
[self mergeNullMessage:other.nullMessage];
}
if (other.hasReceiptMessage) {
[self mergeReceiptMessage:other.receiptMessage];
}
[self mergeUnknownFields:other.unknownFields];
return self;
}
@ -879,6 +913,15 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
[self setNullMessage:[subBuilder buildPartial]];
break;
}
case 42: {
OWSSignalServiceProtosReceiptMessageBuilder* subBuilder = [OWSSignalServiceProtosReceiptMessage builder];
if (self.hasReceiptMessage) {
[subBuilder mergeFrom:self.receiptMessage];
}
[input readMessage:subBuilder extensionRegistry:extensionRegistry];
[self setReceiptMessage:[subBuilder buildPartial]];
break;
}
}
}
}
@ -1002,6 +1045,342 @@ static OWSSignalServiceProtosContent* defaultOWSSignalServiceProtosContentInstan
resultContent.nullMessage = [OWSSignalServiceProtosNullMessage defaultInstance];
return self;
}
- (BOOL) hasReceiptMessage {
return resultContent.hasReceiptMessage;
}
- (OWSSignalServiceProtosReceiptMessage*) receiptMessage {
return resultContent.receiptMessage;
}
- (OWSSignalServiceProtosContentBuilder*) setReceiptMessage:(OWSSignalServiceProtosReceiptMessage*) value {
resultContent.hasReceiptMessage = YES;
resultContent.receiptMessage = value;
return self;
}
- (OWSSignalServiceProtosContentBuilder*) setReceiptMessageBuilder:(OWSSignalServiceProtosReceiptMessageBuilder*) builderForValue {
return [self setReceiptMessage:[builderForValue build]];
}
- (OWSSignalServiceProtosContentBuilder*) mergeReceiptMessage:(OWSSignalServiceProtosReceiptMessage*) value {
if (resultContent.hasReceiptMessage &&
resultContent.receiptMessage != [OWSSignalServiceProtosReceiptMessage defaultInstance]) {
resultContent.receiptMessage =
[[[OWSSignalServiceProtosReceiptMessage builderWithPrototype:resultContent.receiptMessage] mergeFrom:value] buildPartial];
} else {
resultContent.receiptMessage = value;
}
resultContent.hasReceiptMessage = YES;
return self;
}
- (OWSSignalServiceProtosContentBuilder*) clearReceiptMessage {
resultContent.hasReceiptMessage = NO;
resultContent.receiptMessage = [OWSSignalServiceProtosReceiptMessage defaultInstance];
return self;
}
@end
@interface OWSSignalServiceProtosReceiptMessage ()
@property OWSSignalServiceProtosReceiptMessageType type;
@property (strong) PBAppendableArray * timestampArray;
@end
@implementation OWSSignalServiceProtosReceiptMessage
- (BOOL) hasType {
return !!hasType_;
}
- (void) setHasType:(BOOL) _value_ {
hasType_ = !!_value_;
}
@synthesize type;
@synthesize timestampArray;
@dynamic timestamp;
- (instancetype) init {
if ((self = [super init])) {
self.type = OWSSignalServiceProtosReceiptMessageTypeDelivery;
}
return self;
}
static OWSSignalServiceProtosReceiptMessage* defaultOWSSignalServiceProtosReceiptMessageInstance = nil;
+ (void) initialize {
if (self == [OWSSignalServiceProtosReceiptMessage class]) {
defaultOWSSignalServiceProtosReceiptMessageInstance = [[OWSSignalServiceProtosReceiptMessage alloc] init];
}
}
+ (instancetype) defaultInstance {
return defaultOWSSignalServiceProtosReceiptMessageInstance;
}
- (instancetype) defaultInstance {
return defaultOWSSignalServiceProtosReceiptMessageInstance;
}
- (PBArray *)timestamp {
return timestampArray;
}
- (UInt64)timestampAtIndex:(NSUInteger)index {
return [timestampArray uint64AtIndex:index];
}
- (BOOL) isInitialized {
return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
if (self.hasType) {
[output writeEnum:1 value:self.type];
}
const NSUInteger timestampArrayCount = self.timestampArray.count;
if (timestampArrayCount > 0) {
const UInt64 *values = (const UInt64 *)self.timestampArray.data;
for (NSUInteger i = 0; i < timestampArrayCount; ++i) {
[output writeUInt64:2 value:values[i]];
}
}
[self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
__block SInt32 size_ = memoizedSerializedSize;
if (size_ != -1) {
return size_;
}
size_ = 0;
if (self.hasType) {
size_ += computeEnumSize(1, self.type);
}
{
__block SInt32 dataSize = 0;
const NSUInteger count = self.timestampArray.count;
const UInt64 *values = (const UInt64 *)self.timestampArray.data;
for (NSUInteger i = 0; i < count; ++i) {
dataSize += computeUInt64SizeNoTag(values[i]);
}
size_ += dataSize;
size_ += (SInt32)(1 * count);
}
size_ += self.unknownFields.serializedSize;
memoizedSerializedSize = size_;
return size_;
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromData:(NSData*) data {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromData:data] build];
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromInputStream:(NSInputStream*) input {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromInputStream:input] build];
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromCodedInputStream:input] build];
}
+ (OWSSignalServiceProtosReceiptMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSSignalServiceProtosReceiptMessage*)[[[OWSSignalServiceProtosReceiptMessage builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSSignalServiceProtosReceiptMessageBuilder*) builder {
return [[OWSSignalServiceProtosReceiptMessageBuilder alloc] init];
}
+ (OWSSignalServiceProtosReceiptMessageBuilder*) builderWithPrototype:(OWSSignalServiceProtosReceiptMessage*) prototype {
return [[OWSSignalServiceProtosReceiptMessage builder] mergeFrom:prototype];
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) builder {
return [OWSSignalServiceProtosReceiptMessage builder];
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) toBuilder {
return [OWSSignalServiceProtosReceiptMessage builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
if (self.hasType) {
[output appendFormat:@"%@%@: %@\n", indent, @"type", NSStringFromOWSSignalServiceProtosReceiptMessageType(self.type)];
}
[self.timestampArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[output appendFormat:@"%@%@: %@\n", indent, @"timestamp", obj];
}];
[self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
if (self.hasType) {
[dictionary setObject: @(self.type) forKey: @"type"];
}
NSMutableArray * timestampArrayArray = [NSMutableArray new];
NSUInteger timestampArrayCount=self.timestampArray.count;
for(int i=0;i<timestampArrayCount;i++){
[timestampArrayArray addObject: @([self.timestampArray uint64AtIndex:i])];
}
[dictionary setObject: timestampArrayArray forKey: @"timestamp"];
[self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
if (other == self) {
return YES;
}
if (![other isKindOfClass:[OWSSignalServiceProtosReceiptMessage class]]) {
return NO;
}
OWSSignalServiceProtosReceiptMessage *otherMessage = other;
return
self.hasType == otherMessage.hasType &&
(!self.hasType || self.type == otherMessage.type) &&
[self.timestampArray isEqualToArray:otherMessage.timestampArray] &&
(self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
__block NSUInteger hashCode = 7;
if (self.hasType) {
hashCode = hashCode * 31 + self.type;
}
[self.timestampArray enumerateObjectsUsingBlock:^(NSNumber *obj, NSUInteger idx, BOOL *stop) {
hashCode = hashCode * 31 + [obj longValue];
}];
hashCode = hashCode * 31 + [self.unknownFields hash];
return hashCode;
}
@end
BOOL OWSSignalServiceProtosReceiptMessageTypeIsValidValue(OWSSignalServiceProtosReceiptMessageType value) {
switch (value) {
case OWSSignalServiceProtosReceiptMessageTypeDelivery:
case OWSSignalServiceProtosReceiptMessageTypeRead:
return YES;
default:
return NO;
}
}
NSString *NSStringFromOWSSignalServiceProtosReceiptMessageType(OWSSignalServiceProtosReceiptMessageType value) {
switch (value) {
case OWSSignalServiceProtosReceiptMessageTypeDelivery:
return @"OWSSignalServiceProtosReceiptMessageTypeDelivery";
case OWSSignalServiceProtosReceiptMessageTypeRead:
return @"OWSSignalServiceProtosReceiptMessageTypeRead";
default:
return nil;
}
}
@interface OWSSignalServiceProtosReceiptMessageBuilder()
@property (strong) OWSSignalServiceProtosReceiptMessage* resultReceiptMessage;
@end
@implementation OWSSignalServiceProtosReceiptMessageBuilder
@synthesize resultReceiptMessage;
- (instancetype) init {
if ((self = [super init])) {
self.resultReceiptMessage = [[OWSSignalServiceProtosReceiptMessage alloc] init];
}
return self;
}
- (PBGeneratedMessage*) internalGetResult {
return resultReceiptMessage;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) clear {
self.resultReceiptMessage = [[OWSSignalServiceProtosReceiptMessage alloc] init];
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) clone {
return [OWSSignalServiceProtosReceiptMessage builderWithPrototype:resultReceiptMessage];
}
- (OWSSignalServiceProtosReceiptMessage*) defaultInstance {
return [OWSSignalServiceProtosReceiptMessage defaultInstance];
}
- (OWSSignalServiceProtosReceiptMessage*) build {
[self checkInitialized];
return [self buildPartial];
}
- (OWSSignalServiceProtosReceiptMessage*) buildPartial {
OWSSignalServiceProtosReceiptMessage* returnMe = resultReceiptMessage;
self.resultReceiptMessage = nil;
return returnMe;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) mergeFrom:(OWSSignalServiceProtosReceiptMessage*) other {
if (other == [OWSSignalServiceProtosReceiptMessage defaultInstance]) {
return self;
}
if (other.hasType) {
[self setType:other.type];
}
if (other.timestampArray.count > 0) {
if (resultReceiptMessage.timestampArray == nil) {
resultReceiptMessage.timestampArray = [other.timestampArray copy];
} else {
[resultReceiptMessage.timestampArray appendArray:other.timestampArray];
}
}
[self mergeUnknownFields:other.unknownFields];
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) 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: {
OWSSignalServiceProtosReceiptMessageType value = (OWSSignalServiceProtosReceiptMessageType)[input readEnum];
if (OWSSignalServiceProtosReceiptMessageTypeIsValidValue(value)) {
[self setType:value];
} else {
[unknownFields mergeVarintField:1 value:value];
}
break;
}
case 16: {
[self addTimestamp:[input readUInt64]];
break;
}
}
}
}
- (BOOL) hasType {
return resultReceiptMessage.hasType;
}
- (OWSSignalServiceProtosReceiptMessageType) type {
return resultReceiptMessage.type;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) setType:(OWSSignalServiceProtosReceiptMessageType) value {
resultReceiptMessage.hasType = YES;
resultReceiptMessage.type = value;
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder*) clearType {
resultReceiptMessage.hasType = NO;
resultReceiptMessage.type = OWSSignalServiceProtosReceiptMessageTypeDelivery;
return self;
}
- (PBAppendableArray *)timestamp {
return resultReceiptMessage.timestampArray;
}
- (UInt64)timestampAtIndex:(NSUInteger)index {
return [resultReceiptMessage timestampAtIndex:index];
}
- (OWSSignalServiceProtosReceiptMessageBuilder *)addTimestamp:(UInt64)value {
if (resultReceiptMessage.timestampArray == nil) {
resultReceiptMessage.timestampArray = [PBAppendableArray arrayWithValueType:PBArrayValueTypeUInt64];
}
[resultReceiptMessage.timestampArray addUint64:value];
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder *)setTimestampArray:(NSArray *)array {
resultReceiptMessage.timestampArray = [PBAppendableArray arrayWithArray:array valueType:PBArrayValueTypeUInt64];
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder *)setTimestampValues:(const UInt64 *)values count:(NSUInteger)count {
resultReceiptMessage.timestampArray = [PBAppendableArray arrayWithValues:values count:count valueType:PBArrayValueTypeUInt64];
return self;
}
- (OWSSignalServiceProtosReceiptMessageBuilder *)clearTimestamp {
resultReceiptMessage.timestampArray = nil;
return self;
}
@end
@interface OWSSignalServiceProtosCallMessage ()