Code generate Swift wrappers for protocol buffers.
This commit is contained in:
parent
937ae24556
commit
2b05bbc0aa
|
@ -293,12 +293,13 @@ public enum %s: Error {
|
|||
|
||||
|
||||
class MessageField:
|
||||
def __init__(self, name, index, rules, proto_type, default_value):
|
||||
def __init__(self, name, index, rules, proto_type, default_value, sort_index):
|
||||
self.name = name
|
||||
self.index = index
|
||||
self.rules = rules
|
||||
self.proto_type = proto_type
|
||||
self.default_value = default_value
|
||||
self.sort_index = sort_index
|
||||
|
||||
|
||||
class MessageContext(BaseContext):
|
||||
|
@ -315,8 +316,10 @@ class MessageContext(BaseContext):
|
|||
|
||||
self.field_map = {}
|
||||
|
||||
def fields(self):
|
||||
return self.field_map.values()
|
||||
def fields(self):
|
||||
fields = self.field_map.values()
|
||||
fields = sorted(fields, key=lambda f: f.sort_index)
|
||||
return fields
|
||||
|
||||
def field_indices(self):
|
||||
return [field.index for field in self.fields()]
|
||||
|
@ -685,7 +688,8 @@ def parse_message(args, proto_file_path, parser, parent_context, message_name):
|
|||
# print '# message:', message_name
|
||||
|
||||
context = MessageContext(args, parent_context, message_name)
|
||||
|
||||
|
||||
sort_index = 0
|
||||
while True:
|
||||
try:
|
||||
line = parser.next()
|
||||
|
@ -753,8 +757,10 @@ def parse_message(args, proto_file_path, parser, parent_context, message_name):
|
|||
raise Exception('Duplicate message field index[%s]: %s' % (proto_file_path, item_name))
|
||||
# context.field_indices.add(item_index)
|
||||
|
||||
context.field_map[item_index] = MessageField(item_name, item_index, item_rules, item_type, item_default)
|
||||
|
||||
context.field_map[item_index] = MessageField(item_name, item_index, item_rules, item_type, item_default, sort_index)
|
||||
|
||||
sort_index = sort_index + 1
|
||||
|
||||
continue
|
||||
|
||||
raise Exception('Invalid message syntax[%s]: %s' % (proto_file_path, line))
|
||||
|
|
|
@ -134,7 +134,7 @@ public class MessageFetcherJob: NSObject {
|
|||
let legacyMessage: Data? = try params.optionalBase64EncodedData(key: "message")
|
||||
let content: Data? = try params.optionalBase64EncodedData(key: "content")
|
||||
|
||||
return SSKProtoEnvelope(type: type, relay: nil, source: source, timestamp: UInt64(timestamp), sourceDevice: sourceDevice, legacyMessage: legacyMessage, content: content)
|
||||
return SSKProtoEnvelope(type: type, source: source, sourceDevice: sourceDevice, relay: nil, timestamp: UInt64(timestamp), legacyMessage: legacyMessage, content: content)
|
||||
} catch {
|
||||
owsFail("\(self.logTag) in \(#function) error building envelope: \(error)")
|
||||
return nil
|
||||
|
|
|
@ -3392,10 +3392,10 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
|
|||
|
||||
|
||||
SSKProtoEnvelope *envelope = [[SSKProtoEnvelope alloc] initWithType:SSKProtoEnvelopeTypeCiphertext
|
||||
relay:nil
|
||||
source:source
|
||||
timestamp:timestamp
|
||||
sourceDevice:1
|
||||
relay:nil
|
||||
timestamp:timestamp
|
||||
legacyMessage:nil
|
||||
content:nil];
|
||||
return envelope;
|
||||
|
@ -3891,10 +3891,10 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
|
|||
NSData *content = plaintextData;
|
||||
|
||||
SSKProtoEnvelope *envelope = [[SSKProtoEnvelope alloc] initWithType:envelopeType
|
||||
relay:nil
|
||||
source:source
|
||||
timestamp:timestamp
|
||||
sourceDevice:sourceDevice
|
||||
relay:nil
|
||||
timestamp:timestamp
|
||||
legacyMessage:nil
|
||||
content:content];
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue