Migrate to provisioning proto wrappers.

This commit is contained in:
Matthew Chen 2018-08-06 09:58:08 -04:00
parent 50db472be5
commit eaf59b122d
4 changed files with 18 additions and 1029 deletions

View file

@ -8,8 +8,6 @@ bool:WebSocketResources.pb.m
bool:WhisperTextProtocol.pb.m
bool:OWSWebRTCDataProtos.pb.m
bool:OWSSignaliOSProtos.pb.m
bool:OWSProvisioningProtos.pb.m
bool:OWSFingerprintProtos.pb.m
# YapDatabase
bool:YapDatabaseAutoViewTransaction.m

View file

@ -1,13 +1,13 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSProvisioningMessage.h"
#import "OWSProvisioningCipher.h"
#import "OWSProvisioningProtos.pb.h"
#import <Curve25519Kit/Curve25519.h>
#import <AxolotlKit/NSData+keyVersionByte.h>
#import <Curve25519Kit/Curve25519.h>
#import <HKDFKit/HKDFKit.h>
#import <SignalServiceKit/SignalServiceKit-Swift.h>
NS_ASSUME_NONNULL_BEGIN
@ -51,7 +51,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable NSData *)buildEncryptedMessageBody
{
OWSProvisioningProtosProvisionMessageBuilder *messageBuilder = [OWSProvisioningProtosProvisionMessageBuilder new];
ProvisioningProtoProvisionMessageBuilder *messageBuilder = [ProvisioningProtoProvisionMessageBuilder new];
messageBuilder.identityKeyPublic = self.myPublicKey;
messageBuilder.identityKeyPrivate = self.myPrivateKey;
messageBuilder.number = self.accountIdentifier;
@ -60,7 +60,12 @@ NS_ASSUME_NONNULL_BEGIN
messageBuilder.readReceipts = self.areReadReceiptsEnabled;
messageBuilder.profileKey = self.profileKey;
NSData *plainTextProvisionMessage = [[messageBuilder build] data];
NSError *error;
NSData *_Nullable plainTextProvisionMessage = [messageBuilder buildSerializedDataAndReturnError:&error];
if (!plainTextProvisionMessage || error) {
OWSFail(@"%@ could not serialize proto: %@.", self.logTag, error);
return nil;
}
OWSProvisioningCipher *cipher = [[OWSProvisioningCipher alloc] initWithTheirPublicKey:self.theirPublicKey];
NSData *_Nullable encryptedProvisionMessage = [cipher encrypt:plainTextProvisionMessage];
@ -69,12 +74,18 @@ NS_ASSUME_NONNULL_BEGIN
return nil;
}
OWSProvisioningProtosProvisionEnvelopeBuilder *envelopeBuilder = [OWSProvisioningProtosProvisionEnvelopeBuilder new];
ProvisioningProtoProvisionEnvelopeBuilder *envelopeBuilder = [ProvisioningProtoProvisionEnvelopeBuilder new];
// Note that this is a one-time-use *cipher* public key, not our Signal *identity* public key
envelopeBuilder.publicKey = [cipher.ourPublicKey prependKeyType];
envelopeBuilder.body = encryptedProvisionMessage;
return [[envelopeBuilder build] data];
NSData *_Nullable envelopeData = [envelopeBuilder buildSerializedDataAndReturnError:&error];
if (!envelopeData || error) {
OWSFail(@"%@ could not serialize proto: %@.", self.logTag, error);
return nil;
}
return envelopeData;
}
@end

View file

@ -1,235 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
#import <ProtocolBuffers/ProtocolBuffers.h>
// @@protoc_insertion_point(imports)
@class OWSProvisioningProtosProvisionEnvelope;
@class OWSProvisioningProtosProvisionEnvelopeBuilder;
@class OWSProvisioningProtosProvisionMessage;
@class OWSProvisioningProtosProvisionMessageBuilder;
@class ObjectiveCFileOptions;
@class ObjectiveCFileOptionsBuilder;
@class PBDescriptorProto;
@class PBDescriptorProtoBuilder;
@class PBDescriptorProtoExtensionRange;
@class PBDescriptorProtoExtensionRangeBuilder;
@class PBEnumDescriptorProto;
@class PBEnumDescriptorProtoBuilder;
@class PBEnumOptions;
@class PBEnumOptionsBuilder;
@class PBEnumValueDescriptorProto;
@class PBEnumValueDescriptorProtoBuilder;
@class PBEnumValueOptions;
@class PBEnumValueOptionsBuilder;
@class PBFieldDescriptorProto;
@class PBFieldDescriptorProtoBuilder;
@class PBFieldOptions;
@class PBFieldOptionsBuilder;
@class PBFileDescriptorProto;
@class PBFileDescriptorProtoBuilder;
@class PBFileDescriptorSet;
@class PBFileDescriptorSetBuilder;
@class PBFileOptions;
@class PBFileOptionsBuilder;
@class PBMessageOptions;
@class PBMessageOptionsBuilder;
@class PBMethodDescriptorProto;
@class PBMethodDescriptorProtoBuilder;
@class PBMethodOptions;
@class PBMethodOptionsBuilder;
@class PBOneofDescriptorProto;
@class PBOneofDescriptorProtoBuilder;
@class PBServiceDescriptorProto;
@class PBServiceDescriptorProtoBuilder;
@class PBServiceOptions;
@class PBServiceOptionsBuilder;
@class PBSourceCodeInfo;
@class PBSourceCodeInfoBuilder;
@class PBSourceCodeInfoLocation;
@class PBSourceCodeInfoLocationBuilder;
@class PBUninterpretedOption;
@class PBUninterpretedOptionBuilder;
@class PBUninterpretedOptionNamePart;
@class PBUninterpretedOptionNamePartBuilder;
@interface OWSProvisioningProtosOwsprovisioningProtosRoot : NSObject {
}
+ (PBExtensionRegistry*) extensionRegistry;
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry;
@end
#define ProvisionEnvelope_publicKey @"publicKey"
#define ProvisionEnvelope_body @"body"
@interface OWSProvisioningProtosProvisionEnvelope : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
BOOL hasPublicKey_:1;
BOOL hasBody_:1;
NSData* publicKey;
NSData* body;
}
- (BOOL) hasPublicKey;
- (BOOL) hasBody;
@property (readonly, strong) NSData* publicKey;
@property (readonly, strong) NSData* body;
+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;
- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder;
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder;
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionEnvelope*) prototype;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) toBuilder;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end
@interface OWSProvisioningProtosProvisionEnvelopeBuilder : PBGeneratedMessageBuilder {
@private
OWSProvisioningProtosProvisionEnvelope* resultProvisionEnvelope;
}
- (OWSProvisioningProtosProvisionEnvelope*) defaultInstance;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clear;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clone;
- (OWSProvisioningProtosProvisionEnvelope*) build;
- (OWSProvisioningProtosProvisionEnvelope*) buildPartial;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFrom:(OWSProvisioningProtosProvisionEnvelope*) other;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
- (BOOL) hasPublicKey;
- (NSData*) publicKey;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setPublicKey:(NSData*) value;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearPublicKey;
- (BOOL) hasBody;
- (NSData*) body;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setBody:(NSData*) value;
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearBody;
@end
#define ProvisionMessage_identityKeyPublic @"identityKeyPublic"
#define ProvisionMessage_identityKeyPrivate @"identityKeyPrivate"
#define ProvisionMessage_number @"number"
#define ProvisionMessage_provisioningCode @"provisioningCode"
#define ProvisionMessage_userAgent @"userAgent"
#define ProvisionMessage_profileKey @"profileKey"
#define ProvisionMessage_readReceipts @"readReceipts"
@interface OWSProvisioningProtosProvisionMessage : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
BOOL hasReadReceipts_:1;
BOOL hasNumber_:1;
BOOL hasProvisioningCode_:1;
BOOL hasUserAgent_:1;
BOOL hasIdentityKeyPublic_:1;
BOOL hasIdentityKeyPrivate_:1;
BOOL hasProfileKey_:1;
BOOL readReceipts_:1;
NSString* number;
NSString* provisioningCode;
NSString* userAgent;
NSData* identityKeyPublic;
NSData* identityKeyPrivate;
NSData* profileKey;
}
- (BOOL) hasIdentityKeyPublic;
- (BOOL) hasIdentityKeyPrivate;
- (BOOL) hasNumber;
- (BOOL) hasProvisioningCode;
- (BOOL) hasUserAgent;
- (BOOL) hasProfileKey;
- (BOOL) hasReadReceipts;
@property (readonly, strong) NSData* identityKeyPublic;
@property (readonly, strong) NSData* identityKeyPrivate;
@property (readonly, strong) NSString* number;
@property (readonly, strong) NSString* provisioningCode;
@property (readonly, strong) NSString* userAgent;
@property (readonly, strong) NSData* profileKey;
- (BOOL) readReceipts;
+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;
- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (OWSProvisioningProtosProvisionMessageBuilder*) builder;
+ (OWSProvisioningProtosProvisionMessageBuilder*) builder;
+ (OWSProvisioningProtosProvisionMessageBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionMessage*) prototype;
- (OWSProvisioningProtosProvisionMessageBuilder*) toBuilder;
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data;
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input;
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end
@interface OWSProvisioningProtosProvisionMessageBuilder : PBGeneratedMessageBuilder {
@private
OWSProvisioningProtosProvisionMessage* resultProvisionMessage;
}
- (OWSProvisioningProtosProvisionMessage*) defaultInstance;
- (OWSProvisioningProtosProvisionMessageBuilder*) clear;
- (OWSProvisioningProtosProvisionMessageBuilder*) clone;
- (OWSProvisioningProtosProvisionMessage*) build;
- (OWSProvisioningProtosProvisionMessage*) buildPartial;
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFrom:(OWSProvisioningProtosProvisionMessage*) other;
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
- (BOOL) hasIdentityKeyPublic;
- (NSData*) identityKeyPublic;
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPublic:(NSData*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPublic;
- (BOOL) hasIdentityKeyPrivate;
- (NSData*) identityKeyPrivate;
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPrivate:(NSData*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPrivate;
- (BOOL) hasNumber;
- (NSString*) number;
- (OWSProvisioningProtosProvisionMessageBuilder*) setNumber:(NSString*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearNumber;
- (BOOL) hasProvisioningCode;
- (NSString*) provisioningCode;
- (OWSProvisioningProtosProvisionMessageBuilder*) setProvisioningCode:(NSString*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProvisioningCode;
- (BOOL) hasUserAgent;
- (NSString*) userAgent;
- (OWSProvisioningProtosProvisionMessageBuilder*) setUserAgent:(NSString*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearUserAgent;
- (BOOL) hasProfileKey;
- (NSData*) profileKey;
- (OWSProvisioningProtosProvisionMessageBuilder*) setProfileKey:(NSData*) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProfileKey;
- (BOOL) hasReadReceipts;
- (BOOL) readReceipts;
- (OWSProvisioningProtosProvisionMessageBuilder*) setReadReceipts:(BOOL) value;
- (OWSProvisioningProtosProvisionMessageBuilder*) clearReadReceipts;
@end
// @@protoc_insertion_point(global_scope)

View file

@ -1,785 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
#import "OWSProvisioningProtos.pb.h"
// @@protoc_insertion_point(imports)
@implementation OWSProvisioningProtosOwsprovisioningProtosRoot
static PBExtensionRegistry* extensionRegistry = nil;
+ (PBExtensionRegistry*) extensionRegistry {
return extensionRegistry;
}
+ (void) initialize {
if (self == [OWSProvisioningProtosOwsprovisioningProtosRoot class]) {
PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry];
[self registerAllExtensions:registry];
[ObjectivecDescriptorRoot registerAllExtensions:registry];
extensionRegistry = registry;
}
}
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry {
}
@end
@interface OWSProvisioningProtosProvisionEnvelope ()
@property (strong) NSData* publicKey;
@property (strong) NSData* body;
@end
@implementation OWSProvisioningProtosProvisionEnvelope
- (BOOL) hasPublicKey {
return !!hasPublicKey_;
}
- (void) setHasPublicKey:(BOOL) _value_ {
hasPublicKey_ = !!_value_;
}
@synthesize publicKey;
- (BOOL) hasBody {
return !!hasBody_;
}
- (void) setHasBody:(BOOL) _value_ {
hasBody_ = !!_value_;
}
@synthesize body;
- (instancetype) init {
if ((self = [super init])) {
self.publicKey = [NSData data];
self.body = [NSData data];
}
return self;
}
static OWSProvisioningProtosProvisionEnvelope* defaultOWSProvisioningProtosProvisionEnvelopeInstance = nil;
+ (void) initialize {
if (self == [OWSProvisioningProtosProvisionEnvelope class]) {
defaultOWSProvisioningProtosProvisionEnvelopeInstance = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
}
}
+ (instancetype) defaultInstance {
return defaultOWSProvisioningProtosProvisionEnvelopeInstance;
}
- (instancetype) defaultInstance {
return defaultOWSProvisioningProtosProvisionEnvelopeInstance;
}
- (BOOL) isInitialized {
return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
if (self.hasPublicKey) {
[output writeData:1 value:self.publicKey];
}
if (self.hasBody) {
[output writeData:2 value:self.body];
}
[self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
__block SInt32 size_ = memoizedSerializedSize;
if (size_ != -1) {
return size_;
}
size_ = 0;
if (self.hasPublicKey) {
size_ += computeDataSize(1, self.publicKey);
}
if (self.hasBody) {
size_ += computeDataSize(2, self.body);
}
size_ += self.unknownFields.serializedSize;
memoizedSerializedSize = size_;
return size_;
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromData:data] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromCodedInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder {
return [[OWSProvisioningProtosProvisionEnvelopeBuilder alloc] init];
}
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionEnvelope*) prototype {
return [[OWSProvisioningProtosProvisionEnvelope builder] mergeFrom:prototype];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder {
return [OWSProvisioningProtosProvisionEnvelope builder];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) toBuilder {
return [OWSProvisioningProtosProvisionEnvelope builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
if (self.hasPublicKey) {
[output appendFormat:@"%@%@: %@\n", indent, @"publicKey", self.publicKey];
}
if (self.hasBody) {
[output appendFormat:@"%@%@: %@\n", indent, @"body", self.body];
}
[self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
if (self.hasPublicKey) {
[dictionary setObject: self.publicKey forKey: @"publicKey"];
}
if (self.hasBody) {
[dictionary setObject: self.body forKey: @"body"];
}
[self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
if (other == self) {
return YES;
}
if (![other isKindOfClass:[OWSProvisioningProtosProvisionEnvelope class]]) {
return NO;
}
OWSProvisioningProtosProvisionEnvelope *otherMessage = other;
return
self.hasPublicKey == otherMessage.hasPublicKey &&
(!self.hasPublicKey || [self.publicKey isEqual:otherMessage.publicKey]) &&
self.hasBody == otherMessage.hasBody &&
(!self.hasBody || [self.body isEqual:otherMessage.body]) &&
(self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
__block NSUInteger hashCode = 7;
if (self.hasPublicKey) {
hashCode = hashCode * 31 + [self.publicKey hash];
}
if (self.hasBody) {
hashCode = hashCode * 31 + [self.body hash];
}
hashCode = hashCode * 31 + [self.unknownFields hash];
return hashCode;
}
@end
@interface OWSProvisioningProtosProvisionEnvelopeBuilder()
@property (strong) OWSProvisioningProtosProvisionEnvelope* resultProvisionEnvelope;
@end
@implementation OWSProvisioningProtosProvisionEnvelopeBuilder
@synthesize resultProvisionEnvelope;
- (instancetype) init {
if ((self = [super init])) {
self.resultProvisionEnvelope = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
}
return self;
}
- (PBGeneratedMessage*) internalGetResult {
return resultProvisionEnvelope;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clear {
self.resultProvisionEnvelope = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clone {
return [OWSProvisioningProtosProvisionEnvelope builderWithPrototype:resultProvisionEnvelope];
}
- (OWSProvisioningProtosProvisionEnvelope*) defaultInstance {
return [OWSProvisioningProtosProvisionEnvelope defaultInstance];
}
- (OWSProvisioningProtosProvisionEnvelope*) build {
[self checkInitialized];
return [self buildPartial];
}
- (OWSProvisioningProtosProvisionEnvelope*) buildPartial {
OWSProvisioningProtosProvisionEnvelope* returnMe = resultProvisionEnvelope;
self.resultProvisionEnvelope = nil;
return returnMe;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFrom:(OWSProvisioningProtosProvisionEnvelope*) other {
if (other == [OWSProvisioningProtosProvisionEnvelope defaultInstance]) {
return self;
}
if (other.hasPublicKey) {
[self setPublicKey:other.publicKey];
}
if (other.hasBody) {
[self setBody:other.body];
}
[self mergeUnknownFields:other.unknownFields];
return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) 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 10: {
[self setPublicKey:[input readData]];
break;
}
case 18: {
[self setBody:[input readData]];
break;
}
}
}
}
- (BOOL) hasPublicKey {
return resultProvisionEnvelope.hasPublicKey;
}
- (NSData*) publicKey {
return resultProvisionEnvelope.publicKey;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setPublicKey:(NSData*) value {
resultProvisionEnvelope.hasPublicKey = YES;
resultProvisionEnvelope.publicKey = value;
return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearPublicKey {
resultProvisionEnvelope.hasPublicKey = NO;
resultProvisionEnvelope.publicKey = [NSData data];
return self;
}
- (BOOL) hasBody {
return resultProvisionEnvelope.hasBody;
}
- (NSData*) body {
return resultProvisionEnvelope.body;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setBody:(NSData*) value {
resultProvisionEnvelope.hasBody = YES;
resultProvisionEnvelope.body = value;
return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearBody {
resultProvisionEnvelope.hasBody = NO;
resultProvisionEnvelope.body = [NSData data];
return self;
}
@end
@interface OWSProvisioningProtosProvisionMessage ()
@property (strong) NSData* identityKeyPublic;
@property (strong) NSData* identityKeyPrivate;
@property (strong) NSString* number;
@property (strong) NSString* provisioningCode;
@property (strong) NSString* userAgent;
@property (strong) NSData* profileKey;
@property BOOL readReceipts;
@end
@implementation OWSProvisioningProtosProvisionMessage
- (BOOL) hasIdentityKeyPublic {
return !!hasIdentityKeyPublic_;
}
- (void) setHasIdentityKeyPublic:(BOOL) _value_ {
hasIdentityKeyPublic_ = !!_value_;
}
@synthesize identityKeyPublic;
- (BOOL) hasIdentityKeyPrivate {
return !!hasIdentityKeyPrivate_;
}
- (void) setHasIdentityKeyPrivate:(BOOL) _value_ {
hasIdentityKeyPrivate_ = !!_value_;
}
@synthesize identityKeyPrivate;
- (BOOL) hasNumber {
return !!hasNumber_;
}
- (void) setHasNumber:(BOOL) _value_ {
hasNumber_ = !!_value_;
}
@synthesize number;
- (BOOL) hasProvisioningCode {
return !!hasProvisioningCode_;
}
- (void) setHasProvisioningCode:(BOOL) _value_ {
hasProvisioningCode_ = !!_value_;
}
@synthesize provisioningCode;
- (BOOL) hasUserAgent {
return !!hasUserAgent_;
}
- (void) setHasUserAgent:(BOOL) _value_ {
hasUserAgent_ = !!_value_;
}
@synthesize userAgent;
- (BOOL) hasProfileKey {
return !!hasProfileKey_;
}
- (void) setHasProfileKey:(BOOL) _value_ {
hasProfileKey_ = !!_value_;
}
@synthesize profileKey;
- (BOOL) hasReadReceipts {
return !!hasReadReceipts_;
}
- (void) setHasReadReceipts:(BOOL) _value_ {
hasReadReceipts_ = !!_value_;
}
- (BOOL) readReceipts {
return !!readReceipts_;
}
- (void) setReadReceipts:(BOOL) _value_ {
readReceipts_ = !!_value_;
}
- (instancetype) init {
if ((self = [super init])) {
self.identityKeyPublic = [NSData data];
self.identityKeyPrivate = [NSData data];
self.number = @"";
self.provisioningCode = @"";
self.userAgent = @"";
self.profileKey = [NSData data];
self.readReceipts = NO;
}
return self;
}
static OWSProvisioningProtosProvisionMessage* defaultOWSProvisioningProtosProvisionMessageInstance = nil;
+ (void) initialize {
if (self == [OWSProvisioningProtosProvisionMessage class]) {
defaultOWSProvisioningProtosProvisionMessageInstance = [[OWSProvisioningProtosProvisionMessage alloc] init];
}
}
+ (instancetype) defaultInstance {
return defaultOWSProvisioningProtosProvisionMessageInstance;
}
- (instancetype) defaultInstance {
return defaultOWSProvisioningProtosProvisionMessageInstance;
}
- (BOOL) isInitialized {
return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
if (self.hasIdentityKeyPublic) {
[output writeData:1 value:self.identityKeyPublic];
}
if (self.hasIdentityKeyPrivate) {
[output writeData:2 value:self.identityKeyPrivate];
}
if (self.hasNumber) {
[output writeString:3 value:self.number];
}
if (self.hasProvisioningCode) {
[output writeString:4 value:self.provisioningCode];
}
if (self.hasUserAgent) {
[output writeString:5 value:self.userAgent];
}
if (self.hasProfileKey) {
[output writeData:6 value:self.profileKey];
}
if (self.hasReadReceipts) {
[output writeBool:7 value:self.readReceipts];
}
[self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
__block SInt32 size_ = memoizedSerializedSize;
if (size_ != -1) {
return size_;
}
size_ = 0;
if (self.hasIdentityKeyPublic) {
size_ += computeDataSize(1, self.identityKeyPublic);
}
if (self.hasIdentityKeyPrivate) {
size_ += computeDataSize(2, self.identityKeyPrivate);
}
if (self.hasNumber) {
size_ += computeStringSize(3, self.number);
}
if (self.hasProvisioningCode) {
size_ += computeStringSize(4, self.provisioningCode);
}
if (self.hasUserAgent) {
size_ += computeStringSize(5, self.userAgent);
}
if (self.hasProfileKey) {
size_ += computeDataSize(6, self.profileKey);
}
if (self.hasReadReceipts) {
size_ += computeBoolSize(7, self.readReceipts);
}
size_ += self.unknownFields.serializedSize;
memoizedSerializedSize = size_;
return size_;
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromData:data] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromCodedInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessageBuilder*) builder {
return [[OWSProvisioningProtosProvisionMessageBuilder alloc] init];
}
+ (OWSProvisioningProtosProvisionMessageBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionMessage*) prototype {
return [[OWSProvisioningProtosProvisionMessage builder] mergeFrom:prototype];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) builder {
return [OWSProvisioningProtosProvisionMessage builder];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) toBuilder {
return [OWSProvisioningProtosProvisionMessage builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
if (self.hasIdentityKeyPublic) {
[output appendFormat:@"%@%@: %@\n", indent, @"identityKeyPublic", self.identityKeyPublic];
}
if (self.hasIdentityKeyPrivate) {
[output appendFormat:@"%@%@: %@\n", indent, @"identityKeyPrivate", self.identityKeyPrivate];
}
if (self.hasNumber) {
[output appendFormat:@"%@%@: %@\n", indent, @"number", self.number];
}
if (self.hasProvisioningCode) {
[output appendFormat:@"%@%@: %@\n", indent, @"provisioningCode", self.provisioningCode];
}
if (self.hasUserAgent) {
[output appendFormat:@"%@%@: %@\n", indent, @"userAgent", self.userAgent];
}
if (self.hasProfileKey) {
[output appendFormat:@"%@%@: %@\n", indent, @"profileKey", self.profileKey];
}
if (self.hasReadReceipts) {
[output appendFormat:@"%@%@: %@\n", indent, @"readReceipts", [NSNumber numberWithBool:self.readReceipts]];
}
[self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
if (self.hasIdentityKeyPublic) {
[dictionary setObject: self.identityKeyPublic forKey: @"identityKeyPublic"];
}
if (self.hasIdentityKeyPrivate) {
[dictionary setObject: self.identityKeyPrivate forKey: @"identityKeyPrivate"];
}
if (self.hasNumber) {
[dictionary setObject: self.number forKey: @"number"];
}
if (self.hasProvisioningCode) {
[dictionary setObject: self.provisioningCode forKey: @"provisioningCode"];
}
if (self.hasUserAgent) {
[dictionary setObject: self.userAgent forKey: @"userAgent"];
}
if (self.hasProfileKey) {
[dictionary setObject: self.profileKey forKey: @"profileKey"];
}
if (self.hasReadReceipts) {
[dictionary setObject: [NSNumber numberWithBool:self.readReceipts] forKey: @"readReceipts"];
}
[self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
if (other == self) {
return YES;
}
if (![other isKindOfClass:[OWSProvisioningProtosProvisionMessage class]]) {
return NO;
}
OWSProvisioningProtosProvisionMessage *otherMessage = other;
return
self.hasIdentityKeyPublic == otherMessage.hasIdentityKeyPublic &&
(!self.hasIdentityKeyPublic || [self.identityKeyPublic isEqual:otherMessage.identityKeyPublic]) &&
self.hasIdentityKeyPrivate == otherMessage.hasIdentityKeyPrivate &&
(!self.hasIdentityKeyPrivate || [self.identityKeyPrivate isEqual:otherMessage.identityKeyPrivate]) &&
self.hasNumber == otherMessage.hasNumber &&
(!self.hasNumber || [self.number isEqual:otherMessage.number]) &&
self.hasProvisioningCode == otherMessage.hasProvisioningCode &&
(!self.hasProvisioningCode || [self.provisioningCode isEqual:otherMessage.provisioningCode]) &&
self.hasUserAgent == otherMessage.hasUserAgent &&
(!self.hasUserAgent || [self.userAgent isEqual:otherMessage.userAgent]) &&
self.hasProfileKey == otherMessage.hasProfileKey &&
(!self.hasProfileKey || [self.profileKey isEqual:otherMessage.profileKey]) &&
self.hasReadReceipts == otherMessage.hasReadReceipts &&
(!self.hasReadReceipts || self.readReceipts == otherMessage.readReceipts) &&
(self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
__block NSUInteger hashCode = 7;
if (self.hasIdentityKeyPublic) {
hashCode = hashCode * 31 + [self.identityKeyPublic hash];
}
if (self.hasIdentityKeyPrivate) {
hashCode = hashCode * 31 + [self.identityKeyPrivate hash];
}
if (self.hasNumber) {
hashCode = hashCode * 31 + [self.number hash];
}
if (self.hasProvisioningCode) {
hashCode = hashCode * 31 + [self.provisioningCode hash];
}
if (self.hasUserAgent) {
hashCode = hashCode * 31 + [self.userAgent hash];
}
if (self.hasProfileKey) {
hashCode = hashCode * 31 + [self.profileKey hash];
}
if (self.hasReadReceipts) {
hashCode = hashCode * 31 + [[NSNumber numberWithBool:self.readReceipts] hash];
}
hashCode = hashCode * 31 + [self.unknownFields hash];
return hashCode;
}
@end
@interface OWSProvisioningProtosProvisionMessageBuilder()
@property (strong) OWSProvisioningProtosProvisionMessage* resultProvisionMessage;
@end
@implementation OWSProvisioningProtosProvisionMessageBuilder
@synthesize resultProvisionMessage;
- (instancetype) init {
if ((self = [super init])) {
self.resultProvisionMessage = [[OWSProvisioningProtosProvisionMessage alloc] init];
}
return self;
}
- (PBGeneratedMessage*) internalGetResult {
return resultProvisionMessage;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clear {
self.resultProvisionMessage = [[OWSProvisioningProtosProvisionMessage alloc] init];
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clone {
return [OWSProvisioningProtosProvisionMessage builderWithPrototype:resultProvisionMessage];
}
- (OWSProvisioningProtosProvisionMessage*) defaultInstance {
return [OWSProvisioningProtosProvisionMessage defaultInstance];
}
- (OWSProvisioningProtosProvisionMessage*) build {
[self checkInitialized];
return [self buildPartial];
}
- (OWSProvisioningProtosProvisionMessage*) buildPartial {
OWSProvisioningProtosProvisionMessage* returnMe = resultProvisionMessage;
self.resultProvisionMessage = nil;
return returnMe;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFrom:(OWSProvisioningProtosProvisionMessage*) other {
if (other == [OWSProvisioningProtosProvisionMessage defaultInstance]) {
return self;
}
if (other.hasIdentityKeyPublic) {
[self setIdentityKeyPublic:other.identityKeyPublic];
}
if (other.hasIdentityKeyPrivate) {
[self setIdentityKeyPrivate:other.identityKeyPrivate];
}
if (other.hasNumber) {
[self setNumber:other.number];
}
if (other.hasProvisioningCode) {
[self setProvisioningCode:other.provisioningCode];
}
if (other.hasUserAgent) {
[self setUserAgent:other.userAgent];
}
if (other.hasProfileKey) {
[self setProfileKey:other.profileKey];
}
if (other.hasReadReceipts) {
[self setReadReceipts:other.readReceipts];
}
[self mergeUnknownFields:other.unknownFields];
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) 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 10: {
[self setIdentityKeyPublic:[input readData]];
break;
}
case 18: {
[self setIdentityKeyPrivate:[input readData]];
break;
}
case 26: {
[self setNumber:[input readString]];
break;
}
case 34: {
[self setProvisioningCode:[input readString]];
break;
}
case 42: {
[self setUserAgent:[input readString]];
break;
}
case 50: {
[self setProfileKey:[input readData]];
break;
}
case 56: {
[self setReadReceipts:[input readBool]];
break;
}
}
}
}
- (BOOL) hasIdentityKeyPublic {
return resultProvisionMessage.hasIdentityKeyPublic;
}
- (NSData*) identityKeyPublic {
return resultProvisionMessage.identityKeyPublic;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPublic:(NSData*) value {
resultProvisionMessage.hasIdentityKeyPublic = YES;
resultProvisionMessage.identityKeyPublic = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPublic {
resultProvisionMessage.hasIdentityKeyPublic = NO;
resultProvisionMessage.identityKeyPublic = [NSData data];
return self;
}
- (BOOL) hasIdentityKeyPrivate {
return resultProvisionMessage.hasIdentityKeyPrivate;
}
- (NSData*) identityKeyPrivate {
return resultProvisionMessage.identityKeyPrivate;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPrivate:(NSData*) value {
resultProvisionMessage.hasIdentityKeyPrivate = YES;
resultProvisionMessage.identityKeyPrivate = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPrivate {
resultProvisionMessage.hasIdentityKeyPrivate = NO;
resultProvisionMessage.identityKeyPrivate = [NSData data];
return self;
}
- (BOOL) hasNumber {
return resultProvisionMessage.hasNumber;
}
- (NSString*) number {
return resultProvisionMessage.number;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setNumber:(NSString*) value {
resultProvisionMessage.hasNumber = YES;
resultProvisionMessage.number = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearNumber {
resultProvisionMessage.hasNumber = NO;
resultProvisionMessage.number = @"";
return self;
}
- (BOOL) hasProvisioningCode {
return resultProvisionMessage.hasProvisioningCode;
}
- (NSString*) provisioningCode {
return resultProvisionMessage.provisioningCode;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setProvisioningCode:(NSString*) value {
resultProvisionMessage.hasProvisioningCode = YES;
resultProvisionMessage.provisioningCode = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProvisioningCode {
resultProvisionMessage.hasProvisioningCode = NO;
resultProvisionMessage.provisioningCode = @"";
return self;
}
- (BOOL) hasUserAgent {
return resultProvisionMessage.hasUserAgent;
}
- (NSString*) userAgent {
return resultProvisionMessage.userAgent;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setUserAgent:(NSString*) value {
resultProvisionMessage.hasUserAgent = YES;
resultProvisionMessage.userAgent = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearUserAgent {
resultProvisionMessage.hasUserAgent = NO;
resultProvisionMessage.userAgent = @"";
return self;
}
- (BOOL) hasProfileKey {
return resultProvisionMessage.hasProfileKey;
}
- (NSData*) profileKey {
return resultProvisionMessage.profileKey;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setProfileKey:(NSData*) value {
resultProvisionMessage.hasProfileKey = YES;
resultProvisionMessage.profileKey = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProfileKey {
resultProvisionMessage.hasProfileKey = NO;
resultProvisionMessage.profileKey = [NSData data];
return self;
}
- (BOOL) hasReadReceipts {
return resultProvisionMessage.hasReadReceipts;
}
- (BOOL) readReceipts {
return resultProvisionMessage.readReceipts;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setReadReceipts:(BOOL) value {
resultProvisionMessage.hasReadReceipts = YES;
resultProvisionMessage.readReceipts = value;
return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearReadReceipts {
resultProvisionMessage.hasReadReceipts = NO;
resultProvisionMessage.readReceipts = NO;
return self;
}
@end
// @@protoc_insertion_point(global_scope)