session-ios/SessionProtocolKit/Signal/Protos/SMKProto.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