This commit is contained in:
Michael Kirk 2019-07-10 23:16:28 -06:00
parent 49f4bc19cf
commit e7db16f578
2 changed files with 67 additions and 32 deletions

View File

@ -125,15 +125,23 @@ struct SMKProtos_SenderCertificate {
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
/// @required
var sender: String {
get {return _storage._sender ?? String()}
set {_uniqueStorage()._sender = newValue}
var senderE164: String {
get {return _storage._senderE164 ?? String()}
set {_uniqueStorage()._senderE164 = newValue}
}
/// Returns true if `sender` has been explicitly set.
var hasSender: Bool {return _storage._sender != nil}
/// Clears the value of `sender`. Subsequent reads from it will return its default value.
mutating func clearSender() {_uniqueStorage()._sender = nil}
/// Returns true if `senderE164` has been explicitly set.
var hasSenderE164: Bool {return _storage._senderE164 != nil}
/// Clears the value of `senderE164`. Subsequent reads from it will return its default value.
mutating func clearSenderE164() {_uniqueStorage()._senderE164 = nil}
var senderUuid: String {
get {return _storage._senderUuid ?? String()}
set {_uniqueStorage()._senderUuid = newValue}
}
/// Returns true if `senderUuid` has been explicitly set.
var hasSenderUuid: Bool {return _storage._senderUuid != nil}
/// Clears the value of `senderUuid`. Subsequent reads from it will return its default value.
mutating func clearSenderUuid() {_uniqueStorage()._senderUuid = nil}
/// @required
var senderDevice: UInt32 {
@ -411,7 +419,8 @@ extension SMKProtos_SenderCertificate: SwiftProtobuf.Message, SwiftProtobuf._Mes
extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
static let protoMessageName: String = SMKProtos_SenderCertificate.protoMessageName + ".Certificate"
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "sender"),
1: .same(proto: "senderE164"),
6: .same(proto: "senderUuid"),
2: .same(proto: "senderDevice"),
3: .same(proto: "expires"),
4: .same(proto: "identityKey"),
@ -419,7 +428,8 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
]
fileprivate class _StorageClass {
var _sender: String? = nil
var _senderE164: String? = nil
var _senderUuid: String? = nil
var _senderDevice: UInt32? = nil
var _expires: UInt64? = nil
var _identityKey: Data? = nil
@ -430,7 +440,8 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
private init() {}
init(copying source: _StorageClass) {
_sender = source._sender
_senderE164 = source._senderE164
_senderUuid = source._senderUuid
_senderDevice = source._senderDevice
_expires = source._expires
_identityKey = source._identityKey
@ -450,11 +461,12 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &_storage._sender)
case 1: try decoder.decodeSingularStringField(value: &_storage._senderE164)
case 2: try decoder.decodeSingularUInt32Field(value: &_storage._senderDevice)
case 3: try decoder.decodeSingularFixed64Field(value: &_storage._expires)
case 4: try decoder.decodeSingularBytesField(value: &_storage._identityKey)
case 5: try decoder.decodeSingularMessageField(value: &_storage._signer)
case 6: try decoder.decodeSingularStringField(value: &_storage._senderUuid)
default: break
}
}
@ -463,7 +475,7 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
if let v = _storage._sender {
if let v = _storage._senderE164 {
try visitor.visitSingularStringField(value: v, fieldNumber: 1)
}
if let v = _storage._senderDevice {
@ -478,6 +490,9 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
if let v = _storage._signer {
try visitor.visitSingularMessageField(value: v, fieldNumber: 5)
}
if let v = _storage._senderUuid {
try visitor.visitSingularStringField(value: v, fieldNumber: 6)
}
}
try unknownFields.traverse(visitor: &visitor)
}
@ -487,7 +502,8 @@ extension SMKProtos_SenderCertificate.Certificate: SwiftProtobuf.Message, SwiftP
let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
let _storage = _args.0
let rhs_storage = _args.1
if _storage._sender != rhs_storage._sender {return false}
if _storage._senderE164 != rhs_storage._senderE164 {return false}
if _storage._senderUuid != rhs_storage._senderUuid {return false}
if _storage._senderDevice != rhs_storage._senderDevice {return false}
if _storage._expires != rhs_storage._expires {return false}
if _storage._identityKey != rhs_storage._identityKey {return false}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -241,13 +241,19 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
// MARK: - SMKProtoSenderCertificateCertificateBuilder
@objc public class func builder(sender: String, senderDevice: UInt32, expires: UInt64, identityKey: Data, signer: SMKProtoServerCertificate) -> SMKProtoSenderCertificateCertificateBuilder {
return SMKProtoSenderCertificateCertificateBuilder(sender: sender, senderDevice: senderDevice, expires: expires, identityKey: identityKey, signer: signer)
@objc public class func builder(senderDevice: UInt32, expires: UInt64, identityKey: Data, signer: SMKProtoServerCertificate) -> SMKProtoSenderCertificateCertificateBuilder {
return SMKProtoSenderCertificateCertificateBuilder(senderDevice: senderDevice, expires: expires, identityKey: identityKey, signer: signer)
}
// asBuilder() constructs a builder that reflects the proto's contents.
@objc public func asBuilder() -> SMKProtoSenderCertificateCertificateBuilder {
let builder = SMKProtoSenderCertificateCertificateBuilder(sender: sender, senderDevice: senderDevice, expires: expires, identityKey: identityKey, signer: signer)
let builder = SMKProtoSenderCertificateCertificateBuilder(senderDevice: senderDevice, expires: expires, identityKey: identityKey, signer: signer)
if let _value = senderE164 {
builder.setSenderE164(_value)
}
if let _value = senderUuid {
builder.setSenderUuid(_value)
}
return builder
}
@ -257,18 +263,21 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
@objc fileprivate override init() {}
@objc fileprivate init(sender: String, senderDevice: UInt32, expires: UInt64, identityKey: Data, signer: SMKProtoServerCertificate) {
@objc fileprivate init(senderDevice: UInt32, expires: UInt64, identityKey: Data, signer: SMKProtoServerCertificate) {
super.init()
setSender(sender)
setSenderDevice(senderDevice)
setExpires(expires)
setIdentityKey(identityKey)
setSigner(signer)
}
@objc public func setSender(_ valueParam: String) {
proto.sender = valueParam
@objc public func setSenderE164(_ valueParam: String) {
proto.senderE164 = valueParam
}
@objc public func setSenderUuid(_ valueParam: String) {
proto.senderUuid = valueParam
}
@objc public func setSenderDevice(_ valueParam: UInt32) {
@ -298,8 +307,6 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
fileprivate let proto: SMKProtos_SenderCertificate.Certificate
@objc public let sender: String
@objc public let senderDevice: UInt32
@objc public let expires: UInt64
@ -308,14 +315,32 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
@objc public let signer: SMKProtoServerCertificate
@objc public var senderE164: String? {
guard proto.hasSenderE164 else {
return nil
}
return proto.senderE164
}
@objc public var hasSenderE164: Bool {
return proto.hasSenderE164
}
@objc public var senderUuid: String? {
guard proto.hasSenderUuid else {
return nil
}
return proto.senderUuid
}
@objc public var hasSenderUuid: Bool {
return proto.hasSenderUuid
}
private init(proto: SMKProtos_SenderCertificate.Certificate,
sender: String,
senderDevice: UInt32,
expires: UInt64,
identityKey: Data,
signer: SMKProtoServerCertificate) {
self.proto = proto
self.sender = sender
self.senderDevice = senderDevice
self.expires = expires
self.identityKey = identityKey
@ -333,11 +358,6 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
}
fileprivate class func parseProto(_ proto: SMKProtos_SenderCertificate.Certificate) throws -> SMKProtoSenderCertificateCertificate {
guard proto.hasSender else {
throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: sender")
}
let sender = proto.sender
guard proto.hasSenderDevice else {
throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: senderDevice")
}
@ -363,7 +383,6 @@ extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
// MARK: - End Validation Logic for SMKProtoSenderCertificateCertificate -
let result = SMKProtoSenderCertificateCertificate(proto: proto,
sender: sender,
senderDevice: senderDevice,
expires: expires,
identityKey: identityKey,