Code generate Swift wrappers for protocol buffers.

pull/1/head
Matthew Chen 7 years ago
parent ff8565dbd5
commit 950cab7eb9

@ -58,12 +58,30 @@ NS_ASSUME_NONNULL_BEGIN
{ {
OWSAssert(recipient); OWSAssert(recipient);
SSKProtoReceiptMessage *_Nullable receiptMessage = [self buildReceiptMessage:recipient.recipientId];
if (!receiptMessage) {
OWSFail(@"%@ could not build protobuf.", self.logTag);
return nil;
}
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new];
[contentBuilder setReceiptMessage:[self buildReceiptMessage:recipient.recipientId]]; [contentBuilder setReceiptMessage:receiptMessage];
return [[contentBuilder build] data];
NSError *error;
SSKProtoContent *_Nullable contentProto = [contentBuilder buildAndReturnError:&error];
if (error || !contentProto) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
NSData *_Nullable contentData = [contentProto serializedDataAndReturnError:&error];
if (error || !contentData) {
OWSFail(@"%@ could not serialize protobuf: %@", self.logTag, error);
return nil;
}
return contentData;
} }
- (SSKProtoReceiptMessage *)buildReceiptMessage:(NSString *)recipientId - (nullable SSKProtoReceiptMessage *)buildReceiptMessage:(NSString *)recipientId
{ {
SSKProtoReceiptMessageBuilder *builder = [SSKProtoReceiptMessageBuilder new]; SSKProtoReceiptMessageBuilder *builder = [SSKProtoReceiptMessageBuilder new];
@ -73,7 +91,13 @@ NS_ASSUME_NONNULL_BEGIN
[builder addTimestamp:[messageTimestamp unsignedLongLongValue]]; [builder addTimestamp:[messageTimestamp unsignedLongLongValue]];
} }
return [builder build]; NSError *error;
SSKProtoReceiptMessage *_Nullable receiptMessage = [builder buildAndReturnError:&error];
if (error || !receiptMessage) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
return receiptMessage;
} }
#pragma mark - TSYapDatabaseObject overrides #pragma mark - TSYapDatabaseObject overrides

@ -61,7 +61,7 @@ NS_ASSUME_NONNULL_BEGIN
SSKProtoDataMessage *_Nullable dataMessage = [self.message buildDataMessage:self.sentRecipientId]; SSKProtoDataMessage *_Nullable dataMessage = [self.message buildDataMessage:self.sentRecipientId];
if (!dataMessage) { if (!dataMessage) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error); OWSFail(@"%@ could not build protobuf.", self.logTag);
return nil; return nil;
} }
[sentBuilder setMessage:dataMessage]; [sentBuilder setMessage:dataMessage];

@ -917,7 +917,15 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
[TSAttachmentStream buildProtoForAttachmentId:attachment.thumbnailAttachmentStreamId]; [TSAttachmentStream buildProtoForAttachmentId:attachment.thumbnailAttachmentStreamId];
} }
[quoteBuilder addAttachments:[quotedAttachmentBuilder build]]; NSError *error;
SSKProtoDataMessageQuoteQuotedAttachment *_Nullable quotedAttachmentMessage =
[quotedAttachmentBuilder buildAndReturnError:&error];
if (!quotedAttachmentMessage) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
[quoteBuilder addAttachments:quotedAttachmentMessage];
} }
} }
@ -948,7 +956,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
- (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient - (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient
{ {
NSError *error; NSError *error;
SSKProtoDataMessage *_Nullable dataMessage = [self buildDataMessage:self.recipientId]; SSKProtoDataMessage *_Nullable dataMessage = [self buildDataMessage:recipient.recipientId];
if (!dataMessage) { if (!dataMessage) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error); OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil; return nil;
@ -959,12 +967,12 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
SSKProtoContent *_Nullable contentProto = [contentBuilder buildAndReturnError:&error]; SSKProtoContent *_Nullable contentProto = [contentBuilder buildAndReturnError:&error];
if (error || !contentProto) { if (error || !contentProto) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error); OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return; return nil;
} }
NSData *_Nullable contentData = [contentProto serializedDataAndReturnError:&error]; NSData *_Nullable contentData = [contentProto serializedDataAndReturnError:&error];
if (error || !contentData) { if (error || !contentData) {
OWSFail(@"%@ could not serialize protobuf: %@", self.logTag, error); OWSFail(@"%@ could not serialize protobuf: %@", self.logTag, error);
return; return nil;
} }
return contentData; return contentData;
} }

@ -47,7 +47,6 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient - (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient
{ {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new];
SSKProtoNullMessageBuilder *nullMessageBuilder = [SSKProtoNullMessageBuilder new]; SSKProtoNullMessageBuilder *nullMessageBuilder = [SSKProtoNullMessageBuilder new];
NSUInteger contentLength = self.verificationStateSyncMessage.unpaddedVerifiedLength; NSUInteger contentLength = self.verificationStateSyncMessage.unpaddedVerifiedLength;
@ -64,10 +63,28 @@ NS_ASSUME_NONNULL_BEGIN
OWSAssert(contentLength > 0); OWSAssert(contentLength > 0);
nullMessageBuilder.padding = [Cryptography generateRandomBytes:contentLength]; nullMessageBuilder.padding = [Cryptography generateRandomBytes:contentLength];
contentBuilder.nullMessage = [nullMessageBuilder build];
return [contentBuilder build].data; NSError *error;
SSKProtoNullMessage *_Nullable nullMessage = [nullMessageBuilder buildAndReturnError:&error];
if (error || !nullMessage) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new];
contentBuilder.nullMessage = nullMessage;
SSKProtoContent *_Nullable contentProto = [contentBuilder buildAndReturnError:&error];
if (error || !contentProto) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
NSData *_Nullable contentData = [contentProto serializedDataAndReturnError:&error];
if (error || !contentData) {
OWSFail(@"%@ could not serialize protobuf: %@", self.logTag, error);
return nil;
}
return contentData;
} }
- (BOOL)shouldSyncTranscript - (BOOL)shouldSyncTranscript

@ -2,6 +2,7 @@
// Copyright (c) 2018 Open Whisper Systems. All rights reserved. // Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// //
//#import <SignalServiceKit/SignalServiceKit-Swift.h>
#import "SignalServiceKit-Swift.h" #import "SignalServiceKit-Swift.h"
#import "TSYapDatabaseObject.h" #import "TSYapDatabaseObject.h"

Loading…
Cancel
Save