mirror of https://github.com/oxen-io/session-ios
Merge branch 'charlesmchen/protoWrappers2'
commit
faebd9af82
@ -1 +1 @@
|
||||
Subproject commit b8c8d320dba1c279b5c0ea03313232239e4e0ba5
|
||||
Subproject commit bd2cd84d57053c4015e9646b5c5dbc4420560996
|
||||
@ -0,0 +1,153 @@
|
||||
//
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// WARNING: This code is generated. Only edit within the markers.
|
||||
|
||||
public enum FingerprintProtoError: Error {
|
||||
case invalidProtobuf(description: String)
|
||||
}
|
||||
|
||||
// MARK: - FingerprintProtoLogicalFingerprint
|
||||
|
||||
@objc public class FingerprintProtoLogicalFingerprint: NSObject {
|
||||
|
||||
// MARK: - FingerprintProtoLogicalFingerprintBuilder
|
||||
|
||||
@objc public class FingerprintProtoLogicalFingerprintBuilder: NSObject {
|
||||
|
||||
private var proto = FingerprintProtos_LogicalFingerprint()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setIdentityData(_ valueParam: Data) {
|
||||
proto.identityData = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> FingerprintProtoLogicalFingerprint {
|
||||
let wrapper = try FingerprintProtoLogicalFingerprint.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: FingerprintProtos_LogicalFingerprint
|
||||
|
||||
@objc public let identityData: Data
|
||||
|
||||
private init(proto: FingerprintProtos_LogicalFingerprint,
|
||||
identityData: Data) {
|
||||
self.proto = proto
|
||||
self.identityData = identityData
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> FingerprintProtoLogicalFingerprint {
|
||||
let proto = try FingerprintProtos_LogicalFingerprint(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: FingerprintProtos_LogicalFingerprint) throws -> FingerprintProtoLogicalFingerprint {
|
||||
guard proto.hasIdentityData else {
|
||||
throw FingerprintProtoError.invalidProtobuf(description: "\(logTag) missing required field: identityData")
|
||||
}
|
||||
let identityData = proto.identityData
|
||||
|
||||
// MARK: - Begin Validation Logic for FingerprintProtoLogicalFingerprint -
|
||||
|
||||
// MARK: - End Validation Logic for FingerprintProtoLogicalFingerprint -
|
||||
|
||||
let result = FingerprintProtoLogicalFingerprint(proto: proto,
|
||||
identityData: identityData)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - FingerprintProtoLogicalFingerprints
|
||||
|
||||
@objc public class FingerprintProtoLogicalFingerprints: NSObject {
|
||||
|
||||
// MARK: - FingerprintProtoLogicalFingerprintsBuilder
|
||||
|
||||
@objc public class FingerprintProtoLogicalFingerprintsBuilder: NSObject {
|
||||
|
||||
private var proto = FingerprintProtos_LogicalFingerprints()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setVersion(_ valueParam: UInt32) {
|
||||
proto.version = valueParam
|
||||
}
|
||||
|
||||
@objc public func setLocalFingerprint(_ valueParam: FingerprintProtoLogicalFingerprint) {
|
||||
proto.localFingerprint = valueParam.proto
|
||||
}
|
||||
|
||||
@objc public func setRemoteFingerprint(_ valueParam: FingerprintProtoLogicalFingerprint) {
|
||||
proto.remoteFingerprint = valueParam.proto
|
||||
}
|
||||
|
||||
@objc public func build() throws -> FingerprintProtoLogicalFingerprints {
|
||||
let wrapper = try FingerprintProtoLogicalFingerprints.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: FingerprintProtos_LogicalFingerprints
|
||||
|
||||
@objc public let version: UInt32
|
||||
@objc public let localFingerprint: FingerprintProtoLogicalFingerprint
|
||||
@objc public let remoteFingerprint: FingerprintProtoLogicalFingerprint
|
||||
|
||||
private init(proto: FingerprintProtos_LogicalFingerprints,
|
||||
version: UInt32,
|
||||
localFingerprint: FingerprintProtoLogicalFingerprint,
|
||||
remoteFingerprint: FingerprintProtoLogicalFingerprint) {
|
||||
self.proto = proto
|
||||
self.version = version
|
||||
self.localFingerprint = localFingerprint
|
||||
self.remoteFingerprint = remoteFingerprint
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> FingerprintProtoLogicalFingerprints {
|
||||
let proto = try FingerprintProtos_LogicalFingerprints(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: FingerprintProtos_LogicalFingerprints) throws -> FingerprintProtoLogicalFingerprints {
|
||||
guard proto.hasVersion else {
|
||||
throw FingerprintProtoError.invalidProtobuf(description: "\(logTag) missing required field: version")
|
||||
}
|
||||
let version = proto.version
|
||||
|
||||
guard proto.hasLocalFingerprint else {
|
||||
throw FingerprintProtoError.invalidProtobuf(description: "\(logTag) missing required field: localFingerprint")
|
||||
}
|
||||
let localFingerprint = try FingerprintProtoLogicalFingerprint.parseProto(proto.localFingerprint)
|
||||
|
||||
guard proto.hasRemoteFingerprint else {
|
||||
throw FingerprintProtoError.invalidProtobuf(description: "\(logTag) missing required field: remoteFingerprint")
|
||||
}
|
||||
let remoteFingerprint = try FingerprintProtoLogicalFingerprint.parseProto(proto.remoteFingerprint)
|
||||
|
||||
// MARK: - Begin Validation Logic for FingerprintProtoLogicalFingerprints -
|
||||
|
||||
// MARK: - End Validation Logic for FingerprintProtoLogicalFingerprints -
|
||||
|
||||
let result = FingerprintProtoLogicalFingerprints(proto: proto,
|
||||
version: version,
|
||||
localFingerprint: localFingerprint,
|
||||
remoteFingerprint: remoteFingerprint)
|
||||
return result
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,218 @@
|
||||
//
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// WARNING: This code is generated. Only edit within the markers.
|
||||
|
||||
public enum ProvisioningProtoError: Error {
|
||||
case invalidProtobuf(description: String)
|
||||
}
|
||||
|
||||
// MARK: - ProvisioningProtoProvisionEnvelope
|
||||
|
||||
@objc public class ProvisioningProtoProvisionEnvelope: NSObject {
|
||||
|
||||
// MARK: - ProvisioningProtoProvisionEnvelopeBuilder
|
||||
|
||||
@objc public class ProvisioningProtoProvisionEnvelopeBuilder: NSObject {
|
||||
|
||||
private var proto = ProvisioningProtos_ProvisionEnvelope()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setPublicKey(_ valueParam: Data) {
|
||||
proto.publicKey = valueParam
|
||||
}
|
||||
|
||||
@objc public func setBody(_ valueParam: Data) {
|
||||
proto.body = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> ProvisioningProtoProvisionEnvelope {
|
||||
let wrapper = try ProvisioningProtoProvisionEnvelope.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: ProvisioningProtos_ProvisionEnvelope
|
||||
|
||||
@objc public let publicKey: Data
|
||||
@objc public let body: Data
|
||||
|
||||
private init(proto: ProvisioningProtos_ProvisionEnvelope,
|
||||
publicKey: Data,
|
||||
body: Data) {
|
||||
self.proto = proto
|
||||
self.publicKey = publicKey
|
||||
self.body = body
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> ProvisioningProtoProvisionEnvelope {
|
||||
let proto = try ProvisioningProtos_ProvisionEnvelope(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: ProvisioningProtos_ProvisionEnvelope) throws -> ProvisioningProtoProvisionEnvelope {
|
||||
guard proto.hasPublicKey else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: publicKey")
|
||||
}
|
||||
let publicKey = proto.publicKey
|
||||
|
||||
guard proto.hasBody else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: body")
|
||||
}
|
||||
let body = proto.body
|
||||
|
||||
// MARK: - Begin Validation Logic for ProvisioningProtoProvisionEnvelope -
|
||||
|
||||
// MARK: - End Validation Logic for ProvisioningProtoProvisionEnvelope -
|
||||
|
||||
let result = ProvisioningProtoProvisionEnvelope(proto: proto,
|
||||
publicKey: publicKey,
|
||||
body: body)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ProvisioningProtoProvisionMessage
|
||||
|
||||
@objc public class ProvisioningProtoProvisionMessage: NSObject {
|
||||
|
||||
// MARK: - ProvisioningProtoProvisionMessageBuilder
|
||||
|
||||
@objc public class ProvisioningProtoProvisionMessageBuilder: NSObject {
|
||||
|
||||
private var proto = ProvisioningProtos_ProvisionMessage()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setIdentityKeyPublic(_ valueParam: Data) {
|
||||
proto.identityKeyPublic = valueParam
|
||||
}
|
||||
|
||||
@objc public func setIdentityKeyPrivate(_ valueParam: Data) {
|
||||
proto.identityKeyPrivate = valueParam
|
||||
}
|
||||
|
||||
@objc public func setNumber(_ valueParam: String) {
|
||||
proto.number = valueParam
|
||||
}
|
||||
|
||||
@objc public func setProvisioningCode(_ valueParam: String) {
|
||||
proto.provisioningCode = valueParam
|
||||
}
|
||||
|
||||
@objc public func setUserAgent(_ valueParam: String) {
|
||||
proto.userAgent = valueParam
|
||||
}
|
||||
|
||||
@objc public func setProfileKey(_ valueParam: Data) {
|
||||
proto.profileKey = valueParam
|
||||
}
|
||||
|
||||
@objc public func setReadReceipts(_ valueParam: Bool) {
|
||||
proto.readReceipts = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> ProvisioningProtoProvisionMessage {
|
||||
let wrapper = try ProvisioningProtoProvisionMessage.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: ProvisioningProtos_ProvisionMessage
|
||||
|
||||
@objc public let identityKeyPublic: Data
|
||||
@objc public let identityKeyPrivate: Data
|
||||
@objc public let number: String
|
||||
@objc public let provisioningCode: String
|
||||
@objc public let userAgent: String
|
||||
@objc public let profileKey: Data
|
||||
@objc public let readReceipts: Bool
|
||||
|
||||
private init(proto: ProvisioningProtos_ProvisionMessage,
|
||||
identityKeyPublic: Data,
|
||||
identityKeyPrivate: Data,
|
||||
number: String,
|
||||
provisioningCode: String,
|
||||
userAgent: String,
|
||||
profileKey: Data,
|
||||
readReceipts: Bool) {
|
||||
self.proto = proto
|
||||
self.identityKeyPublic = identityKeyPublic
|
||||
self.identityKeyPrivate = identityKeyPrivate
|
||||
self.number = number
|
||||
self.provisioningCode = provisioningCode
|
||||
self.userAgent = userAgent
|
||||
self.profileKey = profileKey
|
||||
self.readReceipts = readReceipts
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> ProvisioningProtoProvisionMessage {
|
||||
let proto = try ProvisioningProtos_ProvisionMessage(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: ProvisioningProtos_ProvisionMessage) throws -> ProvisioningProtoProvisionMessage {
|
||||
guard proto.hasIdentityKeyPublic else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: identityKeyPublic")
|
||||
}
|
||||
let identityKeyPublic = proto.identityKeyPublic
|
||||
|
||||
guard proto.hasIdentityKeyPrivate else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: identityKeyPrivate")
|
||||
}
|
||||
let identityKeyPrivate = proto.identityKeyPrivate
|
||||
|
||||
guard proto.hasNumber else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: number")
|
||||
}
|
||||
let number = proto.number
|
||||
|
||||
guard proto.hasProvisioningCode else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: provisioningCode")
|
||||
}
|
||||
let provisioningCode = proto.provisioningCode
|
||||
|
||||
guard proto.hasUserAgent else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: userAgent")
|
||||
}
|
||||
let userAgent = proto.userAgent
|
||||
|
||||
guard proto.hasProfileKey else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: profileKey")
|
||||
}
|
||||
let profileKey = proto.profileKey
|
||||
|
||||
guard proto.hasReadReceipts else {
|
||||
throw ProvisioningProtoError.invalidProtobuf(description: "\(logTag) missing required field: readReceipts")
|
||||
}
|
||||
let readReceipts = proto.readReceipts
|
||||
|
||||
// MARK: - Begin Validation Logic for ProvisioningProtoProvisionMessage -
|
||||
|
||||
// MARK: - End Validation Logic for ProvisioningProtoProvisionMessage -
|
||||
|
||||
let result = ProvisioningProtoProvisionMessage(proto: proto,
|
||||
identityKeyPublic: identityKeyPublic,
|
||||
identityKeyPrivate: identityKeyPrivate,
|
||||
number: number,
|
||||
provisioningCode: provisioningCode,
|
||||
userAgent: userAgent,
|
||||
profileKey: profileKey,
|
||||
readReceipts: readReceipts)
|
||||
return result
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,173 @@
|
||||
//
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// WARNING: This code is generated. Only edit within the markers.
|
||||
|
||||
public enum SignalIOSProtoError: Error {
|
||||
case invalidProtobuf(description: String)
|
||||
}
|
||||
|
||||
// MARK: - SignalIOSProtoBackupSnapshotBackupEntity
|
||||
|
||||
@objc public class SignalIOSProtoBackupSnapshotBackupEntity: NSObject {
|
||||
|
||||
// MARK: - SignalIOSProtoBackupSnapshotBackupEntityType
|
||||
|
||||
@objc public enum SignalIOSProtoBackupSnapshotBackupEntityType: Int32 {
|
||||
case unknown = 0
|
||||
case migration = 1
|
||||
case thread = 2
|
||||
case interaction = 3
|
||||
case attachment = 4
|
||||
}
|
||||
|
||||
private class func SignalIOSProtoBackupSnapshotBackupEntityTypeWrap(_ value: IOSProtos_BackupSnapshot.BackupEntity.TypeEnum) -> SignalIOSProtoBackupSnapshotBackupEntityType {
|
||||
switch value {
|
||||
case .unknown: return .unknown
|
||||
case .migration: return .migration
|
||||
case .thread: return .thread
|
||||
case .interaction: return .interaction
|
||||
case .attachment: return .attachment
|
||||
}
|
||||
}
|
||||
|
||||
private class func SignalIOSProtoBackupSnapshotBackupEntityTypeUnwrap(_ value: SignalIOSProtoBackupSnapshotBackupEntityType) -> IOSProtos_BackupSnapshot.BackupEntity.TypeEnum {
|
||||
switch value {
|
||||
case .unknown: return .unknown
|
||||
case .migration: return .migration
|
||||
case .thread: return .thread
|
||||
case .interaction: return .interaction
|
||||
case .attachment: return .attachment
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - SignalIOSProtoBackupSnapshotBackupEntityBuilder
|
||||
|
||||
@objc public class SignalIOSProtoBackupSnapshotBackupEntityBuilder: NSObject {
|
||||
|
||||
private var proto = IOSProtos_BackupSnapshot.BackupEntity()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setType(_ valueParam: SignalIOSProtoBackupSnapshotBackupEntityType) {
|
||||
proto.type = SignalIOSProtoBackupSnapshotBackupEntityTypeUnwrap(valueParam)
|
||||
}
|
||||
|
||||
@objc public func setEntityData(_ valueParam: Data) {
|
||||
proto.entityData = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> SignalIOSProtoBackupSnapshotBackupEntity {
|
||||
let wrapper = try SignalIOSProtoBackupSnapshotBackupEntity.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: IOSProtos_BackupSnapshot.BackupEntity
|
||||
|
||||
@objc public let type: SignalIOSProtoBackupSnapshotBackupEntityType
|
||||
@objc public let entityData: Data
|
||||
|
||||
private init(proto: IOSProtos_BackupSnapshot.BackupEntity,
|
||||
type: SignalIOSProtoBackupSnapshotBackupEntityType,
|
||||
entityData: Data) {
|
||||
self.proto = proto
|
||||
self.type = type
|
||||
self.entityData = entityData
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> SignalIOSProtoBackupSnapshotBackupEntity {
|
||||
let proto = try IOSProtos_BackupSnapshot.BackupEntity(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: IOSProtos_BackupSnapshot.BackupEntity) throws -> SignalIOSProtoBackupSnapshotBackupEntity {
|
||||
guard proto.hasType else {
|
||||
throw SignalIOSProtoError.invalidProtobuf(description: "\(logTag) missing required field: type")
|
||||
}
|
||||
let type = SignalIOSProtoBackupSnapshotBackupEntityTypeWrap(proto.type)
|
||||
|
||||
guard proto.hasEntityData else {
|
||||
throw SignalIOSProtoError.invalidProtobuf(description: "\(logTag) missing required field: entityData")
|
||||
}
|
||||
let entityData = proto.entityData
|
||||
|
||||
// MARK: - Begin Validation Logic for SignalIOSProtoBackupSnapshotBackupEntity -
|
||||
|
||||
// MARK: - End Validation Logic for SignalIOSProtoBackupSnapshotBackupEntity -
|
||||
|
||||
let result = SignalIOSProtoBackupSnapshotBackupEntity(proto: proto,
|
||||
type: type,
|
||||
entityData: entityData)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - SignalIOSProtoBackupSnapshot
|
||||
|
||||
@objc public class SignalIOSProtoBackupSnapshot: NSObject {
|
||||
|
||||
// MARK: - SignalIOSProtoBackupSnapshotBuilder
|
||||
|
||||
@objc public class SignalIOSProtoBackupSnapshotBuilder: NSObject {
|
||||
|
||||
private var proto = IOSProtos_BackupSnapshot()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func addEntity(_ valueParam: SignalIOSProtoBackupSnapshotBackupEntity) {
|
||||
var items = proto.entity
|
||||
items.append(valueParam.proto)
|
||||
proto.entity = items
|
||||
}
|
||||
|
||||
@objc public func build() throws -> SignalIOSProtoBackupSnapshot {
|
||||
let wrapper = try SignalIOSProtoBackupSnapshot.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: IOSProtos_BackupSnapshot
|
||||
|
||||
@objc public let entity: [SignalIOSProtoBackupSnapshotBackupEntity]
|
||||
|
||||
private init(proto: IOSProtos_BackupSnapshot,
|
||||
entity: [SignalIOSProtoBackupSnapshotBackupEntity]) {
|
||||
self.proto = proto
|
||||
self.entity = entity
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> SignalIOSProtoBackupSnapshot {
|
||||
let proto = try IOSProtos_BackupSnapshot(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: IOSProtos_BackupSnapshot) throws -> SignalIOSProtoBackupSnapshot {
|
||||
var entity: [SignalIOSProtoBackupSnapshotBackupEntity] = []
|
||||
for item in proto.entity {
|
||||
let wrapped = try SignalIOSProtoBackupSnapshotBackupEntity.parseProto(item)
|
||||
entity.append(wrapped)
|
||||
}
|
||||
|
||||
// MARK: - Begin Validation Logic for SignalIOSProtoBackupSnapshot -
|
||||
|
||||
// MARK: - End Validation Logic for SignalIOSProtoBackupSnapshot -
|
||||
|
||||
let result = SignalIOSProtoBackupSnapshot(proto: proto,
|
||||
entity: entity)
|
||||
return result
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,335 @@
|
||||
//
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// WARNING: This code is generated. Only edit within the markers.
|
||||
|
||||
public enum WebSocketProtoError: Error {
|
||||
case invalidProtobuf(description: String)
|
||||
}
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketRequestMessage
|
||||
|
||||
@objc public class WebSocketProtoWebSocketRequestMessage: NSObject {
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketRequestMessageBuilder
|
||||
|
||||
@objc public class WebSocketProtoWebSocketRequestMessageBuilder: NSObject {
|
||||
|
||||
private var proto = WebSocketProtos_WebSocketRequestMessage()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setVerb(_ valueParam: String) {
|
||||
proto.verb = valueParam
|
||||
}
|
||||
|
||||
@objc public func setPath(_ valueParam: String) {
|
||||
proto.path = valueParam
|
||||
}
|
||||
|
||||
@objc public func setBody(_ valueParam: Data) {
|
||||
proto.body = valueParam
|
||||
}
|
||||
|
||||
@objc public func addHeaders(_ valueParam: String) {
|
||||
var items = proto.headers
|
||||
items.append(valueParam)
|
||||
proto.headers = items
|
||||
}
|
||||
|
||||
@objc public func setRequestID(_ valueParam: UInt64) {
|
||||
proto.requestID = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> WebSocketProtoWebSocketRequestMessage {
|
||||
let wrapper = try WebSocketProtoWebSocketRequestMessage.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: WebSocketProtos_WebSocketRequestMessage
|
||||
|
||||
@objc public let verb: String
|
||||
@objc public let path: String
|
||||
@objc public let requestID: UInt64
|
||||
|
||||
@objc public var body: Data? {
|
||||
guard proto.hasBody else {
|
||||
return nil
|
||||
}
|
||||
return proto.body
|
||||
}
|
||||
@objc public var hasBody: Bool {
|
||||
return proto.hasBody
|
||||
}
|
||||
|
||||
@objc public var headers: [String] {
|
||||
return proto.headers
|
||||
}
|
||||
|
||||
private init(proto: WebSocketProtos_WebSocketRequestMessage,
|
||||
verb: String,
|
||||
path: String,
|
||||
requestID: UInt64) {
|
||||
self.proto = proto
|
||||
self.verb = verb
|
||||
self.path = path
|
||||
self.requestID = requestID
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> WebSocketProtoWebSocketRequestMessage {
|
||||
let proto = try WebSocketProtos_WebSocketRequestMessage(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: WebSocketProtos_WebSocketRequestMessage) throws -> WebSocketProtoWebSocketRequestMessage {
|
||||
guard proto.hasVerb else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: verb")
|
||||
}
|
||||
let verb = proto.verb
|
||||
|
||||
guard proto.hasPath else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: path")
|
||||
}
|
||||
let path = proto.path
|
||||
|
||||
guard proto.hasRequestID else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: requestID")
|
||||
}
|
||||
let requestID = proto.requestID
|
||||
|
||||
// MARK: - Begin Validation Logic for WebSocketProtoWebSocketRequestMessage -
|
||||
|
||||
// MARK: - End Validation Logic for WebSocketProtoWebSocketRequestMessage -
|
||||
|
||||
let result = WebSocketProtoWebSocketRequestMessage(proto: proto,
|
||||
verb: verb,
|
||||
path: path,
|
||||
requestID: requestID)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketResponseMessage
|
||||
|
||||
@objc public class WebSocketProtoWebSocketResponseMessage: NSObject {
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketResponseMessageBuilder
|
||||
|
||||
@objc public class WebSocketProtoWebSocketResponseMessageBuilder: NSObject {
|
||||
|
||||
private var proto = WebSocketProtos_WebSocketResponseMessage()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setRequestID(_ valueParam: UInt64) {
|
||||
proto.requestID = valueParam
|
||||
}
|
||||
|
||||
@objc public func setStatus(_ valueParam: UInt32) {
|
||||
proto.status = valueParam
|
||||
}
|
||||
|
||||
@objc public func setMessage(_ valueParam: String) {
|
||||
proto.message = valueParam
|
||||
}
|
||||
|
||||
@objc public func addHeaders(_ valueParam: String) {
|
||||
var items = proto.headers
|
||||
items.append(valueParam)
|
||||
proto.headers = items
|
||||
}
|
||||
|
||||
@objc public func setBody(_ valueParam: Data) {
|
||||
proto.body = valueParam
|
||||
}
|
||||
|
||||
@objc public func build() throws -> WebSocketProtoWebSocketResponseMessage {
|
||||
let wrapper = try WebSocketProtoWebSocketResponseMessage.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: WebSocketProtos_WebSocketResponseMessage
|
||||
|
||||
@objc public let requestID: UInt64
|
||||
@objc public let status: UInt32
|
||||
@objc public let body: Data
|
||||
|
||||
@objc public var message: String? {
|
||||
guard proto.hasMessage else {
|
||||
return nil
|
||||
}
|
||||
return proto.message
|
||||
}
|
||||
@objc public var hasMessage: Bool {
|
||||
return proto.hasMessage
|
||||
}
|
||||
|
||||
@objc public var headers: [String] {
|
||||
return proto.headers
|
||||
}
|
||||
|
||||
private init(proto: WebSocketProtos_WebSocketResponseMessage,
|
||||
requestID: UInt64,
|
||||
status: UInt32,
|
||||
body: Data) {
|
||||
self.proto = proto
|
||||
self.requestID = requestID
|
||||
self.status = status
|
||||
self.body = body
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> WebSocketProtoWebSocketResponseMessage {
|
||||
let proto = try WebSocketProtos_WebSocketResponseMessage(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: WebSocketProtos_WebSocketResponseMessage) throws -> WebSocketProtoWebSocketResponseMessage {
|
||||
guard proto.hasRequestID else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: requestID")
|
||||
}
|
||||
let requestID = proto.requestID
|
||||
|
||||
guard proto.hasStatus else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: status")
|
||||
}
|
||||
let status = proto.status
|
||||
|
||||
guard proto.hasBody else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: body")
|
||||
}
|
||||
let body = proto.body
|
||||
|
||||
// MARK: - Begin Validation Logic for WebSocketProtoWebSocketResponseMessage -
|
||||
|
||||
// MARK: - End Validation Logic for WebSocketProtoWebSocketResponseMessage -
|
||||
|
||||
let result = WebSocketProtoWebSocketResponseMessage(proto: proto,
|
||||
requestID: requestID,
|
||||
status: status,
|
||||
body: body)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketMessage
|
||||
|
||||
@objc public class WebSocketProtoWebSocketMessage: NSObject {
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketMessageType
|
||||
|
||||
@objc public enum WebSocketProtoWebSocketMessageType: Int32 {
|
||||
case unknown = 0
|
||||
case request = 1
|
||||
case response = 2
|
||||
}
|
||||
|
||||
private class func WebSocketProtoWebSocketMessageTypeWrap(_ value: WebSocketProtos_WebSocketMessage.TypeEnum) -> WebSocketProtoWebSocketMessageType {
|
||||
switch value {
|
||||
case .unknown: return .unknown
|
||||
case .request: return .request
|
||||
case .response: return .response
|
||||
}
|
||||
}
|
||||
|
||||
private class func WebSocketProtoWebSocketMessageTypeUnwrap(_ value: WebSocketProtoWebSocketMessageType) -> WebSocketProtos_WebSocketMessage.TypeEnum {
|
||||
switch value {
|
||||
case .unknown: return .unknown
|
||||
case .request: return .request
|
||||
case .response: return .response
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - WebSocketProtoWebSocketMessageBuilder
|
||||
|
||||
@objc public class WebSocketProtoWebSocketMessageBuilder: NSObject {
|
||||
|
||||
private var proto = WebSocketProtos_WebSocketMessage()
|
||||
|
||||
@objc public override init() {}
|
||||
|
||||
@objc public func setType(_ valueParam: WebSocketProtoWebSocketMessageType) {
|
||||
proto.type = WebSocketProtoWebSocketMessageTypeUnwrap(valueParam)
|
||||
}
|
||||
|
||||
@objc public func setRequest(_ valueParam: WebSocketProtoWebSocketRequestMessage) {
|
||||
proto.request = valueParam.proto
|
||||
}
|
||||
|
||||
@objc public func setResponse(_ valueParam: WebSocketProtoWebSocketResponseMessage) {
|
||||
proto.response = valueParam.proto
|
||||
}
|
||||
|
||||
@objc public func build() throws -> WebSocketProtoWebSocketMessage {
|
||||
let wrapper = try WebSocketProtoWebSocketMessage.parseProto(proto)
|
||||
return wrapper
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate let proto: WebSocketProtos_WebSocketMessage
|
||||
|
||||
@objc public let type: WebSocketProtoWebSocketMessageType
|
||||
@objc public let request: WebSocketProtoWebSocketRequestMessage?
|
||||
@objc public let response: WebSocketProtoWebSocketResponseMessage?
|
||||
|
||||
private init(proto: WebSocketProtos_WebSocketMessage,
|
||||
type: WebSocketProtoWebSocketMessageType,
|
||||
request: WebSocketProtoWebSocketRequestMessage?,
|
||||
response: WebSocketProtoWebSocketResponseMessage?) {
|
||||
self.proto = proto
|
||||
self.type = type
|
||||
self.request = request
|
||||
self.response = response
|
||||
}
|
||||
|
||||
@objc
|
||||
public func serializedData() throws -> Data {
|
||||
return try self.proto.serializedData()
|
||||
}
|
||||
|
||||
@objc public class func parseData(_ serializedData: Data) throws -> WebSocketProtoWebSocketMessage {
|
||||
let proto = try WebSocketProtos_WebSocketMessage(serializedData: serializedData)
|
||||
return try parseProto(proto)
|
||||
}
|
||||
|
||||
fileprivate class func parseProto(_ proto: WebSocketProtos_WebSocketMessage) throws -> WebSocketProtoWebSocketMessage {
|
||||
guard proto.hasType else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: type")
|
||||
}
|
||||
let type = WebSocketProtoWebSocketMessageTypeWrap(proto.type)
|
||||
|
||||
var request: WebSocketProtoWebSocketRequestMessage? = nil
|
||||
if proto.hasRequest {
|
||||
request = try WebSocketProtoWebSocketRequestMessage.parseProto(proto.request)
|
||||
}
|
||||
|
||||
var response: WebSocketProtoWebSocketResponseMessage? = nil
|
||||
if proto.hasResponse {
|
||||
response = try WebSocketProtoWebSocketResponseMessage.parseProto(proto.response)
|
||||
}
|
||||
|
||||
// MARK: - Begin Validation Logic for WebSocketProtoWebSocketMessage -
|
||||
|
||||
// MARK: - End Validation Logic for WebSocketProtoWebSocketMessage -
|
||||
|
||||
let result = WebSocketProtoWebSocketMessage(proto: proto,
|
||||
type: type,
|
||||
request: request,
|
||||
response: response)
|
||||
return result
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue