|
|
|
@ -89,8 +89,11 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_Envelope
|
|
|
|
|
|
|
|
|
|
@objc public let type: SSKProtoEnvelopeType
|
|
|
|
|
|
|
|
|
|
@objc public let source: String
|
|
|
|
|
|
|
|
|
|
@objc public let sourceDevice: UInt32
|
|
|
|
|
|
|
|
|
|
@objc public let timestamp: UInt64
|
|
|
|
|
|
|
|
|
|
@objc public var relay: String? {
|
|
|
|
@ -220,10 +223,29 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_Content
|
|
|
|
|
|
|
|
|
|
@objc public let dataMessage: SSKProtoDataMessage?
|
|
|
|
|
@objc public var hasDataMessage: Bool {
|
|
|
|
|
return proto.hasDataMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let syncMessage: SSKProtoSyncMessage?
|
|
|
|
|
@objc public var hasSyncMessage: Bool {
|
|
|
|
|
return proto.hasSyncMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let callMessage: SSKProtoCallMessage?
|
|
|
|
|
@objc public var hasCallMessage: Bool {
|
|
|
|
|
return proto.hasCallMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let nullMessage: SSKProtoNullMessage?
|
|
|
|
|
@objc public var hasNullMessage: Bool {
|
|
|
|
|
return proto.hasNullMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let receiptMessage: SSKProtoReceiptMessage?
|
|
|
|
|
@objc public var hasReceiptMessage: Bool {
|
|
|
|
|
return proto.hasReceiptMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private init(proto: SignalServiceProtos_Content,
|
|
|
|
|
dataMessage: SSKProtoDataMessage?,
|
|
|
|
@ -701,10 +723,26 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_CallMessage
|
|
|
|
|
|
|
|
|
|
@objc public let offer: SSKProtoCallMessageOffer?
|
|
|
|
|
@objc public var hasOffer: Bool {
|
|
|
|
|
return proto.hasOffer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let answer: SSKProtoCallMessageAnswer?
|
|
|
|
|
@objc public var hasAnswer: Bool {
|
|
|
|
|
return proto.hasAnswer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let iceUpdate: [SSKProtoCallMessageIceUpdate]
|
|
|
|
|
|
|
|
|
|
@objc public let hangup: SSKProtoCallMessageHangup?
|
|
|
|
|
@objc public var hasHangup: Bool {
|
|
|
|
|
return proto.hasHangup
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let busy: SSKProtoCallMessageBusy?
|
|
|
|
|
@objc public var hasBusy: Bool {
|
|
|
|
|
return proto.hasBusy
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var profileKey: Data? {
|
|
|
|
|
guard proto.hasProfileKey else {
|
|
|
|
@ -836,6 +874,9 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Quote.QuotedAttachment
|
|
|
|
|
|
|
|
|
|
@objc public let thumbnail: SSKProtoAttachmentPointer?
|
|
|
|
|
@objc public var hasThumbnail: Bool {
|
|
|
|
|
return proto.hasThumbnail
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var contentType: String? {
|
|
|
|
|
guard proto.hasContentType else {
|
|
|
|
@ -943,7 +984,9 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Quote
|
|
|
|
|
|
|
|
|
|
@objc public let id: UInt64
|
|
|
|
|
|
|
|
|
|
@objc public let author: String
|
|
|
|
|
|
|
|
|
|
@objc public let attachments: [SSKProtoDataMessageQuoteQuotedAttachment]
|
|
|
|
|
|
|
|
|
|
@objc public var text: String? {
|
|
|
|
@ -1192,7 +1235,15 @@ public enum SSKProtoError: Error {
|
|
|
|
|
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Contact.Phone
|
|
|
|
|
|
|
|
|
|
@objc public let value: String
|
|
|
|
|
@objc public var value: String? {
|
|
|
|
|
guard proto.hasValue else {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return proto.value
|
|
|
|
|
}
|
|
|
|
|
@objc public var hasValue: Bool {
|
|
|
|
|
return proto.hasValue
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var type: SSKProtoDataMessageContactPhoneType {
|
|
|
|
|
return SSKProtoDataMessageContactPhone.SSKProtoDataMessageContactPhoneTypeWrap(proto.type)
|
|
|
|
@ -1211,10 +1262,8 @@ public enum SSKProtoError: Error {
|
|
|
|
|
return proto.hasLabel
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private init(proto: SignalServiceProtos_DataMessage.Contact.Phone,
|
|
|
|
|
value: String) {
|
|
|
|
|
private init(proto: SignalServiceProtos_DataMessage.Contact.Phone) {
|
|
|
|
|
self.proto = proto
|
|
|
|
|
self.value = value
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@ -1228,17 +1277,11 @@ public enum SSKProtoError: Error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact.Phone) throws -> SSKProtoDataMessageContactPhone {
|
|
|
|
|
guard proto.hasValue else {
|
|
|
|
|
throw SSKProtoError.invalidProtobuf(description: "\(logTag) missing required field: value")
|
|
|
|
|
}
|
|
|
|
|
let value = proto.value
|
|
|
|
|
|
|
|
|
|
// MARK: - Begin Validation Logic for SSKProtoDataMessageContactPhone -
|
|
|
|
|
|
|
|
|
|
// MARK: - End Validation Logic for SSKProtoDataMessageContactPhone -
|
|
|
|
|
|
|
|
|
|
let result = SSKProtoDataMessageContactPhone(proto: proto,
|
|
|
|
|
value: value)
|
|
|
|
|
let result = SSKProtoDataMessageContactPhone(proto: proto)
|
|
|
|
|
return result
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1302,7 +1345,15 @@ public enum SSKProtoError: Error {
|
|
|
|
|
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Contact.Email
|
|
|
|
|
|
|
|
|
|
@objc public let value: String
|
|
|
|
|
@objc public var value: String? {
|
|
|
|
|
guard proto.hasValue else {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return proto.value
|
|
|
|
|
}
|
|
|
|
|
@objc public var hasValue: Bool {
|
|
|
|
|
return proto.hasValue
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var type: SSKProtoDataMessageContactEmailType {
|
|
|
|
|
return SSKProtoDataMessageContactEmail.SSKProtoDataMessageContactEmailTypeWrap(proto.type)
|
|
|
|
@ -1321,10 +1372,8 @@ public enum SSKProtoError: Error {
|
|
|
|
|
return proto.hasLabel
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private init(proto: SignalServiceProtos_DataMessage.Contact.Email,
|
|
|
|
|
value: String) {
|
|
|
|
|
private init(proto: SignalServiceProtos_DataMessage.Contact.Email) {
|
|
|
|
|
self.proto = proto
|
|
|
|
|
self.value = value
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc
|
|
|
|
@ -1338,17 +1387,11 @@ public enum SSKProtoError: Error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact.Email) throws -> SSKProtoDataMessageContactEmail {
|
|
|
|
|
guard proto.hasValue else {
|
|
|
|
|
throw SSKProtoError.invalidProtobuf(description: "\(logTag) missing required field: value")
|
|
|
|
|
}
|
|
|
|
|
let value = proto.value
|
|
|
|
|
|
|
|
|
|
// MARK: - Begin Validation Logic for SSKProtoDataMessageContactEmail -
|
|
|
|
|
|
|
|
|
|
// MARK: - End Validation Logic for SSKProtoDataMessageContactEmail -
|
|
|
|
|
|
|
|
|
|
let result = SSKProtoDataMessageContactEmail(proto: proto,
|
|
|
|
|
value: value)
|
|
|
|
|
let result = SSKProtoDataMessageContactEmail(proto: proto)
|
|
|
|
|
return result
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1573,6 +1616,9 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Contact.Avatar
|
|
|
|
|
|
|
|
|
|
@objc public let avatar: SSKProtoAttachmentPointer?
|
|
|
|
|
@objc public var hasAvatar: Bool {
|
|
|
|
|
return proto.hasAvatar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var isProfile: Bool {
|
|
|
|
|
return proto.isProfile
|
|
|
|
@ -1688,10 +1734,20 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage.Contact
|
|
|
|
|
|
|
|
|
|
@objc public let name: SSKProtoDataMessageContactName?
|
|
|
|
|
@objc public var hasName: Bool {
|
|
|
|
|
return proto.hasName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let number: [SSKProtoDataMessageContactPhone]
|
|
|
|
|
|
|
|
|
|
@objc public let email: [SSKProtoDataMessageContactEmail]
|
|
|
|
|
|
|
|
|
|
@objc public let address: [SSKProtoDataMessageContactPostalAddress]
|
|
|
|
|
|
|
|
|
|
@objc public let avatar: SSKProtoDataMessageContactAvatar?
|
|
|
|
|
@objc public var hasAvatar: Bool {
|
|
|
|
|
return proto.hasAvatar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var organization: String? {
|
|
|
|
|
guard proto.hasOrganization else {
|
|
|
|
@ -1871,8 +1927,17 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_DataMessage
|
|
|
|
|
|
|
|
|
|
@objc public let attachments: [SSKProtoAttachmentPointer]
|
|
|
|
|
|
|
|
|
|
@objc public let group: SSKProtoGroupContext?
|
|
|
|
|
@objc public var hasGroup: Bool {
|
|
|
|
|
return proto.hasGroup
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let quote: SSKProtoDataMessageQuote?
|
|
|
|
|
@objc public var hasQuote: Bool {
|
|
|
|
|
return proto.hasQuote
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let contact: [SSKProtoDataMessageContact]
|
|
|
|
|
|
|
|
|
|
@objc public var body: String? {
|
|
|
|
@ -2287,6 +2352,9 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_SyncMessage.Sent
|
|
|
|
|
|
|
|
|
|
@objc public let message: SSKProtoDataMessage?
|
|
|
|
|
@objc public var hasMessage: Bool {
|
|
|
|
|
return proto.hasMessage
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var destination: String? {
|
|
|
|
|
guard proto.hasDestination else {
|
|
|
|
@ -2438,6 +2506,9 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_SyncMessage.Groups
|
|
|
|
|
|
|
|
|
|
@objc public let blob: SSKProtoAttachmentPointer?
|
|
|
|
|
@objc public var hasBlob: Bool {
|
|
|
|
|
return proto.hasBlob
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private init(proto: SignalServiceProtos_SyncMessage.Groups,
|
|
|
|
|
blob: SSKProtoAttachmentPointer?) {
|
|
|
|
@ -2650,6 +2721,7 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_SyncMessage.Read
|
|
|
|
|
|
|
|
|
|
@objc public let sender: String
|
|
|
|
|
|
|
|
|
|
@objc public let timestamp: UInt64
|
|
|
|
|
|
|
|
|
|
private init(proto: SignalServiceProtos_SyncMessage.Read,
|
|
|
|
@ -2814,13 +2886,41 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_SyncMessage
|
|
|
|
|
|
|
|
|
|
@objc public let sent: SSKProtoSyncMessageSent?
|
|
|
|
|
@objc public var hasSent: Bool {
|
|
|
|
|
return proto.hasSent
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let contacts: SSKProtoSyncMessageContacts?
|
|
|
|
|
@objc public var hasContacts: Bool {
|
|
|
|
|
return proto.hasContacts
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let groups: SSKProtoSyncMessageGroups?
|
|
|
|
|
@objc public var hasGroups: Bool {
|
|
|
|
|
return proto.hasGroups
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let request: SSKProtoSyncMessageRequest?
|
|
|
|
|
@objc public var hasRequest: Bool {
|
|
|
|
|
return proto.hasRequest
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let read: [SSKProtoSyncMessageRead]
|
|
|
|
|
|
|
|
|
|
@objc public let blocked: SSKProtoSyncMessageBlocked?
|
|
|
|
|
@objc public var hasBlocked: Bool {
|
|
|
|
|
return proto.hasBlocked
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let verified: SSKProtoVerified?
|
|
|
|
|
@objc public var hasVerified: Bool {
|
|
|
|
|
return proto.hasVerified
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let configuration: SSKProtoSyncMessageConfiguration?
|
|
|
|
|
@objc public var hasConfiguration: Bool {
|
|
|
|
|
return proto.hasConfiguration
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var padding: Data? {
|
|
|
|
|
guard proto.hasPadding else {
|
|
|
|
@ -3192,8 +3292,13 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_GroupContext
|
|
|
|
|
|
|
|
|
|
@objc public let id: Data
|
|
|
|
|
|
|
|
|
|
@objc public let type: SSKProtoGroupContextType
|
|
|
|
|
|
|
|
|
|
@objc public let avatar: SSKProtoAttachmentPointer?
|
|
|
|
|
@objc public var hasAvatar: Bool {
|
|
|
|
|
return proto.hasAvatar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var name: String? {
|
|
|
|
|
guard proto.hasName else {
|
|
|
|
@ -3379,8 +3484,16 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_ContactDetails
|
|
|
|
|
|
|
|
|
|
@objc public let number: String
|
|
|
|
|
|
|
|
|
|
@objc public let avatar: SSKProtoContactDetailsAvatar?
|
|
|
|
|
@objc public var hasAvatar: Bool {
|
|
|
|
|
return proto.hasAvatar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public let verified: SSKProtoVerified?
|
|
|
|
|
@objc public var hasVerified: Bool {
|
|
|
|
|
return proto.hasVerified
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var name: String? {
|
|
|
|
|
guard proto.hasName else {
|
|
|
|
@ -3602,7 +3715,11 @@ public enum SSKProtoError: Error {
|
|
|
|
|
fileprivate let proto: SignalServiceProtos_GroupDetails
|
|
|
|
|
|
|
|
|
|
@objc public let id: Data
|
|
|
|
|
|
|
|
|
|
@objc public let avatar: SSKProtoGroupDetailsAvatar?
|
|
|
|
|
@objc public var hasAvatar: Bool {
|
|
|
|
|
return proto.hasAvatar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@objc public var name: String? {
|
|
|
|
|
guard proto.hasName else {
|
|
|
|
|