mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			783 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			783 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Swift
		
	
| //
 | |
| //  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| // WARNING: This code is generated. Only edit within the markers.
 | |
| 
 | |
| public enum SMKProtoError: Error {
 | |
|     case invalidProtobuf(description: String)
 | |
| }
 | |
| 
 | |
| // MARK: - SMKProtoServerCertificateCertificate
 | |
| 
 | |
| @objc public class SMKProtoServerCertificateCertificate: NSObject {
 | |
| 
 | |
|     // MARK: - SMKProtoServerCertificateCertificateBuilder
 | |
| 
 | |
|     @objc public class func builder(id: UInt32, key: Data) -> SMKProtoServerCertificateCertificateBuilder {
 | |
|         return SMKProtoServerCertificateCertificateBuilder(id: id, key: key)
 | |
|     }
 | |
| 
 | |
|     // asBuilder() constructs a builder that reflects the proto's contents.
 | |
|     @objc public func asBuilder() -> SMKProtoServerCertificateCertificateBuilder {
 | |
|         let builder = SMKProtoServerCertificateCertificateBuilder(id: id, key: key)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoServerCertificateCertificateBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_ServerCertificate.Certificate()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(id: UInt32, key: Data) {
 | |
|             super.init()
 | |
| 
 | |
|             setId(id)
 | |
|             setKey(key)
 | |
|         }
 | |
| 
 | |
|         @objc public func setId(_ valueParam: UInt32) {
 | |
|             proto.id = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setKey(_ valueParam: Data) {
 | |
|             proto.key = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoServerCertificateCertificate {
 | |
|             return try SMKProtoServerCertificateCertificate.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoServerCertificateCertificate.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_ServerCertificate.Certificate
 | |
| 
 | |
|     @objc public let id: UInt32
 | |
| 
 | |
|     @objc public let key: Data
 | |
| 
 | |
|     private init(proto: SMKProtos_ServerCertificate.Certificate,
 | |
|                  id: UInt32,
 | |
|                  key: Data) {
 | |
|         self.proto = proto
 | |
|         self.id = id
 | |
|         self.key = key
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoServerCertificateCertificate {
 | |
|         let proto = try SMKProtos_ServerCertificate.Certificate(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     fileprivate class func parseProto(_ proto: SMKProtos_ServerCertificate.Certificate) throws -> SMKProtoServerCertificateCertificate {
 | |
|         guard proto.hasID else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: id")
 | |
|         }
 | |
|         let id = proto.id
 | |
| 
 | |
|         guard proto.hasKey else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: key")
 | |
|         }
 | |
|         let key = proto.key
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoServerCertificateCertificate -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoServerCertificateCertificate -
 | |
| 
 | |
|         let result = SMKProtoServerCertificateCertificate(proto: proto,
 | |
|                                                           id: id,
 | |
|                                                           key: key)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoServerCertificateCertificate {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoServerCertificateCertificate.SMKProtoServerCertificateCertificateBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoServerCertificateCertificate? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| // MARK: - SMKProtoServerCertificate
 | |
| 
 | |
| @objc public class SMKProtoServerCertificate: NSObject {
 | |
| 
 | |
|     // MARK: - SMKProtoServerCertificateBuilder
 | |
| 
 | |
|     @objc public class func builder(certificate: Data, signature: Data) -> SMKProtoServerCertificateBuilder {
 | |
|         return SMKProtoServerCertificateBuilder(certificate: certificate, signature: signature)
 | |
|     }
 | |
| 
 | |
|     // asBuilder() constructs a builder that reflects the proto's contents.
 | |
|     @objc public func asBuilder() -> SMKProtoServerCertificateBuilder {
 | |
|         let builder = SMKProtoServerCertificateBuilder(certificate: certificate, signature: signature)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoServerCertificateBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_ServerCertificate()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(certificate: Data, signature: Data) {
 | |
|             super.init()
 | |
| 
 | |
|             setCertificate(certificate)
 | |
|             setSignature(signature)
 | |
|         }
 | |
| 
 | |
|         @objc public func setCertificate(_ valueParam: Data) {
 | |
|             proto.certificate = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setSignature(_ valueParam: Data) {
 | |
|             proto.signature = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoServerCertificate {
 | |
|             return try SMKProtoServerCertificate.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoServerCertificate.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_ServerCertificate
 | |
| 
 | |
|     @objc public let certificate: Data
 | |
| 
 | |
|     @objc public let signature: Data
 | |
| 
 | |
|     private init(proto: SMKProtos_ServerCertificate,
 | |
|                  certificate: Data,
 | |
|                  signature: Data) {
 | |
|         self.proto = proto
 | |
|         self.certificate = certificate
 | |
|         self.signature = signature
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoServerCertificate {
 | |
|         let proto = try SMKProtos_ServerCertificate(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     fileprivate class func parseProto(_ proto: SMKProtos_ServerCertificate) throws -> SMKProtoServerCertificate {
 | |
|         guard proto.hasCertificate else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: certificate")
 | |
|         }
 | |
|         let certificate = proto.certificate
 | |
| 
 | |
|         guard proto.hasSignature else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: signature")
 | |
|         }
 | |
|         let signature = proto.signature
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoServerCertificate -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoServerCertificate -
 | |
| 
 | |
|         let result = SMKProtoServerCertificate(proto: proto,
 | |
|                                                certificate: certificate,
 | |
|                                                signature: signature)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoServerCertificate {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoServerCertificate.SMKProtoServerCertificateBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoServerCertificate? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| // MARK: - SMKProtoSenderCertificateCertificate
 | |
| 
 | |
| @objc public class SMKProtoSenderCertificateCertificate: NSObject {
 | |
| 
 | |
|     // 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)
 | |
|     }
 | |
| 
 | |
|     // 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)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoSenderCertificateCertificateBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_SenderCertificate.Certificate()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(sender: String, 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 setSenderDevice(_ valueParam: UInt32) {
 | |
|             proto.senderDevice = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setExpires(_ valueParam: UInt64) {
 | |
|             proto.expires = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setIdentityKey(_ valueParam: Data) {
 | |
|             proto.identityKey = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setSigner(_ valueParam: SMKProtoServerCertificate) {
 | |
|             proto.signer = valueParam.proto
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoSenderCertificateCertificate {
 | |
|             return try SMKProtoSenderCertificateCertificate.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoSenderCertificateCertificate.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_SenderCertificate.Certificate
 | |
| 
 | |
|     @objc public let sender: String
 | |
| 
 | |
|     @objc public let senderDevice: UInt32
 | |
| 
 | |
|     @objc public let expires: UInt64
 | |
| 
 | |
|     @objc public let identityKey: Data
 | |
| 
 | |
|     @objc public let signer: SMKProtoServerCertificate
 | |
| 
 | |
|     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
 | |
|         self.signer = signer
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoSenderCertificateCertificate {
 | |
|         let proto = try SMKProtos_SenderCertificate.Certificate(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     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")
 | |
|         }
 | |
|         let senderDevice = proto.senderDevice
 | |
| 
 | |
|         guard proto.hasExpires else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: expires")
 | |
|         }
 | |
|         let expires = proto.expires
 | |
| 
 | |
|         guard proto.hasIdentityKey else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: identityKey")
 | |
|         }
 | |
|         let identityKey = proto.identityKey
 | |
| 
 | |
|         guard proto.hasSigner else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: signer")
 | |
|         }
 | |
|         let signer = try SMKProtoServerCertificate.parseProto(proto.signer)
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoSenderCertificateCertificate -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoSenderCertificateCertificate -
 | |
| 
 | |
|         let result = SMKProtoSenderCertificateCertificate(proto: proto,
 | |
|                                                           sender: sender,
 | |
|                                                           senderDevice: senderDevice,
 | |
|                                                           expires: expires,
 | |
|                                                           identityKey: identityKey,
 | |
|                                                           signer: signer)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoSenderCertificateCertificate {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoSenderCertificateCertificate.SMKProtoSenderCertificateCertificateBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoSenderCertificateCertificate? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| // MARK: - SMKProtoSenderCertificate
 | |
| 
 | |
| @objc public class SMKProtoSenderCertificate: NSObject {
 | |
| 
 | |
|     // MARK: - SMKProtoSenderCertificateBuilder
 | |
| 
 | |
|     @objc public class func builder(sender: String, senderDevice: UInt32) -> SMKProtoSenderCertificateBuilder {
 | |
|         return SMKProtoSenderCertificateBuilder(sender: sender, senderDevice: senderDevice)
 | |
|     }
 | |
| 
 | |
|     // asBuilder() constructs a builder that reflects the proto's contents.
 | |
|     @objc public func asBuilder() -> SMKProtoSenderCertificateBuilder {
 | |
|         let builder = SMKProtoSenderCertificateBuilder(sender: sender, senderDevice: senderDevice)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoSenderCertificateBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_SenderCertificate()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(sender: String, senderDevice: UInt32) {
 | |
|             super.init()
 | |
| 
 | |
|             setSender(sender)
 | |
|             setSenderDevice(senderDevice)
 | |
|         }
 | |
| 
 | |
|         @objc public func setSender(_ valueParam: String) {
 | |
|             proto.sender = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setSenderDevice(_ valueParam: UInt32) {
 | |
|             proto.senderDevice = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoSenderCertificate {
 | |
|             return try SMKProtoSenderCertificate.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoSenderCertificate.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_SenderCertificate
 | |
| 
 | |
|     @objc public let sender: String
 | |
| 
 | |
|     @objc public let senderDevice: UInt32
 | |
| 
 | |
|     private init(proto: SMKProtos_SenderCertificate,
 | |
|                  sender: String,
 | |
|                  senderDevice: UInt32) {
 | |
|         self.proto = proto
 | |
|         self.sender = sender
 | |
|         self.senderDevice = senderDevice
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoSenderCertificate {
 | |
|         let proto = try SMKProtos_SenderCertificate(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     fileprivate class func parseProto(_ proto: SMKProtos_SenderCertificate) throws -> SMKProtoSenderCertificate {
 | |
|         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")
 | |
|         }
 | |
|         let senderDevice = proto.senderDevice
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoSenderCertificate -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoSenderCertificate -
 | |
| 
 | |
|         let result = SMKProtoSenderCertificate(proto: proto,
 | |
|                                                sender: sender,
 | |
|                                                senderDevice: senderDevice)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoSenderCertificate {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoSenderCertificate.SMKProtoSenderCertificateBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoSenderCertificate? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| // MARK: - SMKProtoUnidentifiedSenderMessageMessage
 | |
| 
 | |
| @objc public class SMKProtoUnidentifiedSenderMessageMessage: NSObject {
 | |
| 
 | |
|     // MARK: - SMKProtoUnidentifiedSenderMessageMessageType
 | |
| 
 | |
|     @objc public enum SMKProtoUnidentifiedSenderMessageMessageType: Int32 {
 | |
|         case prekeyMessage = 1
 | |
|         case message = 2
 | |
|         case fallbackMessage = 3
 | |
|     }
 | |
| 
 | |
|     private class func SMKProtoUnidentifiedSenderMessageMessageTypeWrap(_ value: SMKProtos_UnidentifiedSenderMessage.Message.TypeEnum) -> SMKProtoUnidentifiedSenderMessageMessageType {
 | |
|         switch value {
 | |
|         case .prekeyMessage: return .prekeyMessage
 | |
|         case .message: return .message
 | |
|         case .fallbackMessage: return .fallbackMessage
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private class func SMKProtoUnidentifiedSenderMessageMessageTypeUnwrap(_ value: SMKProtoUnidentifiedSenderMessageMessageType) -> SMKProtos_UnidentifiedSenderMessage.Message.TypeEnum {
 | |
|         switch value {
 | |
|         case .prekeyMessage: return .prekeyMessage
 | |
|         case .message: return .message
 | |
|         case .fallbackMessage: return .fallbackMessage
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     // MARK: - SMKProtoUnidentifiedSenderMessageMessageBuilder
 | |
| 
 | |
|     @objc public class func builder(type: SMKProtoUnidentifiedSenderMessageMessageType, senderCertificate: SMKProtoSenderCertificate, content: Data) -> SMKProtoUnidentifiedSenderMessageMessageBuilder {
 | |
|         return SMKProtoUnidentifiedSenderMessageMessageBuilder(type: type, senderCertificate: senderCertificate, content: content)
 | |
|     }
 | |
| 
 | |
|     // asBuilder() constructs a builder that reflects the proto's contents.
 | |
|     @objc public func asBuilder() -> SMKProtoUnidentifiedSenderMessageMessageBuilder {
 | |
|         let builder = SMKProtoUnidentifiedSenderMessageMessageBuilder(type: type, senderCertificate: senderCertificate, content: content)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoUnidentifiedSenderMessageMessageBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_UnidentifiedSenderMessage.Message()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(type: SMKProtoUnidentifiedSenderMessageMessageType, senderCertificate: SMKProtoSenderCertificate, content: Data) {
 | |
|             super.init()
 | |
| 
 | |
|             setType(type)
 | |
|             setSenderCertificate(senderCertificate)
 | |
|             setContent(content)
 | |
|         }
 | |
| 
 | |
|         @objc public func setType(_ valueParam: SMKProtoUnidentifiedSenderMessageMessageType) {
 | |
|             proto.type = SMKProtoUnidentifiedSenderMessageMessageTypeUnwrap(valueParam)
 | |
|         }
 | |
| 
 | |
|         @objc public func setSenderCertificate(_ valueParam: SMKProtoSenderCertificate) {
 | |
|             proto.senderCertificate = valueParam.proto
 | |
|         }
 | |
| 
 | |
|         @objc public func setContent(_ valueParam: Data) {
 | |
|             proto.content = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoUnidentifiedSenderMessageMessage {
 | |
|             return try SMKProtoUnidentifiedSenderMessageMessage.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoUnidentifiedSenderMessageMessage.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_UnidentifiedSenderMessage.Message
 | |
| 
 | |
|     @objc public let type: SMKProtoUnidentifiedSenderMessageMessageType
 | |
| 
 | |
|     @objc public let senderCertificate: SMKProtoSenderCertificate
 | |
| 
 | |
|     @objc public let content: Data
 | |
| 
 | |
|     private init(proto: SMKProtos_UnidentifiedSenderMessage.Message,
 | |
|                  type: SMKProtoUnidentifiedSenderMessageMessageType,
 | |
|                  senderCertificate: SMKProtoSenderCertificate,
 | |
|                  content: Data) {
 | |
|         self.proto = proto
 | |
|         self.type = type
 | |
|         self.senderCertificate = senderCertificate
 | |
|         self.content = content
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoUnidentifiedSenderMessageMessage {
 | |
|         let proto = try SMKProtos_UnidentifiedSenderMessage.Message(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     fileprivate class func parseProto(_ proto: SMKProtos_UnidentifiedSenderMessage.Message) throws -> SMKProtoUnidentifiedSenderMessageMessage {
 | |
|         guard proto.hasType else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: type")
 | |
|         }
 | |
|         let type = SMKProtoUnidentifiedSenderMessageMessageTypeWrap(proto.type)
 | |
| 
 | |
|         guard proto.hasSenderCertificate else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: senderCertificate")
 | |
|         }
 | |
|         let senderCertificate = try SMKProtoSenderCertificate.parseProto(proto.senderCertificate)
 | |
| 
 | |
|         guard proto.hasContent else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: content")
 | |
|         }
 | |
|         let content = proto.content
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoUnidentifiedSenderMessageMessage -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoUnidentifiedSenderMessageMessage -
 | |
| 
 | |
|         let result = SMKProtoUnidentifiedSenderMessageMessage(proto: proto,
 | |
|                                                               type: type,
 | |
|                                                               senderCertificate: senderCertificate,
 | |
|                                                               content: content)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoUnidentifiedSenderMessageMessage {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoUnidentifiedSenderMessageMessage.SMKProtoUnidentifiedSenderMessageMessageBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoUnidentifiedSenderMessageMessage? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| // MARK: - SMKProtoUnidentifiedSenderMessage
 | |
| 
 | |
| @objc public class SMKProtoUnidentifiedSenderMessage: NSObject {
 | |
| 
 | |
|     // MARK: - SMKProtoUnidentifiedSenderMessageBuilder
 | |
| 
 | |
|     @objc public class func builder(ephemeralPublic: Data, encryptedStatic: Data, encryptedMessage: Data) -> SMKProtoUnidentifiedSenderMessageBuilder {
 | |
|         return SMKProtoUnidentifiedSenderMessageBuilder(ephemeralPublic: ephemeralPublic, encryptedStatic: encryptedStatic, encryptedMessage: encryptedMessage)
 | |
|     }
 | |
| 
 | |
|     // asBuilder() constructs a builder that reflects the proto's contents.
 | |
|     @objc public func asBuilder() -> SMKProtoUnidentifiedSenderMessageBuilder {
 | |
|         let builder = SMKProtoUnidentifiedSenderMessageBuilder(ephemeralPublic: ephemeralPublic, encryptedStatic: encryptedStatic, encryptedMessage: encryptedMessage)
 | |
|         return builder
 | |
|     }
 | |
| 
 | |
|     @objc public class SMKProtoUnidentifiedSenderMessageBuilder: NSObject {
 | |
| 
 | |
|         private var proto = SMKProtos_UnidentifiedSenderMessage()
 | |
| 
 | |
|         @objc fileprivate override init() {}
 | |
| 
 | |
|         @objc fileprivate init(ephemeralPublic: Data, encryptedStatic: Data, encryptedMessage: Data) {
 | |
|             super.init()
 | |
| 
 | |
|             setEphemeralPublic(ephemeralPublic)
 | |
|             setEncryptedStatic(encryptedStatic)
 | |
|             setEncryptedMessage(encryptedMessage)
 | |
|         }
 | |
| 
 | |
|         @objc public func setEphemeralPublic(_ valueParam: Data) {
 | |
|             proto.ephemeralPublic = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setEncryptedStatic(_ valueParam: Data) {
 | |
|             proto.encryptedStatic = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func setEncryptedMessage(_ valueParam: Data) {
 | |
|             proto.encryptedMessage = valueParam
 | |
|         }
 | |
| 
 | |
|         @objc public func build() throws -> SMKProtoUnidentifiedSenderMessage {
 | |
|             return try SMKProtoUnidentifiedSenderMessage.parseProto(proto)
 | |
|         }
 | |
| 
 | |
|         @objc public func buildSerializedData() throws -> Data {
 | |
|             return try SMKProtoUnidentifiedSenderMessage.parseProto(proto).serializedData()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     fileprivate let proto: SMKProtos_UnidentifiedSenderMessage
 | |
| 
 | |
|     @objc public let ephemeralPublic: Data
 | |
| 
 | |
|     @objc public let encryptedStatic: Data
 | |
| 
 | |
|     @objc public let encryptedMessage: Data
 | |
| 
 | |
|     private init(proto: SMKProtos_UnidentifiedSenderMessage,
 | |
|                  ephemeralPublic: Data,
 | |
|                  encryptedStatic: Data,
 | |
|                  encryptedMessage: Data) {
 | |
|         self.proto = proto
 | |
|         self.ephemeralPublic = ephemeralPublic
 | |
|         self.encryptedStatic = encryptedStatic
 | |
|         self.encryptedMessage = encryptedMessage
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public func serializedData() throws -> Data {
 | |
|         return try self.proto.serializedData()
 | |
|     }
 | |
| 
 | |
|     @objc public class func parseData(_ serializedData: Data) throws -> SMKProtoUnidentifiedSenderMessage {
 | |
|         let proto = try SMKProtos_UnidentifiedSenderMessage(serializedData: serializedData)
 | |
|         return try parseProto(proto)
 | |
|     }
 | |
| 
 | |
|     fileprivate class func parseProto(_ proto: SMKProtos_UnidentifiedSenderMessage) throws -> SMKProtoUnidentifiedSenderMessage {
 | |
|         guard proto.hasEphemeralPublic else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: ephemeralPublic")
 | |
|         }
 | |
|         let ephemeralPublic = proto.ephemeralPublic
 | |
| 
 | |
|         guard proto.hasEncryptedStatic else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: encryptedStatic")
 | |
|         }
 | |
|         let encryptedStatic = proto.encryptedStatic
 | |
| 
 | |
|         guard proto.hasEncryptedMessage else {
 | |
|             throw SMKProtoError.invalidProtobuf(description: "\(logTag) missing required field: encryptedMessage")
 | |
|         }
 | |
|         let encryptedMessage = proto.encryptedMessage
 | |
| 
 | |
|         // MARK: - Begin Validation Logic for SMKProtoUnidentifiedSenderMessage -
 | |
| 
 | |
|         // MARK: - End Validation Logic for SMKProtoUnidentifiedSenderMessage -
 | |
| 
 | |
|         let result = SMKProtoUnidentifiedSenderMessage(proto: proto,
 | |
|                                                        ephemeralPublic: ephemeralPublic,
 | |
|                                                        encryptedStatic: encryptedStatic,
 | |
|                                                        encryptedMessage: encryptedMessage)
 | |
|         return result
 | |
|     }
 | |
| 
 | |
|     @objc public override var debugDescription: String {
 | |
|         return "\(proto)"
 | |
|     }
 | |
| }
 | |
| 
 | |
| #if DEBUG
 | |
| 
 | |
| extension SMKProtoUnidentifiedSenderMessage {
 | |
|     @objc public func serializedDataIgnoringErrors() -> Data? {
 | |
|         return try! self.serializedData()
 | |
|     }
 | |
| }
 | |
| 
 | |
| extension SMKProtoUnidentifiedSenderMessage.SMKProtoUnidentifiedSenderMessageBuilder {
 | |
|     @objc public func buildIgnoringErrors() -> SMKProtoUnidentifiedSenderMessage? {
 | |
|         return try! self.build()
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 |