1
0
forked from lug/matterbridge

Update dependencies and build to go1.22 (#2113)

* Update dependencies and build to go1.22

* Fix api changes wrt to dependencies

* Update golangci config
This commit is contained in:
Wim
2024-05-23 23:44:31 +02:00
committed by GitHub
parent 56e7bd01ca
commit 2f33fe86f5
1556 changed files with 3279522 additions and 1924375 deletions
@@ -0,0 +1 @@
e2ee.js
@@ -0,0 +1,32 @@
package armadilloutil
import (
"errors"
"fmt"
"google.golang.org/protobuf/proto"
"go.mau.fi/whatsmeow/binary/armadillo/waCommon"
)
var ErrUnsupportedVersion = errors.New("unsupported subprotocol version")
func Unmarshal[T proto.Message](into T, msg *waCommon.SubProtocol, expectedVersion int32) (T, error) {
if msg.GetVersion() != expectedVersion {
return into, fmt.Errorf("%w %d in %T (expected %d)", ErrUnsupportedVersion, msg.GetVersion(), into, expectedVersion)
}
err := proto.Unmarshal(msg.GetPayload(), into)
return into, err
}
func Marshal[T proto.Message](msg T, version int32) (*waCommon.SubProtocol, error) {
payload, err := proto.Marshal(msg)
if err != nil {
return nil, err
}
return &waCommon.SubProtocol{
Payload: payload,
Version: version,
}, nil
}
+29
View File
@@ -0,0 +1,29 @@
package armadillo
import (
"go.mau.fi/whatsmeow/binary/armadillo/waArmadilloApplication"
"go.mau.fi/whatsmeow/binary/armadillo/waCommon"
"go.mau.fi/whatsmeow/binary/armadillo/waConsumerApplication"
"go.mau.fi/whatsmeow/binary/armadillo/waMultiDevice"
)
type MessageApplicationSub interface {
IsMessageApplicationSub()
}
type Unsupported_BusinessApplication waCommon.SubProtocol
type Unsupported_PaymentApplication waCommon.SubProtocol
type Unsupported_Voip waCommon.SubProtocol
var (
_ MessageApplicationSub = (*waConsumerApplication.ConsumerApplication)(nil) // 2
_ MessageApplicationSub = (*Unsupported_BusinessApplication)(nil) // 3
_ MessageApplicationSub = (*Unsupported_PaymentApplication)(nil) // 4
_ MessageApplicationSub = (*waMultiDevice.MultiDevice)(nil) // 5
_ MessageApplicationSub = (*Unsupported_Voip)(nil) // 6
_ MessageApplicationSub = (*waArmadilloApplication.Armadillo)(nil) // 7
)
func (*Unsupported_BusinessApplication) IsMessageApplicationSub() {}
func (*Unsupported_PaymentApplication) IsMessageApplicationSub() {}
func (*Unsupported_Voip) IsMessageApplicationSub() {}
@@ -0,0 +1,9 @@
#!/bin/bash
cd $(dirname $0)
set -euo pipefail
if [[ ! -f "e2ee.js" ]]; then
echo "Please download the encryption javascript file and save it to e2ee.js first"
exit 1
fi
node parse-proto.js
protoc --go_out=. --go_opt=paths=source_relative --go_opt=embed_raw=true */*.proto
@@ -0,0 +1,351 @@
///////////////////
// JS EVALUATION //
///////////////////
const protos = []
const modules = {
"$InternalEnum": {
exports: {
exports: function (data) {
data.__enum__ = true
return data
}
}
},
}
function requireModule(name) {
if (!modules[name]) {
throw new Error(`Unknown requirement ${name}`)
}
return modules[name].exports
}
function requireDefault(name) {
return requireModule(name).exports
}
function ignoreModule(name) {
if (name === "WAProtoConst") {
return false
} else if (!name.endsWith(".pb")) {
// Ignore any non-protobuf modules, except WAProtoConst above
return true
} else if (name.startsWith("MAWArmadillo") && (name.endsWith("TableSchema.pb") || name.endsWith("TablesSchema.pb"))) {
// Ignore internal table schemas
return true
} else if (name === "WASignalLocalStorageProtocol.pb" || name === "WASignalWhisperTextProtocol.pb") {
// Ignore standard signal protocol stuff
return true
} else {
return false
}
}
function defineModule(name, dependencies, callback, unknownIntOrNull) {
if (ignoreModule(name)) {
return
}
const exports = {}
if (dependencies.length > 0) {
callback(null, requireDefault, null, requireModule, null, null, exports)
} else {
callback(null, requireDefault, null, requireModule, exports, exports)
}
modules[name] = {exports, dependencies}
}
global.self = global
global.__d = defineModule
require("./e2ee.js")
function dereference(obj, module, currentPath, next, ...remainder) {
if (!next) {
return obj
}
if (!obj.messages[next]) {
obj.messages[next] = {messages: {}, enums: {}, __module__: module, __path__: currentPath, __name__: next}
}
return dereference(obj.messages[next], module, currentPath.concat([next]), ...remainder)
}
function dereferenceSnake(obj, currentPath, path) {
let next = path[0]
path = path.slice(1)
while (!obj.messages[next]) {
if (path.length === 0) {
return [obj, currentPath, next]
}
next += path[0]
path = path.slice(1)
}
return dereferenceSnake(obj.messages[next], currentPath.concat([next]), path)
}
function renameModule(name) {
return name.replace(".pb", "")
}
function renameDependencies(dependencies) {
return dependencies
.filter(name => name.endsWith(".pb"))
.map(renameModule)
.map(name => name === "WAProtocol" ? "WACommon" : name)
}
function renameType(protoName, fieldName, field) {
return fieldName
}
for (const [name, module] of Object.entries(modules)) {
if (!name.endsWith(".pb")) {
continue
} else if (!module.exports) {
console.warn(name, "has no exports")
continue
}
// Slightly hacky way to get rid of WAProtocol.pb and just use the MessageKey in WACommon
if (name === "WAProtocol.pb") {
if (Object.entries(module.exports).length > 1) {
console.warn("WAProtocol.pb has more than one export")
}
module.exports["MessageKeySpec"].__name__ = "MessageKey"
module.exports["MessageKeySpec"].__module__ = "WACommon"
module.exports["MessageKeySpec"].__path__ = []
continue
}
const proto = {
__protobuf__: true,
messages: {},
enums: {},
__name__: renameModule(name),
dependencies: renameDependencies(module.dependencies),
}
const upperSnakeEnums = []
for (const [name, field] of Object.entries(module.exports)) {
const namePath = name.replace(/Spec$/, "").split("$")
field.__name__ = renameType(proto.__name__, namePath[namePath.length - 1], field)
namePath[namePath.length - 1] = field.__name__
field.__path__ = namePath.slice(0, -1)
field.__module__ = proto.__name__
if (field.internalSpec) {
dereference(proto, proto.__name__, [], ...namePath).message = field.internalSpec
} else if (namePath.length === 1 && name.toUpperCase() === name) {
upperSnakeEnums.push(field)
} else {
dereference(proto, proto.__name__, [], ...namePath.slice(0, -1)).enums[field.__name__] = field
}
}
// Some enums have uppercase names, instead of capital case with $ separators.
// For those, we need to find the right nesting location.
for (const field of upperSnakeEnums) {
field.__enum__ = true
const [obj, path, name] = dereferenceSnake(proto, [], field.__name__.split("_").map(part => part[0] + part.slice(1).toLowerCase()))
field.__path__ = path
field.__name__ = name
field.__module__ = proto.__name__
obj.enums[name] = field
}
protos.push(proto)
}
////////////////////////////////
// PROTOBUF SCHEMA GENERATION //
////////////////////////////////
function indent(lines, indent = "\t") {
return lines.map(line => line ? `${indent}${line}` : "")
}
function flattenWithBlankLines(...items) {
return items
.flatMap(item => item.length > 0 ? [item, [""]] : [])
.slice(0, -1)
.flatMap(item => item)
}
function protoifyChildren(container) {
return flattenWithBlankLines(
...Object.values(container.enums).map(protoifyEnum),
...Object.values(container.messages).map(protoifyMessage),
)
}
function protoifyEnum(enumDef) {
const values = []
const names = Object.fromEntries(Object.entries(enumDef).map(([name, value]) => [value, name]))
if (!names["0"]) {
if (names["-1"]) {
enumDef[names["-1"]] = 0
} else {
// TODO add snake case
values.push(`${enumDef.__name__.toUpperCase()}_UNKNOWN = 0;`)
}
}
for (const [name, value] of Object.entries(enumDef)) {
if (name.startsWith("__") && name.endsWith("__")) {
continue
}
values.push(`${name} = ${value};`)
}
return [`enum ${enumDef.__name__} ` + "{", ...indent(values), "}"]
}
const {TYPES, TYPE_MASK, FLAGS} = requireModule("WAProtoConst")
function fieldTypeName(typeID, typeRef, parentModule, parentPath) {
switch (typeID) {
case TYPES.INT32:
return "int32"
case TYPES.INT64:
return "int64"
case TYPES.UINT32:
return "uint32"
case TYPES.UINT64:
return "uint64"
case TYPES.SINT32:
return "sint32"
case TYPES.SINT64:
return "sint64"
case TYPES.BOOL:
return "bool"
case TYPES.ENUM:
case TYPES.MESSAGE:
let pathStartIndex = 0
for (let i = 0; i < parentPath.length && i < typeRef.__path__.length; i++) {
if (typeRef.__path__[i] === parentPath[i]) {
pathStartIndex++
} else {
break
}
}
const namePath = []
if (typeRef.__module__ !== parentModule) {
namePath.push(typeRef.__module__)
pathStartIndex = 0
}
namePath.push(...typeRef.__path__.slice(pathStartIndex))
namePath.push(typeRef.__name__)
return namePath.join(".")
case TYPES.FIXED64:
return "fixed64"
case TYPES.SFIXED64:
return "sfixed64"
case TYPES.DOUBLE:
return "double"
case TYPES.STRING:
return "string"
case TYPES.BYTES:
return "bytes"
case TYPES.FIXED32:
return "fixed32"
case TYPES.SFIXED32:
return "sfixed32"
case TYPES.FLOAT:
return "float"
}
}
const staticRenames = {
id: "ID",
jid: "JID",
encIv: "encIV",
iv: "IV",
ptt: "PTT",
hmac: "HMAC",
url: "URL",
fbid: "FBID",
jpegThumbnail: "JPEGThumbnail",
dsm: "DSM",
}
function fixFieldName(name) {
if (name === "id") {
return "ID"
} else if (name === "encIv") {
return "encIV"
}
return staticRenames[name] ?? name
.replace(/Id([A-Zs]|$)/, "ID$1")
.replace("Jid", "JID")
.replace(/Ms([A-Z]|$)/, "MS$1")
.replace(/Ts([A-Z]|$)/, "TS$1")
.replace(/Mac([A-Z]|$)/, "MAC$1")
.replace("Url", "URL")
.replace("Cdn", "CDN")
.replace("Json", "JSON")
.replace("Jpeg", "JPEG")
.replace("Sha256", "SHA256")
}
function protoifyField(name, [index, flags, typeRef], parentModule, parentPath) {
const preflags = []
const postflags = [""]
if ((flags & FLAGS.REPEATED) !== 0) {
preflags.push("repeated")
}
// if ((flags & FLAGS.REQUIRED) === 0) {
// preflags.push("optional")
// } else {
// preflags.push("required")
// }
preflags.push(fieldTypeName(flags & TYPE_MASK, typeRef, parentModule, parentPath))
if ((flags & FLAGS.PACKED) !== 0) {
postflags.push(`[packed=true]`)
}
return `${preflags.join(" ")} ${fixFieldName(name)} = ${index}${postflags.join(" ")};`
}
function protoifyFields(fields, parentModule, parentPath) {
return Object.entries(fields).map(([name, definition]) => protoifyField(name, definition, parentModule, parentPath))
}
function protoifyMessage(message) {
const sections = [protoifyChildren(message)]
const spec = message.message
const fullMessagePath = message.__path__.concat([message.__name__])
for (const [name, fieldNames] of Object.entries(spec.__oneofs__ ?? {})) {
const fields = Object.fromEntries(fieldNames.map(fieldName => {
const def = spec[fieldName]
delete spec[fieldName]
return [fieldName, def]
}))
sections.push([`oneof ${name} ` + "{", ...indent(protoifyFields(fields, message.__module__, fullMessagePath)), "}"])
}
if (spec.__reserved__) {
console.warn("Found reserved keys:", message.__name__, spec.__reserved__)
}
delete spec.__oneofs__
delete spec.__reserved__
sections.push(protoifyFields(spec, message.__module__, fullMessagePath))
return [`message ${message.__name__} ` + "{", ...indent(flattenWithBlankLines(...sections)), "}"]
}
function goPackageName(name) {
return name.replace(/^WA/, "wa")
}
function protoifyModule(module) {
const output = []
output.push(`syntax = "proto3";`)
output.push(`package ${module.__name__};`)
output.push(`option go_package = "go.mau.fi/whatsmeow/binary/armadillo/${goPackageName(module.__name__)}";`)
output.push("")
if (module.dependencies.length > 0) {
for (const dependency of module.dependencies) {
output.push(`import "${goPackageName(dependency)}/${dependency}.proto";`)
}
output.push("")
}
const children = protoifyChildren(module)
children.push("")
return output.concat(children)
}
const fs = require("fs")
for (const proto of protos) {
fs.mkdirSync(goPackageName(proto.__name__), {recursive: true})
fs.writeFileSync(`${goPackageName(proto.__name__)}/${proto.__name__}.proto`, protoifyModule(proto).join("\n"))
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,245 @@
syntax = "proto3";
package WAArmadilloApplication;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waArmadilloApplication";
import "waArmadilloXMA/WAArmadilloXMA.proto";
import "waCommon/WACommon.proto";
message Armadillo {
message Metadata {
}
message Payload {
oneof payload {
Content content = 1;
ApplicationData applicationData = 2;
Signal signal = 3;
SubProtocolPayload subProtocol = 4;
}
}
message SubProtocolPayload {
WACommon.FutureProofBehavior futureProof = 1;
}
message Signal {
message EncryptedBackupsSecrets {
message Epoch {
enum EpochStatus {
EPOCHSTATUS_UNKNOWN = 0;
ES_OPEN = 1;
ES_CLOSE = 2;
}
uint64 ID = 1;
bytes anonID = 2;
bytes rootKey = 3;
EpochStatus status = 4;
}
uint64 backupID = 1;
uint64 serverDataID = 2;
repeated Epoch epoch = 3;
bytes tempOcmfClientState = 4;
bytes mailboxRootKey = 5;
bytes obliviousValidationToken = 6;
}
oneof signal {
EncryptedBackupsSecrets encryptedBackupsSecrets = 1;
}
}
message ApplicationData {
message AIBotResponseMessage {
string summonToken = 1;
string messageText = 2;
string serializedExtras = 3;
}
message MetadataSyncAction {
message SyncMessageAction {
message ActionMessageDelete {
}
oneof action {
ActionMessageDelete messageDelete = 101;
}
WACommon.MessageKey key = 1;
}
message SyncChatAction {
message ActionChatRead {
SyncActionMessageRange messageRange = 1;
bool read = 2;
}
message ActionChatDelete {
SyncActionMessageRange messageRange = 1;
}
message ActionChatArchive {
SyncActionMessageRange messageRange = 1;
bool archived = 2;
}
oneof action {
ActionChatArchive chatArchive = 101;
ActionChatDelete chatDelete = 102;
ActionChatRead chatRead = 103;
}
string chatID = 1;
}
message SyncActionMessage {
WACommon.MessageKey key = 1;
int64 timestamp = 2;
}
message SyncActionMessageRange {
int64 lastMessageTimestamp = 1;
int64 lastSystemMessageTimestamp = 2;
repeated SyncActionMessage messages = 3;
}
oneof actionType {
SyncChatAction chatAction = 101;
SyncMessageAction messageAction = 102;
}
int64 actionTimestamp = 1;
}
message MetadataSyncNotification {
repeated MetadataSyncAction actions = 2;
}
oneof applicationData {
MetadataSyncNotification metadataSync = 1;
AIBotResponseMessage aiBotResponse = 2;
}
}
message Content {
message PaymentsTransactionMessage {
enum PaymentStatus {
PAYMENT_UNKNOWN = 0;
REQUEST_INITED = 4;
REQUEST_DECLINED = 5;
REQUEST_TRANSFER_INITED = 6;
REQUEST_TRANSFER_COMPLETED = 7;
REQUEST_TRANSFER_FAILED = 8;
REQUEST_CANCELED = 9;
REQUEST_EXPIRED = 10;
TRANSFER_INITED = 11;
TRANSFER_PENDING = 12;
TRANSFER_PENDING_RECIPIENT_VERIFICATION = 13;
TRANSFER_CANCELED = 14;
TRANSFER_COMPLETED = 15;
TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED = 16;
TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER = 17;
TRANSFER_REFUNDED = 18;
TRANSFER_PARTIAL_REFUND = 19;
TRANSFER_CHARGED_BACK = 20;
TRANSFER_EXPIRED = 21;
TRANSFER_DECLINED = 22;
TRANSFER_UNAVAILABLE = 23;
}
uint64 transactionID = 1;
string amount = 2;
string currency = 3;
PaymentStatus paymentStatus = 4;
WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 5;
}
message NoteReplyMessage {
string noteID = 1;
WACommon.MessageText noteText = 2;
int64 noteTimestampMS = 3;
WACommon.MessageText noteReplyText = 4;
}
message BumpExistingMessage {
WACommon.MessageKey key = 1;
}
message ImageGalleryMessage {
repeated WACommon.SubProtocol images = 1;
}
message ScreenshotAction {
enum ScreenshotType {
SCREENSHOTTYPE_UNKNOWN = 0;
SCREENSHOT_IMAGE = 1;
SCREEN_RECORDING = 2;
}
ScreenshotType screenshotType = 1;
}
message ExtendedContentMessageWithSear {
string searID = 1;
bytes payload = 2;
string nativeURL = 3;
WACommon.SubProtocol searAssociatedMessage = 4;
string searSentWithMessageID = 5;
}
message RavenActionNotifMessage {
enum ActionType {
PLAYED = 0;
SCREENSHOT = 1;
FORCE_DISABLE = 2;
}
WACommon.MessageKey key = 1;
int64 actionTimestamp = 2;
ActionType actionType = 3;
}
message RavenMessage {
enum EphemeralType {
VIEW_ONCE = 0;
ALLOW_REPLAY = 1;
KEEP_IN_CHAT = 2;
}
oneof mediaContent {
WACommon.SubProtocol imageMessage = 2;
WACommon.SubProtocol videoMessage = 3;
}
EphemeralType ephemeralType = 1;
}
message CommonSticker {
enum StickerType {
STICKERTYPE_UNKNOWN = 0;
SMALL_LIKE = 1;
MEDIUM_LIKE = 2;
LARGE_LIKE = 3;
}
StickerType stickerType = 1;
}
oneof content {
CommonSticker commonSticker = 1;
ScreenshotAction screenshotAction = 3;
WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 4;
RavenMessage ravenMessage = 5;
RavenActionNotifMessage ravenActionNotifMessage = 6;
ExtendedContentMessageWithSear extendedMessageContentWithSear = 7;
ImageGalleryMessage imageGalleryMessage = 8;
PaymentsTransactionMessage paymentsTransactionMessage = 10;
BumpExistingMessage bumpExistingMessage = 11;
NoteReplyMessage noteReplyMessage = 13;
}
}
Payload payload = 1;
Metadata metadata = 2;
}
@@ -0,0 +1,3 @@
package waArmadilloApplication
func (*Armadillo) IsMessageApplicationSub() {}
@@ -0,0 +1,785 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.12
// source: waArmadilloXMA/WAArmadilloXMA.proto
package waArmadilloXMA
import (
reflect "reflect"
sync "sync"
waCommon "go.mau.fi/whatsmeow/binary/armadillo/waCommon"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "embed"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type ExtendedContentMessage_OverlayIconGlyph int32
const (
ExtendedContentMessage_INFO ExtendedContentMessage_OverlayIconGlyph = 0
ExtendedContentMessage_EYE_OFF ExtendedContentMessage_OverlayIconGlyph = 1
ExtendedContentMessage_NEWS_OFF ExtendedContentMessage_OverlayIconGlyph = 2
ExtendedContentMessage_WARNING ExtendedContentMessage_OverlayIconGlyph = 3
ExtendedContentMessage_PRIVATE ExtendedContentMessage_OverlayIconGlyph = 4
ExtendedContentMessage_NONE ExtendedContentMessage_OverlayIconGlyph = 5
ExtendedContentMessage_MEDIA_LABEL ExtendedContentMessage_OverlayIconGlyph = 6
ExtendedContentMessage_POST_COVER ExtendedContentMessage_OverlayIconGlyph = 7
ExtendedContentMessage_POST_LABEL ExtendedContentMessage_OverlayIconGlyph = 8
ExtendedContentMessage_WARNING_SCREENS ExtendedContentMessage_OverlayIconGlyph = 9
)
// Enum value maps for ExtendedContentMessage_OverlayIconGlyph.
var (
ExtendedContentMessage_OverlayIconGlyph_name = map[int32]string{
0: "INFO",
1: "EYE_OFF",
2: "NEWS_OFF",
3: "WARNING",
4: "PRIVATE",
5: "NONE",
6: "MEDIA_LABEL",
7: "POST_COVER",
8: "POST_LABEL",
9: "WARNING_SCREENS",
}
ExtendedContentMessage_OverlayIconGlyph_value = map[string]int32{
"INFO": 0,
"EYE_OFF": 1,
"NEWS_OFF": 2,
"WARNING": 3,
"PRIVATE": 4,
"NONE": 5,
"MEDIA_LABEL": 6,
"POST_COVER": 7,
"POST_LABEL": 8,
"WARNING_SCREENS": 9,
}
)
func (x ExtendedContentMessage_OverlayIconGlyph) Enum() *ExtendedContentMessage_OverlayIconGlyph {
p := new(ExtendedContentMessage_OverlayIconGlyph)
*p = x
return p
}
func (x ExtendedContentMessage_OverlayIconGlyph) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExtendedContentMessage_OverlayIconGlyph) Descriptor() protoreflect.EnumDescriptor {
return file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[0].Descriptor()
}
func (ExtendedContentMessage_OverlayIconGlyph) Type() protoreflect.EnumType {
return &file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[0]
}
func (x ExtendedContentMessage_OverlayIconGlyph) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExtendedContentMessage_OverlayIconGlyph.Descriptor instead.
func (ExtendedContentMessage_OverlayIconGlyph) EnumDescriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0, 0}
}
type ExtendedContentMessage_CtaButtonType int32
const (
ExtendedContentMessage_CTABUTTONTYPE_UNKNOWN ExtendedContentMessage_CtaButtonType = 0
ExtendedContentMessage_OPEN_NATIVE ExtendedContentMessage_CtaButtonType = 11
)
// Enum value maps for ExtendedContentMessage_CtaButtonType.
var (
ExtendedContentMessage_CtaButtonType_name = map[int32]string{
0: "CTABUTTONTYPE_UNKNOWN",
11: "OPEN_NATIVE",
}
ExtendedContentMessage_CtaButtonType_value = map[string]int32{
"CTABUTTONTYPE_UNKNOWN": 0,
"OPEN_NATIVE": 11,
}
)
func (x ExtendedContentMessage_CtaButtonType) Enum() *ExtendedContentMessage_CtaButtonType {
p := new(ExtendedContentMessage_CtaButtonType)
*p = x
return p
}
func (x ExtendedContentMessage_CtaButtonType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExtendedContentMessage_CtaButtonType) Descriptor() protoreflect.EnumDescriptor {
return file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[1].Descriptor()
}
func (ExtendedContentMessage_CtaButtonType) Type() protoreflect.EnumType {
return &file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[1]
}
func (x ExtendedContentMessage_CtaButtonType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExtendedContentMessage_CtaButtonType.Descriptor instead.
func (ExtendedContentMessage_CtaButtonType) EnumDescriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0, 1}
}
type ExtendedContentMessage_XmaLayoutType int32
const (
ExtendedContentMessage_SINGLE ExtendedContentMessage_XmaLayoutType = 0
ExtendedContentMessage_PORTRAIT ExtendedContentMessage_XmaLayoutType = 3
ExtendedContentMessage_STANDARD_DXMA ExtendedContentMessage_XmaLayoutType = 12
ExtendedContentMessage_LIST_DXMA ExtendedContentMessage_XmaLayoutType = 15
)
// Enum value maps for ExtendedContentMessage_XmaLayoutType.
var (
ExtendedContentMessage_XmaLayoutType_name = map[int32]string{
0: "SINGLE",
3: "PORTRAIT",
12: "STANDARD_DXMA",
15: "LIST_DXMA",
}
ExtendedContentMessage_XmaLayoutType_value = map[string]int32{
"SINGLE": 0,
"PORTRAIT": 3,
"STANDARD_DXMA": 12,
"LIST_DXMA": 15,
}
)
func (x ExtendedContentMessage_XmaLayoutType) Enum() *ExtendedContentMessage_XmaLayoutType {
p := new(ExtendedContentMessage_XmaLayoutType)
*p = x
return p
}
func (x ExtendedContentMessage_XmaLayoutType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExtendedContentMessage_XmaLayoutType) Descriptor() protoreflect.EnumDescriptor {
return file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[2].Descriptor()
}
func (ExtendedContentMessage_XmaLayoutType) Type() protoreflect.EnumType {
return &file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[2]
}
func (x ExtendedContentMessage_XmaLayoutType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExtendedContentMessage_XmaLayoutType.Descriptor instead.
func (ExtendedContentMessage_XmaLayoutType) EnumDescriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0, 2}
}
type ExtendedContentMessage_ExtendedContentType int32
const (
ExtendedContentMessage_EXTENDEDCONTENTTYPE_UNKNOWN ExtendedContentMessage_ExtendedContentType = 0
ExtendedContentMessage_IG_STORY_PHOTO_MENTION ExtendedContentMessage_ExtendedContentType = 4
ExtendedContentMessage_IG_SINGLE_IMAGE_POST_SHARE ExtendedContentMessage_ExtendedContentType = 9
ExtendedContentMessage_IG_MULTIPOST_SHARE ExtendedContentMessage_ExtendedContentType = 10
ExtendedContentMessage_IG_SINGLE_VIDEO_POST_SHARE ExtendedContentMessage_ExtendedContentType = 11
ExtendedContentMessage_IG_STORY_PHOTO_SHARE ExtendedContentMessage_ExtendedContentType = 12
ExtendedContentMessage_IG_STORY_VIDEO_SHARE ExtendedContentMessage_ExtendedContentType = 13
ExtendedContentMessage_IG_CLIPS_SHARE ExtendedContentMessage_ExtendedContentType = 14
ExtendedContentMessage_IG_IGTV_SHARE ExtendedContentMessage_ExtendedContentType = 15
ExtendedContentMessage_IG_SHOP_SHARE ExtendedContentMessage_ExtendedContentType = 16
ExtendedContentMessage_IG_PROFILE_SHARE ExtendedContentMessage_ExtendedContentType = 19
ExtendedContentMessage_IG_STORY_PHOTO_HIGHLIGHT_SHARE ExtendedContentMessage_ExtendedContentType = 20
ExtendedContentMessage_IG_STORY_VIDEO_HIGHLIGHT_SHARE ExtendedContentMessage_ExtendedContentType = 21
ExtendedContentMessage_IG_STORY_REPLY ExtendedContentMessage_ExtendedContentType = 22
ExtendedContentMessage_IG_STORY_REACTION ExtendedContentMessage_ExtendedContentType = 23
ExtendedContentMessage_IG_STORY_VIDEO_MENTION ExtendedContentMessage_ExtendedContentType = 24
ExtendedContentMessage_IG_STORY_HIGHLIGHT_REPLY ExtendedContentMessage_ExtendedContentType = 25
ExtendedContentMessage_IG_STORY_HIGHLIGHT_REACTION ExtendedContentMessage_ExtendedContentType = 26
ExtendedContentMessage_IG_EXTERNAL_LINK ExtendedContentMessage_ExtendedContentType = 27
ExtendedContentMessage_IG_RECEIVER_FETCH ExtendedContentMessage_ExtendedContentType = 28
ExtendedContentMessage_FB_FEED_SHARE ExtendedContentMessage_ExtendedContentType = 1000
ExtendedContentMessage_FB_STORY_REPLY ExtendedContentMessage_ExtendedContentType = 1001
ExtendedContentMessage_FB_STORY_SHARE ExtendedContentMessage_ExtendedContentType = 1002
ExtendedContentMessage_FB_STORY_MENTION ExtendedContentMessage_ExtendedContentType = 1003
ExtendedContentMessage_FB_FEED_VIDEO_SHARE ExtendedContentMessage_ExtendedContentType = 1004
ExtendedContentMessage_FB_GAMING_CUSTOM_UPDATE ExtendedContentMessage_ExtendedContentType = 1005
ExtendedContentMessage_FB_PRODUCER_STORY_REPLY ExtendedContentMessage_ExtendedContentType = 1006
ExtendedContentMessage_FB_EVENT ExtendedContentMessage_ExtendedContentType = 1007
ExtendedContentMessage_FB_FEED_POST_PRIVATE_REPLY ExtendedContentMessage_ExtendedContentType = 1008
ExtendedContentMessage_FB_SHORT ExtendedContentMessage_ExtendedContentType = 1009
ExtendedContentMessage_FB_COMMENT_MENTION_SHARE ExtendedContentMessage_ExtendedContentType = 1010
ExtendedContentMessage_MSG_EXTERNAL_LINK_SHARE ExtendedContentMessage_ExtendedContentType = 2000
ExtendedContentMessage_MSG_P2P_PAYMENT ExtendedContentMessage_ExtendedContentType = 2001
ExtendedContentMessage_MSG_LOCATION_SHARING ExtendedContentMessage_ExtendedContentType = 2002
ExtendedContentMessage_MSG_LOCATION_SHARING_V2 ExtendedContentMessage_ExtendedContentType = 2003
ExtendedContentMessage_MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY ExtendedContentMessage_ExtendedContentType = 2004
ExtendedContentMessage_MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY ExtendedContentMessage_ExtendedContentType = 2005
ExtendedContentMessage_MSG_RECEIVER_FETCH ExtendedContentMessage_ExtendedContentType = 2006
ExtendedContentMessage_MSG_IG_MEDIA_SHARE ExtendedContentMessage_ExtendedContentType = 2007
ExtendedContentMessage_MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE ExtendedContentMessage_ExtendedContentType = 2008
ExtendedContentMessage_MSG_REELS_LIST ExtendedContentMessage_ExtendedContentType = 2009
ExtendedContentMessage_MSG_CONTACT ExtendedContentMessage_ExtendedContentType = 2010
ExtendedContentMessage_RTC_AUDIO_CALL ExtendedContentMessage_ExtendedContentType = 3000
ExtendedContentMessage_RTC_VIDEO_CALL ExtendedContentMessage_ExtendedContentType = 3001
ExtendedContentMessage_RTC_MISSED_AUDIO_CALL ExtendedContentMessage_ExtendedContentType = 3002
ExtendedContentMessage_RTC_MISSED_VIDEO_CALL ExtendedContentMessage_ExtendedContentType = 3003
ExtendedContentMessage_RTC_GROUP_AUDIO_CALL ExtendedContentMessage_ExtendedContentType = 3004
ExtendedContentMessage_RTC_GROUP_VIDEO_CALL ExtendedContentMessage_ExtendedContentType = 3005
ExtendedContentMessage_RTC_MISSED_GROUP_AUDIO_CALL ExtendedContentMessage_ExtendedContentType = 3006
ExtendedContentMessage_RTC_MISSED_GROUP_VIDEO_CALL ExtendedContentMessage_ExtendedContentType = 3007
ExtendedContentMessage_DATACLASS_SENDER_COPY ExtendedContentMessage_ExtendedContentType = 4000
)
// Enum value maps for ExtendedContentMessage_ExtendedContentType.
var (
ExtendedContentMessage_ExtendedContentType_name = map[int32]string{
0: "EXTENDEDCONTENTTYPE_UNKNOWN",
4: "IG_STORY_PHOTO_MENTION",
9: "IG_SINGLE_IMAGE_POST_SHARE",
10: "IG_MULTIPOST_SHARE",
11: "IG_SINGLE_VIDEO_POST_SHARE",
12: "IG_STORY_PHOTO_SHARE",
13: "IG_STORY_VIDEO_SHARE",
14: "IG_CLIPS_SHARE",
15: "IG_IGTV_SHARE",
16: "IG_SHOP_SHARE",
19: "IG_PROFILE_SHARE",
20: "IG_STORY_PHOTO_HIGHLIGHT_SHARE",
21: "IG_STORY_VIDEO_HIGHLIGHT_SHARE",
22: "IG_STORY_REPLY",
23: "IG_STORY_REACTION",
24: "IG_STORY_VIDEO_MENTION",
25: "IG_STORY_HIGHLIGHT_REPLY",
26: "IG_STORY_HIGHLIGHT_REACTION",
27: "IG_EXTERNAL_LINK",
28: "IG_RECEIVER_FETCH",
1000: "FB_FEED_SHARE",
1001: "FB_STORY_REPLY",
1002: "FB_STORY_SHARE",
1003: "FB_STORY_MENTION",
1004: "FB_FEED_VIDEO_SHARE",
1005: "FB_GAMING_CUSTOM_UPDATE",
1006: "FB_PRODUCER_STORY_REPLY",
1007: "FB_EVENT",
1008: "FB_FEED_POST_PRIVATE_REPLY",
1009: "FB_SHORT",
1010: "FB_COMMENT_MENTION_SHARE",
2000: "MSG_EXTERNAL_LINK_SHARE",
2001: "MSG_P2P_PAYMENT",
2002: "MSG_LOCATION_SHARING",
2003: "MSG_LOCATION_SHARING_V2",
2004: "MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY",
2005: "MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY",
2006: "MSG_RECEIVER_FETCH",
2007: "MSG_IG_MEDIA_SHARE",
2008: "MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE",
2009: "MSG_REELS_LIST",
2010: "MSG_CONTACT",
3000: "RTC_AUDIO_CALL",
3001: "RTC_VIDEO_CALL",
3002: "RTC_MISSED_AUDIO_CALL",
3003: "RTC_MISSED_VIDEO_CALL",
3004: "RTC_GROUP_AUDIO_CALL",
3005: "RTC_GROUP_VIDEO_CALL",
3006: "RTC_MISSED_GROUP_AUDIO_CALL",
3007: "RTC_MISSED_GROUP_VIDEO_CALL",
4000: "DATACLASS_SENDER_COPY",
}
ExtendedContentMessage_ExtendedContentType_value = map[string]int32{
"EXTENDEDCONTENTTYPE_UNKNOWN": 0,
"IG_STORY_PHOTO_MENTION": 4,
"IG_SINGLE_IMAGE_POST_SHARE": 9,
"IG_MULTIPOST_SHARE": 10,
"IG_SINGLE_VIDEO_POST_SHARE": 11,
"IG_STORY_PHOTO_SHARE": 12,
"IG_STORY_VIDEO_SHARE": 13,
"IG_CLIPS_SHARE": 14,
"IG_IGTV_SHARE": 15,
"IG_SHOP_SHARE": 16,
"IG_PROFILE_SHARE": 19,
"IG_STORY_PHOTO_HIGHLIGHT_SHARE": 20,
"IG_STORY_VIDEO_HIGHLIGHT_SHARE": 21,
"IG_STORY_REPLY": 22,
"IG_STORY_REACTION": 23,
"IG_STORY_VIDEO_MENTION": 24,
"IG_STORY_HIGHLIGHT_REPLY": 25,
"IG_STORY_HIGHLIGHT_REACTION": 26,
"IG_EXTERNAL_LINK": 27,
"IG_RECEIVER_FETCH": 28,
"FB_FEED_SHARE": 1000,
"FB_STORY_REPLY": 1001,
"FB_STORY_SHARE": 1002,
"FB_STORY_MENTION": 1003,
"FB_FEED_VIDEO_SHARE": 1004,
"FB_GAMING_CUSTOM_UPDATE": 1005,
"FB_PRODUCER_STORY_REPLY": 1006,
"FB_EVENT": 1007,
"FB_FEED_POST_PRIVATE_REPLY": 1008,
"FB_SHORT": 1009,
"FB_COMMENT_MENTION_SHARE": 1010,
"MSG_EXTERNAL_LINK_SHARE": 2000,
"MSG_P2P_PAYMENT": 2001,
"MSG_LOCATION_SHARING": 2002,
"MSG_LOCATION_SHARING_V2": 2003,
"MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY": 2004,
"MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY": 2005,
"MSG_RECEIVER_FETCH": 2006,
"MSG_IG_MEDIA_SHARE": 2007,
"MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE": 2008,
"MSG_REELS_LIST": 2009,
"MSG_CONTACT": 2010,
"RTC_AUDIO_CALL": 3000,
"RTC_VIDEO_CALL": 3001,
"RTC_MISSED_AUDIO_CALL": 3002,
"RTC_MISSED_VIDEO_CALL": 3003,
"RTC_GROUP_AUDIO_CALL": 3004,
"RTC_GROUP_VIDEO_CALL": 3005,
"RTC_MISSED_GROUP_AUDIO_CALL": 3006,
"RTC_MISSED_GROUP_VIDEO_CALL": 3007,
"DATACLASS_SENDER_COPY": 4000,
}
)
func (x ExtendedContentMessage_ExtendedContentType) Enum() *ExtendedContentMessage_ExtendedContentType {
p := new(ExtendedContentMessage_ExtendedContentType)
*p = x
return p
}
func (x ExtendedContentMessage_ExtendedContentType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExtendedContentMessage_ExtendedContentType) Descriptor() protoreflect.EnumDescriptor {
return file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[3].Descriptor()
}
func (ExtendedContentMessage_ExtendedContentType) Type() protoreflect.EnumType {
return &file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes[3]
}
func (x ExtendedContentMessage_ExtendedContentType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExtendedContentMessage_ExtendedContentType.Descriptor instead.
func (ExtendedContentMessage_ExtendedContentType) EnumDescriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0, 3}
}
type ExtendedContentMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AssociatedMessage *waCommon.SubProtocol `protobuf:"bytes,1,opt,name=associatedMessage,proto3" json:"associatedMessage,omitempty"`
TargetType ExtendedContentMessage_ExtendedContentType `protobuf:"varint,2,opt,name=targetType,proto3,enum=WAArmadilloXMA.ExtendedContentMessage_ExtendedContentType" json:"targetType,omitempty"`
TargetUsername string `protobuf:"bytes,3,opt,name=targetUsername,proto3" json:"targetUsername,omitempty"`
TargetID string `protobuf:"bytes,4,opt,name=targetID,proto3" json:"targetID,omitempty"`
TargetExpiringAtSec int64 `protobuf:"varint,5,opt,name=targetExpiringAtSec,proto3" json:"targetExpiringAtSec,omitempty"`
XmaLayoutType ExtendedContentMessage_XmaLayoutType `protobuf:"varint,6,opt,name=xmaLayoutType,proto3,enum=WAArmadilloXMA.ExtendedContentMessage_XmaLayoutType" json:"xmaLayoutType,omitempty"`
Ctas []*ExtendedContentMessage_CTA `protobuf:"bytes,7,rep,name=ctas,proto3" json:"ctas,omitempty"`
Previews []*waCommon.SubProtocol `protobuf:"bytes,8,rep,name=previews,proto3" json:"previews,omitempty"`
TitleText string `protobuf:"bytes,9,opt,name=titleText,proto3" json:"titleText,omitempty"`
SubtitleText string `protobuf:"bytes,10,opt,name=subtitleText,proto3" json:"subtitleText,omitempty"`
MaxTitleNumOfLines uint32 `protobuf:"varint,11,opt,name=maxTitleNumOfLines,proto3" json:"maxTitleNumOfLines,omitempty"`
MaxSubtitleNumOfLines uint32 `protobuf:"varint,12,opt,name=maxSubtitleNumOfLines,proto3" json:"maxSubtitleNumOfLines,omitempty"`
Favicon *waCommon.SubProtocol `protobuf:"bytes,13,opt,name=favicon,proto3" json:"favicon,omitempty"`
HeaderImage *waCommon.SubProtocol `protobuf:"bytes,14,opt,name=headerImage,proto3" json:"headerImage,omitempty"`
HeaderTitle string `protobuf:"bytes,15,opt,name=headerTitle,proto3" json:"headerTitle,omitempty"`
OverlayIconGlyph ExtendedContentMessage_OverlayIconGlyph `protobuf:"varint,16,opt,name=overlayIconGlyph,proto3,enum=WAArmadilloXMA.ExtendedContentMessage_OverlayIconGlyph" json:"overlayIconGlyph,omitempty"`
OverlayTitle string `protobuf:"bytes,17,opt,name=overlayTitle,proto3" json:"overlayTitle,omitempty"`
OverlayDescription string `protobuf:"bytes,18,opt,name=overlayDescription,proto3" json:"overlayDescription,omitempty"`
SentWithMessageID string `protobuf:"bytes,19,opt,name=sentWithMessageID,proto3" json:"sentWithMessageID,omitempty"`
MessageText string `protobuf:"bytes,20,opt,name=messageText,proto3" json:"messageText,omitempty"`
HeaderSubtitle string `protobuf:"bytes,21,opt,name=headerSubtitle,proto3" json:"headerSubtitle,omitempty"`
XmaDataclass string `protobuf:"bytes,22,opt,name=xmaDataclass,proto3" json:"xmaDataclass,omitempty"`
ContentRef string `protobuf:"bytes,23,opt,name=contentRef,proto3" json:"contentRef,omitempty"`
}
func (x *ExtendedContentMessage) Reset() {
*x = ExtendedContentMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendedContentMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendedContentMessage) ProtoMessage() {}
func (x *ExtendedContentMessage) ProtoReflect() protoreflect.Message {
mi := &file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtendedContentMessage.ProtoReflect.Descriptor instead.
func (*ExtendedContentMessage) Descriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0}
}
func (x *ExtendedContentMessage) GetAssociatedMessage() *waCommon.SubProtocol {
if x != nil {
return x.AssociatedMessage
}
return nil
}
func (x *ExtendedContentMessage) GetTargetType() ExtendedContentMessage_ExtendedContentType {
if x != nil {
return x.TargetType
}
return ExtendedContentMessage_EXTENDEDCONTENTTYPE_UNKNOWN
}
func (x *ExtendedContentMessage) GetTargetUsername() string {
if x != nil {
return x.TargetUsername
}
return ""
}
func (x *ExtendedContentMessage) GetTargetID() string {
if x != nil {
return x.TargetID
}
return ""
}
func (x *ExtendedContentMessage) GetTargetExpiringAtSec() int64 {
if x != nil {
return x.TargetExpiringAtSec
}
return 0
}
func (x *ExtendedContentMessage) GetXmaLayoutType() ExtendedContentMessage_XmaLayoutType {
if x != nil {
return x.XmaLayoutType
}
return ExtendedContentMessage_SINGLE
}
func (x *ExtendedContentMessage) GetCtas() []*ExtendedContentMessage_CTA {
if x != nil {
return x.Ctas
}
return nil
}
func (x *ExtendedContentMessage) GetPreviews() []*waCommon.SubProtocol {
if x != nil {
return x.Previews
}
return nil
}
func (x *ExtendedContentMessage) GetTitleText() string {
if x != nil {
return x.TitleText
}
return ""
}
func (x *ExtendedContentMessage) GetSubtitleText() string {
if x != nil {
return x.SubtitleText
}
return ""
}
func (x *ExtendedContentMessage) GetMaxTitleNumOfLines() uint32 {
if x != nil {
return x.MaxTitleNumOfLines
}
return 0
}
func (x *ExtendedContentMessage) GetMaxSubtitleNumOfLines() uint32 {
if x != nil {
return x.MaxSubtitleNumOfLines
}
return 0
}
func (x *ExtendedContentMessage) GetFavicon() *waCommon.SubProtocol {
if x != nil {
return x.Favicon
}
return nil
}
func (x *ExtendedContentMessage) GetHeaderImage() *waCommon.SubProtocol {
if x != nil {
return x.HeaderImage
}
return nil
}
func (x *ExtendedContentMessage) GetHeaderTitle() string {
if x != nil {
return x.HeaderTitle
}
return ""
}
func (x *ExtendedContentMessage) GetOverlayIconGlyph() ExtendedContentMessage_OverlayIconGlyph {
if x != nil {
return x.OverlayIconGlyph
}
return ExtendedContentMessage_INFO
}
func (x *ExtendedContentMessage) GetOverlayTitle() string {
if x != nil {
return x.OverlayTitle
}
return ""
}
func (x *ExtendedContentMessage) GetOverlayDescription() string {
if x != nil {
return x.OverlayDescription
}
return ""
}
func (x *ExtendedContentMessage) GetSentWithMessageID() string {
if x != nil {
return x.SentWithMessageID
}
return ""
}
func (x *ExtendedContentMessage) GetMessageText() string {
if x != nil {
return x.MessageText
}
return ""
}
func (x *ExtendedContentMessage) GetHeaderSubtitle() string {
if x != nil {
return x.HeaderSubtitle
}
return ""
}
func (x *ExtendedContentMessage) GetXmaDataclass() string {
if x != nil {
return x.XmaDataclass
}
return ""
}
func (x *ExtendedContentMessage) GetContentRef() string {
if x != nil {
return x.ContentRef
}
return ""
}
type ExtendedContentMessage_CTA struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ButtonType ExtendedContentMessage_CtaButtonType `protobuf:"varint,1,opt,name=buttonType,proto3,enum=WAArmadilloXMA.ExtendedContentMessage_CtaButtonType" json:"buttonType,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
ActionURL string `protobuf:"bytes,3,opt,name=actionURL,proto3" json:"actionURL,omitempty"`
NativeURL string `protobuf:"bytes,4,opt,name=nativeURL,proto3" json:"nativeURL,omitempty"`
CtaType string `protobuf:"bytes,5,opt,name=ctaType,proto3" json:"ctaType,omitempty"`
}
func (x *ExtendedContentMessage_CTA) Reset() {
*x = ExtendedContentMessage_CTA{}
if protoimpl.UnsafeEnabled {
mi := &file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendedContentMessage_CTA) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendedContentMessage_CTA) ProtoMessage() {}
func (x *ExtendedContentMessage_CTA) ProtoReflect() protoreflect.Message {
mi := &file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtendedContentMessage_CTA.ProtoReflect.Descriptor instead.
func (*ExtendedContentMessage_CTA) Descriptor() ([]byte, []int) {
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP(), []int{0, 0}
}
func (x *ExtendedContentMessage_CTA) GetButtonType() ExtendedContentMessage_CtaButtonType {
if x != nil {
return x.ButtonType
}
return ExtendedContentMessage_CTABUTTONTYPE_UNKNOWN
}
func (x *ExtendedContentMessage_CTA) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *ExtendedContentMessage_CTA) GetActionURL() string {
if x != nil {
return x.ActionURL
}
return ""
}
func (x *ExtendedContentMessage_CTA) GetNativeURL() string {
if x != nil {
return x.NativeURL
}
return ""
}
func (x *ExtendedContentMessage_CTA) GetCtaType() string {
if x != nil {
return x.CtaType
}
return ""
}
var File_waArmadilloXMA_WAArmadilloXMA_proto protoreflect.FileDescriptor
//go:embed WAArmadilloXMA.pb.raw
var file_waArmadilloXMA_WAArmadilloXMA_proto_rawDesc []byte
var (
file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescOnce sync.Once
file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescData = file_waArmadilloXMA_WAArmadilloXMA_proto_rawDesc
)
func file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescGZIP() []byte {
file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescOnce.Do(func() {
file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescData = protoimpl.X.CompressGZIP(file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescData)
})
return file_waArmadilloXMA_WAArmadilloXMA_proto_rawDescData
}
var file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_waArmadilloXMA_WAArmadilloXMA_proto_goTypes = []interface{}{
(ExtendedContentMessage_OverlayIconGlyph)(0), // 0: WAArmadilloXMA.ExtendedContentMessage.OverlayIconGlyph
(ExtendedContentMessage_CtaButtonType)(0), // 1: WAArmadilloXMA.ExtendedContentMessage.CtaButtonType
(ExtendedContentMessage_XmaLayoutType)(0), // 2: WAArmadilloXMA.ExtendedContentMessage.XmaLayoutType
(ExtendedContentMessage_ExtendedContentType)(0), // 3: WAArmadilloXMA.ExtendedContentMessage.ExtendedContentType
(*ExtendedContentMessage)(nil), // 4: WAArmadilloXMA.ExtendedContentMessage
(*ExtendedContentMessage_CTA)(nil), // 5: WAArmadilloXMA.ExtendedContentMessage.CTA
(*waCommon.SubProtocol)(nil), // 6: WACommon.SubProtocol
}
var file_waArmadilloXMA_WAArmadilloXMA_proto_depIdxs = []int32{
6, // 0: WAArmadilloXMA.ExtendedContentMessage.associatedMessage:type_name -> WACommon.SubProtocol
3, // 1: WAArmadilloXMA.ExtendedContentMessage.targetType:type_name -> WAArmadilloXMA.ExtendedContentMessage.ExtendedContentType
2, // 2: WAArmadilloXMA.ExtendedContentMessage.xmaLayoutType:type_name -> WAArmadilloXMA.ExtendedContentMessage.XmaLayoutType
5, // 3: WAArmadilloXMA.ExtendedContentMessage.ctas:type_name -> WAArmadilloXMA.ExtendedContentMessage.CTA
6, // 4: WAArmadilloXMA.ExtendedContentMessage.previews:type_name -> WACommon.SubProtocol
6, // 5: WAArmadilloXMA.ExtendedContentMessage.favicon:type_name -> WACommon.SubProtocol
6, // 6: WAArmadilloXMA.ExtendedContentMessage.headerImage:type_name -> WACommon.SubProtocol
0, // 7: WAArmadilloXMA.ExtendedContentMessage.overlayIconGlyph:type_name -> WAArmadilloXMA.ExtendedContentMessage.OverlayIconGlyph
1, // 8: WAArmadilloXMA.ExtendedContentMessage.CTA.buttonType:type_name -> WAArmadilloXMA.ExtendedContentMessage.CtaButtonType
9, // [9:9] is the sub-list for method output_type
9, // [9:9] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_waArmadilloXMA_WAArmadilloXMA_proto_init() }
func file_waArmadilloXMA_WAArmadilloXMA_proto_init() {
if File_waArmadilloXMA_WAArmadilloXMA_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendedContentMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendedContentMessage_CTA); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_waArmadilloXMA_WAArmadilloXMA_proto_rawDesc,
NumEnums: 4,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_waArmadilloXMA_WAArmadilloXMA_proto_goTypes,
DependencyIndexes: file_waArmadilloXMA_WAArmadilloXMA_proto_depIdxs,
EnumInfos: file_waArmadilloXMA_WAArmadilloXMA_proto_enumTypes,
MessageInfos: file_waArmadilloXMA_WAArmadilloXMA_proto_msgTypes,
}.Build()
File_waArmadilloXMA_WAArmadilloXMA_proto = out.File
file_waArmadilloXMA_WAArmadilloXMA_proto_rawDesc = nil
file_waArmadilloXMA_WAArmadilloXMA_proto_goTypes = nil
file_waArmadilloXMA_WAArmadilloXMA_proto_depIdxs = nil
}
Binary file not shown.
@@ -0,0 +1,118 @@
syntax = "proto3";
package WAArmadilloXMA;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waArmadilloXMA";
import "waCommon/WACommon.proto";
message ExtendedContentMessage {
enum OverlayIconGlyph {
INFO = 0;
EYE_OFF = 1;
NEWS_OFF = 2;
WARNING = 3;
PRIVATE = 4;
NONE = 5;
MEDIA_LABEL = 6;
POST_COVER = 7;
POST_LABEL = 8;
WARNING_SCREENS = 9;
}
enum CtaButtonType {
CTABUTTONTYPE_UNKNOWN = 0;
OPEN_NATIVE = 11;
}
enum XmaLayoutType {
SINGLE = 0;
PORTRAIT = 3;
STANDARD_DXMA = 12;
LIST_DXMA = 15;
}
enum ExtendedContentType {
EXTENDEDCONTENTTYPE_UNKNOWN = 0;
IG_STORY_PHOTO_MENTION = 4;
IG_SINGLE_IMAGE_POST_SHARE = 9;
IG_MULTIPOST_SHARE = 10;
IG_SINGLE_VIDEO_POST_SHARE = 11;
IG_STORY_PHOTO_SHARE = 12;
IG_STORY_VIDEO_SHARE = 13;
IG_CLIPS_SHARE = 14;
IG_IGTV_SHARE = 15;
IG_SHOP_SHARE = 16;
IG_PROFILE_SHARE = 19;
IG_STORY_PHOTO_HIGHLIGHT_SHARE = 20;
IG_STORY_VIDEO_HIGHLIGHT_SHARE = 21;
IG_STORY_REPLY = 22;
IG_STORY_REACTION = 23;
IG_STORY_VIDEO_MENTION = 24;
IG_STORY_HIGHLIGHT_REPLY = 25;
IG_STORY_HIGHLIGHT_REACTION = 26;
IG_EXTERNAL_LINK = 27;
IG_RECEIVER_FETCH = 28;
FB_FEED_SHARE = 1000;
FB_STORY_REPLY = 1001;
FB_STORY_SHARE = 1002;
FB_STORY_MENTION = 1003;
FB_FEED_VIDEO_SHARE = 1004;
FB_GAMING_CUSTOM_UPDATE = 1005;
FB_PRODUCER_STORY_REPLY = 1006;
FB_EVENT = 1007;
FB_FEED_POST_PRIVATE_REPLY = 1008;
FB_SHORT = 1009;
FB_COMMENT_MENTION_SHARE = 1010;
MSG_EXTERNAL_LINK_SHARE = 2000;
MSG_P2P_PAYMENT = 2001;
MSG_LOCATION_SHARING = 2002;
MSG_LOCATION_SHARING_V2 = 2003;
MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY = 2004;
MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY = 2005;
MSG_RECEIVER_FETCH = 2006;
MSG_IG_MEDIA_SHARE = 2007;
MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE = 2008;
MSG_REELS_LIST = 2009;
MSG_CONTACT = 2010;
RTC_AUDIO_CALL = 3000;
RTC_VIDEO_CALL = 3001;
RTC_MISSED_AUDIO_CALL = 3002;
RTC_MISSED_VIDEO_CALL = 3003;
RTC_GROUP_AUDIO_CALL = 3004;
RTC_GROUP_VIDEO_CALL = 3005;
RTC_MISSED_GROUP_AUDIO_CALL = 3006;
RTC_MISSED_GROUP_VIDEO_CALL = 3007;
DATACLASS_SENDER_COPY = 4000;
}
message CTA {
CtaButtonType buttonType = 1;
string title = 2;
string actionURL = 3;
string nativeURL = 4;
string ctaType = 5;
}
WACommon.SubProtocol associatedMessage = 1;
ExtendedContentType targetType = 2;
string targetUsername = 3;
string targetID = 4;
int64 targetExpiringAtSec = 5;
XmaLayoutType xmaLayoutType = 6;
repeated CTA ctas = 7;
repeated WACommon.SubProtocol previews = 8;
string titleText = 9;
string subtitleText = 10;
uint32 maxTitleNumOfLines = 11;
uint32 maxSubtitleNumOfLines = 12;
WACommon.SubProtocol favicon = 13;
WACommon.SubProtocol headerImage = 14;
string headerTitle = 15;
OverlayIconGlyph overlayIconGlyph = 16;
string overlayTitle = 17;
string overlayDescription = 18;
string sentWithMessageID = 19;
string messageText = 20;
string headerSubtitle = 21;
string xmaDataclass = 22;
string contentRef = 23;
}
+498
View File
@@ -0,0 +1,498 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.12
// source: waCommon/WACommon.proto
package waCommon
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "embed"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type FutureProofBehavior int32
const (
FutureProofBehavior_PLACEHOLDER FutureProofBehavior = 0
FutureProofBehavior_NO_PLACEHOLDER FutureProofBehavior = 1
FutureProofBehavior_IGNORE FutureProofBehavior = 2
)
// Enum value maps for FutureProofBehavior.
var (
FutureProofBehavior_name = map[int32]string{
0: "PLACEHOLDER",
1: "NO_PLACEHOLDER",
2: "IGNORE",
}
FutureProofBehavior_value = map[string]int32{
"PLACEHOLDER": 0,
"NO_PLACEHOLDER": 1,
"IGNORE": 2,
}
)
func (x FutureProofBehavior) Enum() *FutureProofBehavior {
p := new(FutureProofBehavior)
*p = x
return p
}
func (x FutureProofBehavior) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FutureProofBehavior) Descriptor() protoreflect.EnumDescriptor {
return file_waCommon_WACommon_proto_enumTypes[0].Descriptor()
}
func (FutureProofBehavior) Type() protoreflect.EnumType {
return &file_waCommon_WACommon_proto_enumTypes[0]
}
func (x FutureProofBehavior) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FutureProofBehavior.Descriptor instead.
func (FutureProofBehavior) EnumDescriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{0}
}
type Command_CommandType int32
const (
Command_COMMANDTYPE_UNKNOWN Command_CommandType = 0
Command_EVERYONE Command_CommandType = 1
Command_SILENT Command_CommandType = 2
Command_AI Command_CommandType = 3
)
// Enum value maps for Command_CommandType.
var (
Command_CommandType_name = map[int32]string{
0: "COMMANDTYPE_UNKNOWN",
1: "EVERYONE",
2: "SILENT",
3: "AI",
}
Command_CommandType_value = map[string]int32{
"COMMANDTYPE_UNKNOWN": 0,
"EVERYONE": 1,
"SILENT": 2,
"AI": 3,
}
)
func (x Command_CommandType) Enum() *Command_CommandType {
p := new(Command_CommandType)
*p = x
return p
}
func (x Command_CommandType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Command_CommandType) Descriptor() protoreflect.EnumDescriptor {
return file_waCommon_WACommon_proto_enumTypes[1].Descriptor()
}
func (Command_CommandType) Type() protoreflect.EnumType {
return &file_waCommon_WACommon_proto_enumTypes[1]
}
func (x Command_CommandType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Command_CommandType.Descriptor instead.
func (Command_CommandType) EnumDescriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{1, 0}
}
type MessageKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RemoteJID string `protobuf:"bytes,1,opt,name=remoteJID,proto3" json:"remoteJID,omitempty"`
FromMe bool `protobuf:"varint,2,opt,name=fromMe,proto3" json:"fromMe,omitempty"`
ID string `protobuf:"bytes,3,opt,name=ID,proto3" json:"ID,omitempty"`
Participant string `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant,omitempty"`
}
func (x *MessageKey) Reset() {
*x = MessageKey{}
if protoimpl.UnsafeEnabled {
mi := &file_waCommon_WACommon_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageKey) ProtoMessage() {}
func (x *MessageKey) ProtoReflect() protoreflect.Message {
mi := &file_waCommon_WACommon_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageKey.ProtoReflect.Descriptor instead.
func (*MessageKey) Descriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{0}
}
func (x *MessageKey) GetRemoteJID() string {
if x != nil {
return x.RemoteJID
}
return ""
}
func (x *MessageKey) GetFromMe() bool {
if x != nil {
return x.FromMe
}
return false
}
func (x *MessageKey) GetID() string {
if x != nil {
return x.ID
}
return ""
}
func (x *MessageKey) GetParticipant() string {
if x != nil {
return x.Participant
}
return ""
}
type Command struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CommandType Command_CommandType `protobuf:"varint,1,opt,name=commandType,proto3,enum=WACommon.Command_CommandType" json:"commandType,omitempty"`
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
Length uint32 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"`
ValidationToken string `protobuf:"bytes,4,opt,name=validationToken,proto3" json:"validationToken,omitempty"`
}
func (x *Command) Reset() {
*x = Command{}
if protoimpl.UnsafeEnabled {
mi := &file_waCommon_WACommon_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Command) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Command) ProtoMessage() {}
func (x *Command) ProtoReflect() protoreflect.Message {
mi := &file_waCommon_WACommon_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Command.ProtoReflect.Descriptor instead.
func (*Command) Descriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{1}
}
func (x *Command) GetCommandType() Command_CommandType {
if x != nil {
return x.CommandType
}
return Command_COMMANDTYPE_UNKNOWN
}
func (x *Command) GetOffset() uint32 {
if x != nil {
return x.Offset
}
return 0
}
func (x *Command) GetLength() uint32 {
if x != nil {
return x.Length
}
return 0
}
func (x *Command) GetValidationToken() string {
if x != nil {
return x.ValidationToken
}
return ""
}
type MessageText struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
MentionedJID []string `protobuf:"bytes,2,rep,name=mentionedJID,proto3" json:"mentionedJID,omitempty"`
Commands []*Command `protobuf:"bytes,3,rep,name=commands,proto3" json:"commands,omitempty"`
}
func (x *MessageText) Reset() {
*x = MessageText{}
if protoimpl.UnsafeEnabled {
mi := &file_waCommon_WACommon_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageText) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageText) ProtoMessage() {}
func (x *MessageText) ProtoReflect() protoreflect.Message {
mi := &file_waCommon_WACommon_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageText.ProtoReflect.Descriptor instead.
func (*MessageText) Descriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{2}
}
func (x *MessageText) GetText() string {
if x != nil {
return x.Text
}
return ""
}
func (x *MessageText) GetMentionedJID() []string {
if x != nil {
return x.MentionedJID
}
return nil
}
func (x *MessageText) GetCommands() []*Command {
if x != nil {
return x.Commands
}
return nil
}
type SubProtocol struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *SubProtocol) Reset() {
*x = SubProtocol{}
if protoimpl.UnsafeEnabled {
mi := &file_waCommon_WACommon_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubProtocol) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubProtocol) ProtoMessage() {}
func (x *SubProtocol) ProtoReflect() protoreflect.Message {
mi := &file_waCommon_WACommon_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubProtocol.ProtoReflect.Descriptor instead.
func (*SubProtocol) Descriptor() ([]byte, []int) {
return file_waCommon_WACommon_proto_rawDescGZIP(), []int{3}
}
func (x *SubProtocol) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
func (x *SubProtocol) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
var File_waCommon_WACommon_proto protoreflect.FileDescriptor
//go:embed WACommon.pb.raw
var file_waCommon_WACommon_proto_rawDesc []byte
var (
file_waCommon_WACommon_proto_rawDescOnce sync.Once
file_waCommon_WACommon_proto_rawDescData = file_waCommon_WACommon_proto_rawDesc
)
func file_waCommon_WACommon_proto_rawDescGZIP() []byte {
file_waCommon_WACommon_proto_rawDescOnce.Do(func() {
file_waCommon_WACommon_proto_rawDescData = protoimpl.X.CompressGZIP(file_waCommon_WACommon_proto_rawDescData)
})
return file_waCommon_WACommon_proto_rawDescData
}
var file_waCommon_WACommon_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_waCommon_WACommon_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_waCommon_WACommon_proto_goTypes = []interface{}{
(FutureProofBehavior)(0), // 0: WACommon.FutureProofBehavior
(Command_CommandType)(0), // 1: WACommon.Command.CommandType
(*MessageKey)(nil), // 2: WACommon.MessageKey
(*Command)(nil), // 3: WACommon.Command
(*MessageText)(nil), // 4: WACommon.MessageText
(*SubProtocol)(nil), // 5: WACommon.SubProtocol
}
var file_waCommon_WACommon_proto_depIdxs = []int32{
1, // 0: WACommon.Command.commandType:type_name -> WACommon.Command.CommandType
3, // 1: WACommon.MessageText.commands:type_name -> WACommon.Command
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_waCommon_WACommon_proto_init() }
func file_waCommon_WACommon_proto_init() {
if File_waCommon_WACommon_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_waCommon_WACommon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waCommon_WACommon_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Command); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waCommon_WACommon_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageText); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waCommon_WACommon_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubProtocol); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_waCommon_WACommon_proto_rawDesc,
NumEnums: 2,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_waCommon_WACommon_proto_goTypes,
DependencyIndexes: file_waCommon_WACommon_proto_depIdxs,
EnumInfos: file_waCommon_WACommon_proto_enumTypes,
MessageInfos: file_waCommon_WACommon_proto_msgTypes,
}.Build()
File_waCommon_WACommon_proto = out.File
file_waCommon_WACommon_proto_rawDesc = nil
file_waCommon_WACommon_proto_goTypes = nil
file_waCommon_WACommon_proto_depIdxs = nil
}
Binary file not shown.
@@ -0,0 +1,41 @@
syntax = "proto3";
package WACommon;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waCommon";
enum FutureProofBehavior {
PLACEHOLDER = 0;
NO_PLACEHOLDER = 1;
IGNORE = 2;
}
message MessageKey {
string remoteJID = 1;
bool fromMe = 2;
string ID = 3;
string participant = 4;
}
message Command {
enum CommandType {
COMMANDTYPE_UNKNOWN = 0;
EVERYONE = 1;
SILENT = 2;
AI = 3;
}
CommandType commandType = 1;
uint32 offset = 2;
uint32 length = 3;
string validationToken = 4;
}
message MessageText {
string text = 1;
repeated string mentionedJID = 2;
repeated Command commands = 3;
}
message SubProtocol {
bytes payload = 1;
int32 version = 2;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,234 @@
syntax = "proto3";
package WAConsumerApplication;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waConsumerApplication";
import "waCommon/WACommon.proto";
message ConsumerApplication {
message Payload {
oneof payload {
Content content = 1;
ApplicationData applicationData = 2;
Signal signal = 3;
SubProtocolPayload subProtocol = 4;
}
}
message SubProtocolPayload {
WACommon.FutureProofBehavior futureProof = 1;
}
message Metadata {
enum SpecialTextSize {
SPECIALTEXTSIZE_UNKNOWN = 0;
SMALL = 1;
MEDIUM = 2;
LARGE = 3;
}
SpecialTextSize specialTextSize = 1;
}
message Signal {
}
message ApplicationData {
oneof applicationContent {
RevokeMessage revoke = 1;
}
}
message Content {
oneof content {
WACommon.MessageText messageText = 1;
ImageMessage imageMessage = 2;
ContactMessage contactMessage = 3;
LocationMessage locationMessage = 4;
ExtendedTextMessage extendedTextMessage = 5;
StatusTextMesage statusTextMessage = 6;
DocumentMessage documentMessage = 7;
AudioMessage audioMessage = 8;
VideoMessage videoMessage = 9;
ContactsArrayMessage contactsArrayMessage = 10;
LiveLocationMessage liveLocationMessage = 11;
StickerMessage stickerMessage = 12;
GroupInviteMessage groupInviteMessage = 13;
ViewOnceMessage viewOnceMessage = 14;
ReactionMessage reactionMessage = 16;
PollCreationMessage pollCreationMessage = 17;
PollUpdateMessage pollUpdateMessage = 18;
EditMessage editMessage = 19;
}
}
message EditMessage {
WACommon.MessageKey key = 1;
WACommon.MessageText message = 2;
int64 timestampMS = 3;
}
message PollAddOptionMessage {
repeated Option pollOption = 1;
}
message PollVoteMessage {
repeated bytes selectedOptions = 1;
int64 senderTimestampMS = 2;
}
message PollEncValue {
bytes encPayload = 1;
bytes encIV = 2;
}
message PollUpdateMessage {
WACommon.MessageKey pollCreationMessageKey = 1;
PollEncValue vote = 2;
PollEncValue addOption = 3;
}
message PollCreationMessage {
bytes encKey = 1;
string name = 2;
repeated Option options = 3;
uint32 selectableOptionsCount = 4;
}
message Option {
string optionName = 1;
}
message ReactionMessage {
WACommon.MessageKey key = 1;
string text = 2;
string groupingKey = 3;
int64 senderTimestampMS = 4;
string reactionMetadataDataclassData = 5;
int32 style = 6;
}
message RevokeMessage {
WACommon.MessageKey key = 1;
}
message ViewOnceMessage {
oneof viewOnceContent {
ImageMessage imageMessage = 1;
VideoMessage videoMessage = 2;
}
}
message GroupInviteMessage {
string groupJID = 1;
string inviteCode = 2;
int64 inviteExpiration = 3;
string groupName = 4;
bytes JPEGThumbnail = 5;
WACommon.MessageText caption = 6;
}
message LiveLocationMessage {
Location location = 1;
uint32 accuracyInMeters = 2;
float speedInMps = 3;
uint32 degreesClockwiseFromMagneticNorth = 4;
WACommon.MessageText caption = 5;
int64 sequenceNumber = 6;
uint32 timeOffset = 7;
}
message ContactsArrayMessage {
string displayName = 1;
repeated ContactMessage contacts = 2;
}
message ContactMessage {
WACommon.SubProtocol contact = 1;
}
message StatusTextMesage {
enum FontType {
SANS_SERIF = 0;
SERIF = 1;
NORICAN_REGULAR = 2;
BRYNDAN_WRITE = 3;
BEBASNEUE_REGULAR = 4;
OSWALD_HEAVY = 5;
}
ExtendedTextMessage text = 1;
fixed32 textArgb = 6;
fixed32 backgroundArgb = 7;
FontType font = 8;
}
message ExtendedTextMessage {
enum PreviewType {
NONE = 0;
VIDEO = 1;
}
WACommon.MessageText text = 1;
string matchedText = 2;
string canonicalURL = 3;
string description = 4;
string title = 5;
WACommon.SubProtocol thumbnail = 6;
PreviewType previewType = 7;
}
message LocationMessage {
Location location = 1;
string address = 2;
}
message StickerMessage {
WACommon.SubProtocol sticker = 1;
}
message DocumentMessage {
WACommon.SubProtocol document = 1;
string fileName = 2;
}
message VideoMessage {
WACommon.SubProtocol video = 1;
WACommon.MessageText caption = 2;
}
message AudioMessage {
WACommon.SubProtocol audio = 1;
bool PTT = 2;
}
message ImageMessage {
WACommon.SubProtocol image = 1;
WACommon.MessageText caption = 2;
}
message InteractiveAnnotation {
oneof action {
Location location = 2;
}
repeated Point polygonVertices = 1;
}
message Point {
double x = 1;
double y = 2;
}
message Location {
double degreesLatitude = 1;
double degreesLongitude = 2;
string name = 3;
}
message MediaPayload {
WACommon.SubProtocol protocol = 1;
}
Payload payload = 1;
Metadata metadata = 2;
}
@@ -0,0 +1,82 @@
package waConsumerApplication
import (
"go.mau.fi/whatsmeow/binary/armadillo/armadilloutil"
"go.mau.fi/whatsmeow/binary/armadillo/waMediaTransport"
)
type ConsumerApplication_Content_Content = isConsumerApplication_Content_Content
func (*ConsumerApplication) IsMessageApplicationSub() {}
const (
ImageTransportVersion = 1
StickerTransportVersion = 1
VideoTransportVersion = 1
AudioTransportVersion = 1
DocumentTransportVersion = 1
ContactTransportVersion = 1
)
func (msg *ConsumerApplication_ImageMessage) Decode() (dec *waMediaTransport.ImageTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.ImageTransport{}, msg.GetImage(), ImageTransportVersion)
}
func (msg *ConsumerApplication_ImageMessage) Set(payload *waMediaTransport.ImageTransport) (err error) {
msg.Image, err = armadilloutil.Marshal(payload, ImageTransportVersion)
return
}
func (msg *ConsumerApplication_StickerMessage) Decode() (dec *waMediaTransport.StickerTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.StickerTransport{}, msg.GetSticker(), StickerTransportVersion)
}
func (msg *ConsumerApplication_StickerMessage) Set(payload *waMediaTransport.StickerTransport) (err error) {
msg.Sticker, err = armadilloutil.Marshal(payload, StickerTransportVersion)
return
}
func (msg *ConsumerApplication_ExtendedTextMessage) DecodeThumbnail() (dec *waMediaTransport.ImageTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.ImageTransport{}, msg.GetThumbnail(), ImageTransportVersion)
}
func (msg *ConsumerApplication_ExtendedTextMessage) SetThumbnail(payload *waMediaTransport.ImageTransport) (err error) {
msg.Thumbnail, err = armadilloutil.Marshal(payload, ImageTransportVersion)
return
}
func (msg *ConsumerApplication_VideoMessage) Decode() (dec *waMediaTransport.VideoTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.VideoTransport{}, msg.GetVideo(), VideoTransportVersion)
}
func (msg *ConsumerApplication_VideoMessage) Set(payload *waMediaTransport.VideoTransport) (err error) {
msg.Video, err = armadilloutil.Marshal(payload, VideoTransportVersion)
return
}
func (msg *ConsumerApplication_AudioMessage) Decode() (dec *waMediaTransport.AudioTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.AudioTransport{}, msg.GetAudio(), AudioTransportVersion)
}
func (msg *ConsumerApplication_AudioMessage) Set(payload *waMediaTransport.AudioTransport) (err error) {
msg.Audio, err = armadilloutil.Marshal(payload, AudioTransportVersion)
return
}
func (msg *ConsumerApplication_DocumentMessage) Decode() (dec *waMediaTransport.DocumentTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.DocumentTransport{}, msg.GetDocument(), DocumentTransportVersion)
}
func (msg *ConsumerApplication_DocumentMessage) Set(payload *waMediaTransport.DocumentTransport) (err error) {
msg.Document, err = armadilloutil.Marshal(payload, DocumentTransportVersion)
return
}
func (msg *ConsumerApplication_ContactMessage) Decode() (dec *waMediaTransport.ContactTransport, err error) {
return armadilloutil.Unmarshal(&waMediaTransport.ContactTransport{}, msg.GetContact(), ContactTransportVersion)
}
func (msg *ConsumerApplication_ContactMessage) Set(payload *waMediaTransport.ContactTransport) (err error) {
msg.Contact, err = armadilloutil.Marshal(payload, ContactTransportVersion)
return
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,154 @@
syntax = "proto3";
package WAMediaTransport;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waMediaTransport";
import "waCommon/WACommon.proto";
message WAMediaTransport {
message Ancillary {
message Thumbnail {
message DownloadableThumbnail {
bytes fileSHA256 = 1;
bytes fileEncSHA256 = 2;
string directPath = 3;
bytes mediaKey = 4;
int64 mediaKeyTimestamp = 5;
string objectID = 6;
}
bytes JPEGThumbnail = 1;
DownloadableThumbnail downloadableThumbnail = 2;
uint32 thumbnailWidth = 3;
uint32 thumbnailHeight = 4;
}
uint64 fileLength = 1;
string mimetype = 2;
Thumbnail thumbnail = 3;
string objectID = 4;
}
message Integral {
bytes fileSHA256 = 1;
bytes mediaKey = 2;
bytes fileEncSHA256 = 3;
string directPath = 4;
int64 mediaKeyTimestamp = 5;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message ImageTransport {
message Ancillary {
enum HdType {
NONE = 0;
LQ_4K = 1;
HQ_4K = 2;
}
uint32 height = 1;
uint32 width = 2;
bytes scansSidecar = 3;
repeated uint32 scanLengths = 4;
bytes midQualityFileSHA256 = 5;
HdType hdType = 6;
}
message Integral {
WAMediaTransport transport = 1;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message VideoTransport {
message Ancillary {
enum Attribution {
NONE = 0;
GIPHY = 1;
TENOR = 2;
}
uint32 seconds = 1;
WACommon.MessageText caption = 2;
bool gifPlayback = 3;
uint32 height = 4;
uint32 width = 5;
bytes sidecar = 6;
Attribution gifAttribution = 7;
}
message Integral {
WAMediaTransport transport = 1;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message AudioTransport {
message Ancillary {
uint32 seconds = 1;
}
message Integral {
WAMediaTransport transport = 1;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message DocumentTransport {
message Ancillary {
uint32 pageCount = 1;
}
message Integral {
WAMediaTransport transport = 1;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message StickerTransport {
message Ancillary {
uint32 pageCount = 1;
uint32 height = 2;
uint32 width = 3;
uint32 firstFrameLength = 4;
bytes firstFrameSidecar = 5;
string mustacheText = 6;
bool isThirdParty = 7;
string receiverFetchID = 8;
}
message Integral {
WAMediaTransport transport = 1;
bool isAnimated = 2;
string receiverFetchID = 3;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
message ContactTransport {
message Ancillary {
string displayName = 1;
}
message Integral {
oneof contact {
string vcard = 1;
WAMediaTransport downloadableVcard = 2;
}
}
Integral integral = 1;
Ancillary ancillary = 2;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,87 @@
syntax = "proto3";
package WAMsgApplication;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waMsgApplication";
import "waCommon/WACommon.proto";
message MessageApplication {
message Metadata {
enum ThreadType {
DEFAULT = 0;
VANISH_MODE = 1;
DISAPPEARING_MESSAGES = 2;
}
message QuotedMessage {
string stanzaID = 1;
string remoteJID = 2;
string participant = 3;
Payload payload = 4;
}
message EphemeralSettingMap {
string chatJID = 1;
EphemeralSetting ephemeralSetting = 2;
}
oneof ephemeral {
EphemeralSetting chatEphemeralSetting = 1;
EphemeralSettingMap ephemeralSettingList = 2;
bytes ephemeralSharedSecret = 3;
}
uint32 forwardingScore = 5;
bool isForwarded = 6;
WACommon.SubProtocol businessMetadata = 7;
bytes frankingKey = 8;
int32 frankingVersion = 9;
QuotedMessage quotedMessage = 10;
ThreadType threadType = 11;
string readonlyMetadataDataclass = 12;
string groupID = 13;
uint32 groupSize = 14;
uint32 groupIndex = 15;
string botResponseID = 16;
string collapsibleID = 17;
}
message Payload {
oneof content {
Content coreContent = 1;
Signal signal = 2;
ApplicationData applicationData = 3;
SubProtocolPayload subProtocol = 4;
}
}
message SubProtocolPayload {
oneof subProtocol {
WACommon.SubProtocol consumerMessage = 2;
WACommon.SubProtocol businessMessage = 3;
WACommon.SubProtocol paymentMessage = 4;
WACommon.SubProtocol multiDevice = 5;
WACommon.SubProtocol voip = 6;
WACommon.SubProtocol armadillo = 7;
}
WACommon.FutureProofBehavior futureProof = 1;
}
message ApplicationData {
}
message Signal {
}
message Content {
}
message EphemeralSetting {
uint32 ephemeralExpiration = 2;
int64 ephemeralSettingTimestamp = 3;
bool isEphemeralSettingReset = 4;
}
Payload payload = 1;
Metadata metadata = 2;
}
@@ -0,0 +1,41 @@
package waMsgApplication
import (
"go.mau.fi/whatsmeow/binary/armadillo/armadilloutil"
"go.mau.fi/whatsmeow/binary/armadillo/waArmadilloApplication"
"go.mau.fi/whatsmeow/binary/armadillo/waConsumerApplication"
"go.mau.fi/whatsmeow/binary/armadillo/waMultiDevice"
)
const (
ConsumerApplicationVersion = 1
ArmadilloApplicationVersion = 1
MultiDeviceApplicationVersion = 1 // TODO: check
)
func (msg *MessageApplication_SubProtocolPayload_ConsumerMessage) Decode() (*waConsumerApplication.ConsumerApplication, error) {
return armadilloutil.Unmarshal(&waConsumerApplication.ConsumerApplication{}, msg.ConsumerMessage, ConsumerApplicationVersion)
}
func (msg *MessageApplication_SubProtocolPayload_ConsumerMessage) Set(payload *waConsumerApplication.ConsumerApplication) (err error) {
msg.ConsumerMessage, err = armadilloutil.Marshal(payload, ConsumerApplicationVersion)
return
}
func (msg *MessageApplication_SubProtocolPayload_Armadillo) Decode() (*waArmadilloApplication.Armadillo, error) {
return armadilloutil.Unmarshal(&waArmadilloApplication.Armadillo{}, msg.Armadillo, ArmadilloApplicationVersion)
}
func (msg *MessageApplication_SubProtocolPayload_Armadillo) Set(payload *waArmadilloApplication.Armadillo) (err error) {
msg.Armadillo, err = armadilloutil.Marshal(payload, ArmadilloApplicationVersion)
return
}
func (msg *MessageApplication_SubProtocolPayload_MultiDevice) Decode() (*waMultiDevice.MultiDevice, error) {
return armadilloutil.Unmarshal(&waMultiDevice.MultiDevice{}, msg.MultiDevice, MultiDeviceApplicationVersion)
}
func (msg *MessageApplication_SubProtocolPayload_MultiDevice) Set(payload *waMultiDevice.MultiDevice) (err error) {
msg.MultiDevice, err = armadilloutil.Marshal(payload, MultiDeviceApplicationVersion)
return
}
@@ -0,0 +1,964 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.12
// source: waMsgTransport/WAMsgTransport.proto
package waMsgTransport
import (
reflect "reflect"
sync "sync"
waCommon "go.mau.fi/whatsmeow/binary/armadillo/waCommon"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "embed"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type MessageTransport_Protocol_Ancillary_BackupDirective_ActionType int32
const (
MessageTransport_Protocol_Ancillary_BackupDirective_NOOP MessageTransport_Protocol_Ancillary_BackupDirective_ActionType = 0
MessageTransport_Protocol_Ancillary_BackupDirective_UPSERT MessageTransport_Protocol_Ancillary_BackupDirective_ActionType = 1
MessageTransport_Protocol_Ancillary_BackupDirective_DELETE MessageTransport_Protocol_Ancillary_BackupDirective_ActionType = 2
MessageTransport_Protocol_Ancillary_BackupDirective_UPSERT_AND_DELETE MessageTransport_Protocol_Ancillary_BackupDirective_ActionType = 3
)
// Enum value maps for MessageTransport_Protocol_Ancillary_BackupDirective_ActionType.
var (
MessageTransport_Protocol_Ancillary_BackupDirective_ActionType_name = map[int32]string{
0: "NOOP",
1: "UPSERT",
2: "DELETE",
3: "UPSERT_AND_DELETE",
}
MessageTransport_Protocol_Ancillary_BackupDirective_ActionType_value = map[string]int32{
"NOOP": 0,
"UPSERT": 1,
"DELETE": 2,
"UPSERT_AND_DELETE": 3,
}
)
func (x MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) Enum() *MessageTransport_Protocol_Ancillary_BackupDirective_ActionType {
p := new(MessageTransport_Protocol_Ancillary_BackupDirective_ActionType)
*p = x
return p
}
func (x MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) Descriptor() protoreflect.EnumDescriptor {
return file_waMsgTransport_WAMsgTransport_proto_enumTypes[0].Descriptor()
}
func (MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) Type() protoreflect.EnumType {
return &file_waMsgTransport_WAMsgTransport_proto_enumTypes[0]
}
func (x MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary_BackupDirective_ActionType.Descriptor instead.
func (MessageTransport_Protocol_Ancillary_BackupDirective_ActionType) EnumDescriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0, 0, 0}
}
type MessageTransport struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Payload *MessageTransport_Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Protocol *MessageTransport_Protocol `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
}
func (x *MessageTransport) Reset() {
*x = MessageTransport{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport) ProtoMessage() {}
func (x *MessageTransport) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport.ProtoReflect.Descriptor instead.
func (*MessageTransport) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0}
}
func (x *MessageTransport) GetPayload() *MessageTransport_Payload {
if x != nil {
return x.Payload
}
return nil
}
func (x *MessageTransport) GetProtocol() *MessageTransport_Protocol {
if x != nil {
return x.Protocol
}
return nil
}
type DeviceListMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SenderKeyHash []byte `protobuf:"bytes,1,opt,name=senderKeyHash,proto3" json:"senderKeyHash,omitempty"`
SenderTimestamp uint64 `protobuf:"varint,2,opt,name=senderTimestamp,proto3" json:"senderTimestamp,omitempty"`
RecipientKeyHash []byte `protobuf:"bytes,8,opt,name=recipientKeyHash,proto3" json:"recipientKeyHash,omitempty"`
RecipientTimestamp uint64 `protobuf:"varint,9,opt,name=recipientTimestamp,proto3" json:"recipientTimestamp,omitempty"`
}
func (x *DeviceListMetadata) Reset() {
*x = DeviceListMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeviceListMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceListMetadata) ProtoMessage() {}
func (x *DeviceListMetadata) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeviceListMetadata.ProtoReflect.Descriptor instead.
func (*DeviceListMetadata) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{1}
}
func (x *DeviceListMetadata) GetSenderKeyHash() []byte {
if x != nil {
return x.SenderKeyHash
}
return nil
}
func (x *DeviceListMetadata) GetSenderTimestamp() uint64 {
if x != nil {
return x.SenderTimestamp
}
return 0
}
func (x *DeviceListMetadata) GetRecipientKeyHash() []byte {
if x != nil {
return x.RecipientKeyHash
}
return nil
}
func (x *DeviceListMetadata) GetRecipientTimestamp() uint64 {
if x != nil {
return x.RecipientTimestamp
}
return 0
}
type MessageTransport_Payload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ApplicationPayload *waCommon.SubProtocol `protobuf:"bytes,1,opt,name=applicationPayload,proto3" json:"applicationPayload,omitempty"`
FutureProof waCommon.FutureProofBehavior `protobuf:"varint,3,opt,name=futureProof,proto3,enum=WACommon.FutureProofBehavior" json:"futureProof,omitempty"`
}
func (x *MessageTransport_Payload) Reset() {
*x = MessageTransport_Payload{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Payload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Payload) ProtoMessage() {}
func (x *MessageTransport_Payload) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Payload.ProtoReflect.Descriptor instead.
func (*MessageTransport_Payload) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 0}
}
func (x *MessageTransport_Payload) GetApplicationPayload() *waCommon.SubProtocol {
if x != nil {
return x.ApplicationPayload
}
return nil
}
func (x *MessageTransport_Payload) GetFutureProof() waCommon.FutureProofBehavior {
if x != nil {
return x.FutureProof
}
return waCommon.FutureProofBehavior(0)
}
type MessageTransport_Protocol struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Integral *MessageTransport_Protocol_Integral `protobuf:"bytes,1,opt,name=integral,proto3" json:"integral,omitempty"`
Ancillary *MessageTransport_Protocol_Ancillary `protobuf:"bytes,2,opt,name=ancillary,proto3" json:"ancillary,omitempty"`
}
func (x *MessageTransport_Protocol) Reset() {
*x = MessageTransport_Protocol{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol) ProtoMessage() {}
func (x *MessageTransport_Protocol) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1}
}
func (x *MessageTransport_Protocol) GetIntegral() *MessageTransport_Protocol_Integral {
if x != nil {
return x.Integral
}
return nil
}
func (x *MessageTransport_Protocol) GetAncillary() *MessageTransport_Protocol_Ancillary {
if x != nil {
return x.Ancillary
}
return nil
}
type MessageTransport_Protocol_Ancillary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Skdm *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage `protobuf:"bytes,2,opt,name=skdm,proto3" json:"skdm,omitempty"`
DeviceListMetadata *DeviceListMetadata `protobuf:"bytes,3,opt,name=deviceListMetadata,proto3" json:"deviceListMetadata,omitempty"`
Icdc *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices `protobuf:"bytes,4,opt,name=icdc,proto3" json:"icdc,omitempty"`
BackupDirective *MessageTransport_Protocol_Ancillary_BackupDirective `protobuf:"bytes,5,opt,name=backupDirective,proto3" json:"backupDirective,omitempty"`
}
func (x *MessageTransport_Protocol_Ancillary) Reset() {
*x = MessageTransport_Protocol_Ancillary{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Ancillary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Ancillary) ProtoMessage() {}
func (x *MessageTransport_Protocol_Ancillary) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Ancillary) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0}
}
func (x *MessageTransport_Protocol_Ancillary) GetSkdm() *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage {
if x != nil {
return x.Skdm
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary) GetDeviceListMetadata() *DeviceListMetadata {
if x != nil {
return x.DeviceListMetadata
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary) GetIcdc() *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices {
if x != nil {
return x.Icdc
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary) GetBackupDirective() *MessageTransport_Protocol_Ancillary_BackupDirective {
if x != nil {
return x.BackupDirective
}
return nil
}
type MessageTransport_Protocol_Integral struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Padding []byte `protobuf:"bytes,1,opt,name=padding,proto3" json:"padding,omitempty"`
DSM *MessageTransport_Protocol_Integral_DeviceSentMessage `protobuf:"bytes,2,opt,name=DSM,proto3" json:"DSM,omitempty"`
}
func (x *MessageTransport_Protocol_Integral) Reset() {
*x = MessageTransport_Protocol_Integral{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Integral) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Integral) ProtoMessage() {}
func (x *MessageTransport_Protocol_Integral) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Integral.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Integral) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 1}
}
func (x *MessageTransport_Protocol_Integral) GetPadding() []byte {
if x != nil {
return x.Padding
}
return nil
}
func (x *MessageTransport_Protocol_Integral) GetDSM() *MessageTransport_Protocol_Integral_DeviceSentMessage {
if x != nil {
return x.DSM
}
return nil
}
type MessageTransport_Protocol_Ancillary_BackupDirective struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MessageID string `protobuf:"bytes,1,opt,name=messageID,proto3" json:"messageID,omitempty"`
ActionType MessageTransport_Protocol_Ancillary_BackupDirective_ActionType `protobuf:"varint,2,opt,name=actionType,proto3,enum=WAMsgTransport.MessageTransport_Protocol_Ancillary_BackupDirective_ActionType" json:"actionType,omitempty"`
SupplementalKey string `protobuf:"bytes,3,opt,name=supplementalKey,proto3" json:"supplementalKey,omitempty"`
}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) Reset() {
*x = MessageTransport_Protocol_Ancillary_BackupDirective{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Ancillary_BackupDirective) ProtoMessage() {}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary_BackupDirective.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Ancillary_BackupDirective) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0, 0}
}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) GetMessageID() string {
if x != nil {
return x.MessageID
}
return ""
}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) GetActionType() MessageTransport_Protocol_Ancillary_BackupDirective_ActionType {
if x != nil {
return x.ActionType
}
return MessageTransport_Protocol_Ancillary_BackupDirective_NOOP
}
func (x *MessageTransport_Protocol_Ancillary_BackupDirective) GetSupplementalKey() string {
if x != nil {
return x.SupplementalKey
}
return ""
}
type MessageTransport_Protocol_Ancillary_ICDCParticipantDevices struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SenderIdentity *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription `protobuf:"bytes,1,opt,name=senderIdentity,proto3" json:"senderIdentity,omitempty"`
RecipientIdentities []*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription `protobuf:"bytes,2,rep,name=recipientIdentities,proto3" json:"recipientIdentities,omitempty"`
RecipientUserJIDs []string `protobuf:"bytes,3,rep,name=recipientUserJIDs,proto3" json:"recipientUserJIDs,omitempty"`
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) Reset() {
*x = MessageTransport_Protocol_Ancillary_ICDCParticipantDevices{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) ProtoMessage() {}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary_ICDCParticipantDevices.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0, 1}
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) GetSenderIdentity() *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription {
if x != nil {
return x.SenderIdentity
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) GetRecipientIdentities() []*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription {
if x != nil {
return x.RecipientIdentities
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices) GetRecipientUserJIDs() []string {
if x != nil {
return x.RecipientUserJIDs
}
return nil
}
type MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"`
AxolotlSenderKeyDistributionMessage []byte `protobuf:"bytes,2,opt,name=axolotlSenderKeyDistributionMessage,proto3" json:"axolotlSenderKeyDistributionMessage,omitempty"`
}
func (x *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) Reset() {
*x = MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) ProtoMessage() {}
func (x *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0, 2}
}
func (x *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage) GetAxolotlSenderKeyDistributionMessage() []byte {
if x != nil {
return x.AxolotlSenderKeyDistributionMessage
}
return nil
}
type MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seq int32 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
SigningDevice []byte `protobuf:"bytes,2,opt,name=signingDevice,proto3" json:"signingDevice,omitempty"`
UnknownDevices [][]byte `protobuf:"bytes,3,rep,name=unknownDevices,proto3" json:"unknownDevices,omitempty"`
UnknownDeviceIDs []int32 `protobuf:"varint,4,rep,packed,name=unknownDeviceIDs,proto3" json:"unknownDeviceIDs,omitempty"`
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) Reset() {
*x = MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) ProtoMessage() {
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 0, 1, 0}
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) GetSeq() int32 {
if x != nil {
return x.Seq
}
return 0
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) GetSigningDevice() []byte {
if x != nil {
return x.SigningDevice
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) GetUnknownDevices() [][]byte {
if x != nil {
return x.UnknownDevices
}
return nil
}
func (x *MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription) GetUnknownDeviceIDs() []int32 {
if x != nil {
return x.UnknownDeviceIDs
}
return nil
}
type MessageTransport_Protocol_Integral_DeviceSentMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DestinationJID string `protobuf:"bytes,1,opt,name=destinationJID,proto3" json:"destinationJID,omitempty"`
Phash string `protobuf:"bytes,2,opt,name=phash,proto3" json:"phash,omitempty"`
}
func (x *MessageTransport_Protocol_Integral_DeviceSentMessage) Reset() {
*x = MessageTransport_Protocol_Integral_DeviceSentMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageTransport_Protocol_Integral_DeviceSentMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageTransport_Protocol_Integral_DeviceSentMessage) ProtoMessage() {}
func (x *MessageTransport_Protocol_Integral_DeviceSentMessage) ProtoReflect() protoreflect.Message {
mi := &file_waMsgTransport_WAMsgTransport_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageTransport_Protocol_Integral_DeviceSentMessage.ProtoReflect.Descriptor instead.
func (*MessageTransport_Protocol_Integral_DeviceSentMessage) Descriptor() ([]byte, []int) {
return file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP(), []int{0, 1, 1, 0}
}
func (x *MessageTransport_Protocol_Integral_DeviceSentMessage) GetDestinationJID() string {
if x != nil {
return x.DestinationJID
}
return ""
}
func (x *MessageTransport_Protocol_Integral_DeviceSentMessage) GetPhash() string {
if x != nil {
return x.Phash
}
return ""
}
var File_waMsgTransport_WAMsgTransport_proto protoreflect.FileDescriptor
//go:embed WAMsgTransport.pb.raw
var file_waMsgTransport_WAMsgTransport_proto_rawDesc []byte
var (
file_waMsgTransport_WAMsgTransport_proto_rawDescOnce sync.Once
file_waMsgTransport_WAMsgTransport_proto_rawDescData = file_waMsgTransport_WAMsgTransport_proto_rawDesc
)
func file_waMsgTransport_WAMsgTransport_proto_rawDescGZIP() []byte {
file_waMsgTransport_WAMsgTransport_proto_rawDescOnce.Do(func() {
file_waMsgTransport_WAMsgTransport_proto_rawDescData = protoimpl.X.CompressGZIP(file_waMsgTransport_WAMsgTransport_proto_rawDescData)
})
return file_waMsgTransport_WAMsgTransport_proto_rawDescData
}
var file_waMsgTransport_WAMsgTransport_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_waMsgTransport_WAMsgTransport_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_waMsgTransport_WAMsgTransport_proto_goTypes = []interface{}{
(MessageTransport_Protocol_Ancillary_BackupDirective_ActionType)(0), // 0: WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective.ActionType
(*MessageTransport)(nil), // 1: WAMsgTransport.MessageTransport
(*DeviceListMetadata)(nil), // 2: WAMsgTransport.DeviceListMetadata
(*MessageTransport_Payload)(nil), // 3: WAMsgTransport.MessageTransport.Payload
(*MessageTransport_Protocol)(nil), // 4: WAMsgTransport.MessageTransport.Protocol
(*MessageTransport_Protocol_Ancillary)(nil), // 5: WAMsgTransport.MessageTransport.Protocol.Ancillary
(*MessageTransport_Protocol_Integral)(nil), // 6: WAMsgTransport.MessageTransport.Protocol.Integral
(*MessageTransport_Protocol_Ancillary_BackupDirective)(nil), // 7: WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective
(*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices)(nil), // 8: WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices
(*MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage)(nil), // 9: WAMsgTransport.MessageTransport.Protocol.Ancillary.SenderKeyDistributionMessage
(*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription)(nil), // 10: WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription
(*MessageTransport_Protocol_Integral_DeviceSentMessage)(nil), // 11: WAMsgTransport.MessageTransport.Protocol.Integral.DeviceSentMessage
(*waCommon.SubProtocol)(nil), // 12: WACommon.SubProtocol
(waCommon.FutureProofBehavior)(0), // 13: WACommon.FutureProofBehavior
}
var file_waMsgTransport_WAMsgTransport_proto_depIdxs = []int32{
3, // 0: WAMsgTransport.MessageTransport.payload:type_name -> WAMsgTransport.MessageTransport.Payload
4, // 1: WAMsgTransport.MessageTransport.protocol:type_name -> WAMsgTransport.MessageTransport.Protocol
12, // 2: WAMsgTransport.MessageTransport.Payload.applicationPayload:type_name -> WACommon.SubProtocol
13, // 3: WAMsgTransport.MessageTransport.Payload.futureProof:type_name -> WACommon.FutureProofBehavior
6, // 4: WAMsgTransport.MessageTransport.Protocol.integral:type_name -> WAMsgTransport.MessageTransport.Protocol.Integral
5, // 5: WAMsgTransport.MessageTransport.Protocol.ancillary:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary
9, // 6: WAMsgTransport.MessageTransport.Protocol.Ancillary.skdm:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.SenderKeyDistributionMessage
2, // 7: WAMsgTransport.MessageTransport.Protocol.Ancillary.deviceListMetadata:type_name -> WAMsgTransport.DeviceListMetadata
8, // 8: WAMsgTransport.MessageTransport.Protocol.Ancillary.icdc:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices
7, // 9: WAMsgTransport.MessageTransport.Protocol.Ancillary.backupDirective:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective
11, // 10: WAMsgTransport.MessageTransport.Protocol.Integral.DSM:type_name -> WAMsgTransport.MessageTransport.Protocol.Integral.DeviceSentMessage
0, // 11: WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective.actionType:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective.ActionType
10, // 12: WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.senderIdentity:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription
10, // 13: WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.recipientIdentities:type_name -> WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription
14, // [14:14] is the sub-list for method output_type
14, // [14:14] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
}
func init() { file_waMsgTransport_WAMsgTransport_proto_init() }
func file_waMsgTransport_WAMsgTransport_proto_init() {
if File_waMsgTransport_WAMsgTransport_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_waMsgTransport_WAMsgTransport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeviceListMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Payload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Ancillary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Integral); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Ancillary_BackupDirective); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Ancillary_ICDCParticipantDevices_ICDCIdentityListDescription); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMsgTransport_WAMsgTransport_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageTransport_Protocol_Integral_DeviceSentMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_waMsgTransport_WAMsgTransport_proto_rawDesc,
NumEnums: 1,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_waMsgTransport_WAMsgTransport_proto_goTypes,
DependencyIndexes: file_waMsgTransport_WAMsgTransport_proto_depIdxs,
EnumInfos: file_waMsgTransport_WAMsgTransport_proto_enumTypes,
MessageInfos: file_waMsgTransport_WAMsgTransport_proto_msgTypes,
}.Build()
File_waMsgTransport_WAMsgTransport_proto = out.File
file_waMsgTransport_WAMsgTransport_proto_rawDesc = nil
file_waMsgTransport_WAMsgTransport_proto_goTypes = nil
file_waMsgTransport_WAMsgTransport_proto_depIdxs = nil
}
Binary file not shown.
@@ -0,0 +1,75 @@
syntax = "proto3";
package WAMsgTransport;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waMsgTransport";
import "waCommon/WACommon.proto";
message MessageTransport {
message Payload {
WACommon.SubProtocol applicationPayload = 1;
WACommon.FutureProofBehavior futureProof = 3;
}
message Protocol {
message Ancillary {
message BackupDirective {
enum ActionType {
NOOP = 0;
UPSERT = 1;
DELETE = 2;
UPSERT_AND_DELETE = 3;
}
string messageID = 1;
ActionType actionType = 2;
string supplementalKey = 3;
}
message ICDCParticipantDevices {
message ICDCIdentityListDescription {
int32 seq = 1;
bytes signingDevice = 2;
repeated bytes unknownDevices = 3;
repeated int32 unknownDeviceIDs = 4;
}
ICDCIdentityListDescription senderIdentity = 1;
repeated ICDCIdentityListDescription recipientIdentities = 2;
repeated string recipientUserJIDs = 3;
}
message SenderKeyDistributionMessage {
string groupID = 1;
bytes axolotlSenderKeyDistributionMessage = 2;
}
SenderKeyDistributionMessage skdm = 2;
DeviceListMetadata deviceListMetadata = 3;
ICDCParticipantDevices icdc = 4;
BackupDirective backupDirective = 5;
}
message Integral {
message DeviceSentMessage {
string destinationJID = 1;
string phash = 2;
}
bytes padding = 1;
DeviceSentMessage DSM = 2;
}
Integral integral = 1;
Ancillary ancillary = 2;
}
Payload payload = 1;
Protocol protocol = 2;
}
message DeviceListMetadata {
bytes senderKeyHash = 1;
uint64 senderTimestamp = 2;
bytes recipientKeyHash = 8;
uint64 recipientTimestamp = 9;
}
@@ -0,0 +1,19 @@
package waMsgTransport
import (
"go.mau.fi/whatsmeow/binary/armadillo/armadilloutil"
"go.mau.fi/whatsmeow/binary/armadillo/waMsgApplication"
)
const (
MessageApplicationVersion = 2
)
func (msg *MessageTransport_Payload) Decode() (*waMsgApplication.MessageApplication, error) {
return armadilloutil.Unmarshal(&waMsgApplication.MessageApplication{}, msg.GetApplicationPayload(), MessageApplicationVersion)
}
func (msg *MessageTransport_Payload) Set(payload *waMsgApplication.MessageApplication) (err error) {
msg.ApplicationPayload, err = armadilloutil.Marshal(payload, MessageApplicationVersion)
return
}
@@ -0,0 +1,859 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.12
// source: waMultiDevice/WAMultiDevice.proto
package waMultiDevice
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "embed"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type MultiDevice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Payload *MultiDevice_Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Metadata *MultiDevice_Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}
func (x *MultiDevice) Reset() {
*x = MultiDevice{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice) ProtoMessage() {}
func (x *MultiDevice) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice.ProtoReflect.Descriptor instead.
func (*MultiDevice) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0}
}
func (x *MultiDevice) GetPayload() *MultiDevice_Payload {
if x != nil {
return x.Payload
}
return nil
}
func (x *MultiDevice) GetMetadata() *MultiDevice_Metadata {
if x != nil {
return x.Metadata
}
return nil
}
type MultiDevice_Metadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *MultiDevice_Metadata) Reset() {
*x = MultiDevice_Metadata{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_Metadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_Metadata) ProtoMessage() {}
func (x *MultiDevice_Metadata) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_Metadata.ProtoReflect.Descriptor instead.
func (*MultiDevice_Metadata) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 0}
}
type MultiDevice_Payload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
//
// *MultiDevice_Payload_ApplicationData
// *MultiDevice_Payload_Signal
Payload isMultiDevice_Payload_Payload `protobuf_oneof:"payload"`
}
func (x *MultiDevice_Payload) Reset() {
*x = MultiDevice_Payload{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_Payload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_Payload) ProtoMessage() {}
func (x *MultiDevice_Payload) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_Payload.ProtoReflect.Descriptor instead.
func (*MultiDevice_Payload) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 1}
}
func (m *MultiDevice_Payload) GetPayload() isMultiDevice_Payload_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *MultiDevice_Payload) GetApplicationData() *MultiDevice_ApplicationData {
if x, ok := x.GetPayload().(*MultiDevice_Payload_ApplicationData); ok {
return x.ApplicationData
}
return nil
}
func (x *MultiDevice_Payload) GetSignal() *MultiDevice_Signal {
if x, ok := x.GetPayload().(*MultiDevice_Payload_Signal); ok {
return x.Signal
}
return nil
}
type isMultiDevice_Payload_Payload interface {
isMultiDevice_Payload_Payload()
}
type MultiDevice_Payload_ApplicationData struct {
ApplicationData *MultiDevice_ApplicationData `protobuf:"bytes,1,opt,name=applicationData,proto3,oneof"`
}
type MultiDevice_Payload_Signal struct {
Signal *MultiDevice_Signal `protobuf:"bytes,2,opt,name=signal,proto3,oneof"`
}
func (*MultiDevice_Payload_ApplicationData) isMultiDevice_Payload_Payload() {}
func (*MultiDevice_Payload_Signal) isMultiDevice_Payload_Payload() {}
type MultiDevice_ApplicationData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to ApplicationData:
//
// *MultiDevice_ApplicationData_AppStateSyncKeyShare
// *MultiDevice_ApplicationData_AppStateSyncKeyRequest
ApplicationData isMultiDevice_ApplicationData_ApplicationData `protobuf_oneof:"applicationData"`
}
func (x *MultiDevice_ApplicationData) Reset() {
*x = MultiDevice_ApplicationData{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData) ProtoMessage() {}
func (x *MultiDevice_ApplicationData) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2}
}
func (m *MultiDevice_ApplicationData) GetApplicationData() isMultiDevice_ApplicationData_ApplicationData {
if m != nil {
return m.ApplicationData
}
return nil
}
func (x *MultiDevice_ApplicationData) GetAppStateSyncKeyShare() *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage {
if x, ok := x.GetApplicationData().(*MultiDevice_ApplicationData_AppStateSyncKeyShare); ok {
return x.AppStateSyncKeyShare
}
return nil
}
func (x *MultiDevice_ApplicationData) GetAppStateSyncKeyRequest() *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage {
if x, ok := x.GetApplicationData().(*MultiDevice_ApplicationData_AppStateSyncKeyRequest); ok {
return x.AppStateSyncKeyRequest
}
return nil
}
type isMultiDevice_ApplicationData_ApplicationData interface {
isMultiDevice_ApplicationData_ApplicationData()
}
type MultiDevice_ApplicationData_AppStateSyncKeyShare struct {
AppStateSyncKeyShare *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage `protobuf:"bytes,1,opt,name=appStateSyncKeyShare,proto3,oneof"`
}
type MultiDevice_ApplicationData_AppStateSyncKeyRequest struct {
AppStateSyncKeyRequest *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage `protobuf:"bytes,2,opt,name=appStateSyncKeyRequest,proto3,oneof"`
}
func (*MultiDevice_ApplicationData_AppStateSyncKeyShare) isMultiDevice_ApplicationData_ApplicationData() {
}
func (*MultiDevice_ApplicationData_AppStateSyncKeyRequest) isMultiDevice_ApplicationData_ApplicationData() {
}
type MultiDevice_Signal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *MultiDevice_Signal) Reset() {
*x = MultiDevice_Signal{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_Signal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_Signal) ProtoMessage() {}
func (x *MultiDevice_Signal) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_Signal.ProtoReflect.Descriptor instead.
func (*MultiDevice_Signal) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 3}
}
type MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyIDs []*MultiDevice_ApplicationData_AppStateSyncKeyId `protobuf:"bytes,1,rep,name=keyIDs,proto3" json:"keyIDs,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) ProtoMessage() {}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 0}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage) GetKeyIDs() []*MultiDevice_ApplicationData_AppStateSyncKeyId {
if x != nil {
return x.KeyIDs
}
return nil
}
type MultiDevice_ApplicationData_AppStateSyncKeyShareMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keys []*MultiDevice_ApplicationData_AppStateSyncKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKeyShareMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) ProtoMessage() {}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKeyShareMessage.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 1}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyShareMessage) GetKeys() []*MultiDevice_ApplicationData_AppStateSyncKey {
if x != nil {
return x.Keys
}
return nil
}
type MultiDevice_ApplicationData_AppStateSyncKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyID *MultiDevice_ApplicationData_AppStateSyncKeyId `protobuf:"bytes,1,opt,name=keyID,proto3" json:"keyID,omitempty"`
KeyData *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData `protobuf:"bytes,2,opt,name=keyData,proto3" json:"keyData,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKey{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKey) ProtoMessage() {}
func (x *MultiDevice_ApplicationData_AppStateSyncKey) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKey.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKey) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 2}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey) GetKeyID() *MultiDevice_ApplicationData_AppStateSyncKeyId {
if x != nil {
return x.KeyID
}
return nil
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey) GetKeyData() *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData {
if x != nil {
return x.KeyData
}
return nil
}
type MultiDevice_ApplicationData_AppStateSyncKeyId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyID []byte `protobuf:"bytes,1,opt,name=keyID,proto3" json:"keyID,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyId) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKeyId{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKeyId) ProtoMessage() {}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyId) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKeyId.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKeyId) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 3}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKeyId) GetKeyID() []byte {
if x != nil {
return x.KeyID
}
return nil
}
type MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyData []byte `protobuf:"bytes,1,opt,name=keyData,proto3" json:"keyData,omitempty"`
Fingerprint *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint `protobuf:"bytes,2,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) ProtoMessage() {}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 2, 0}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) GetKeyData() []byte {
if x != nil {
return x.KeyData
}
return nil
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) GetFingerprint() *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint {
if x != nil {
return x.Fingerprint
}
return nil
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
type MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawID uint32 `protobuf:"varint,1,opt,name=rawID,proto3" json:"rawID,omitempty"`
CurrentIndex uint32 `protobuf:"varint,2,opt,name=currentIndex,proto3" json:"currentIndex,omitempty"`
DeviceIndexes []uint32 `protobuf:"varint,3,rep,packed,name=deviceIndexes,proto3" json:"deviceIndexes,omitempty"`
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) Reset() {
*x = MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint{}
if protoimpl.UnsafeEnabled {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) ProtoMessage() {
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) ProtoReflect() protoreflect.Message {
mi := &file_waMultiDevice_WAMultiDevice_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint.ProtoReflect.Descriptor instead.
func (*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) Descriptor() ([]byte, []int) {
return file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP(), []int{0, 2, 2, 0, 0}
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) GetRawID() uint32 {
if x != nil {
return x.RawID
}
return 0
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) GetCurrentIndex() uint32 {
if x != nil {
return x.CurrentIndex
}
return 0
}
func (x *MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint) GetDeviceIndexes() []uint32 {
if x != nil {
return x.DeviceIndexes
}
return nil
}
var File_waMultiDevice_WAMultiDevice_proto protoreflect.FileDescriptor
//go:embed WAMultiDevice.pb.raw
var file_waMultiDevice_WAMultiDevice_proto_rawDesc []byte
var (
file_waMultiDevice_WAMultiDevice_proto_rawDescOnce sync.Once
file_waMultiDevice_WAMultiDevice_proto_rawDescData = file_waMultiDevice_WAMultiDevice_proto_rawDesc
)
func file_waMultiDevice_WAMultiDevice_proto_rawDescGZIP() []byte {
file_waMultiDevice_WAMultiDevice_proto_rawDescOnce.Do(func() {
file_waMultiDevice_WAMultiDevice_proto_rawDescData = protoimpl.X.CompressGZIP(file_waMultiDevice_WAMultiDevice_proto_rawDescData)
})
return file_waMultiDevice_WAMultiDevice_proto_rawDescData
}
var file_waMultiDevice_WAMultiDevice_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_waMultiDevice_WAMultiDevice_proto_goTypes = []interface{}{
(*MultiDevice)(nil), // 0: WAMultiDevice.MultiDevice
(*MultiDevice_Metadata)(nil), // 1: WAMultiDevice.MultiDevice.Metadata
(*MultiDevice_Payload)(nil), // 2: WAMultiDevice.MultiDevice.Payload
(*MultiDevice_ApplicationData)(nil), // 3: WAMultiDevice.MultiDevice.ApplicationData
(*MultiDevice_Signal)(nil), // 4: WAMultiDevice.MultiDevice.Signal
(*MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage)(nil), // 5: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyRequestMessage
(*MultiDevice_ApplicationData_AppStateSyncKeyShareMessage)(nil), // 6: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyShareMessage
(*MultiDevice_ApplicationData_AppStateSyncKey)(nil), // 7: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey
(*MultiDevice_ApplicationData_AppStateSyncKeyId)(nil), // 8: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyId
(*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData)(nil), // 9: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData
(*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint)(nil), // 10: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.AppStateSyncKeyFingerprint
}
var file_waMultiDevice_WAMultiDevice_proto_depIdxs = []int32{
2, // 0: WAMultiDevice.MultiDevice.payload:type_name -> WAMultiDevice.MultiDevice.Payload
1, // 1: WAMultiDevice.MultiDevice.metadata:type_name -> WAMultiDevice.MultiDevice.Metadata
3, // 2: WAMultiDevice.MultiDevice.Payload.applicationData:type_name -> WAMultiDevice.MultiDevice.ApplicationData
4, // 3: WAMultiDevice.MultiDevice.Payload.signal:type_name -> WAMultiDevice.MultiDevice.Signal
6, // 4: WAMultiDevice.MultiDevice.ApplicationData.appStateSyncKeyShare:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyShareMessage
5, // 5: WAMultiDevice.MultiDevice.ApplicationData.appStateSyncKeyRequest:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyRequestMessage
8, // 6: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyRequestMessage.keyIDs:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyId
7, // 7: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyShareMessage.keys:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey
8, // 8: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.keyID:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyId
9, // 9: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.keyData:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData
10, // 10: WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.fingerprint:type_name -> WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.AppStateSyncKeyFingerprint
11, // [11:11] is the sub-list for method output_type
11, // [11:11] is the sub-list for method input_type
11, // [11:11] is the sub-list for extension type_name
11, // [11:11] is the sub-list for extension extendee
0, // [0:11] is the sub-list for field type_name
}
func init() { file_waMultiDevice_WAMultiDevice_proto_init() }
func file_waMultiDevice_WAMultiDevice_proto_init() {
if File_waMultiDevice_WAMultiDevice_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_waMultiDevice_WAMultiDevice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_Metadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_Payload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_Signal); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKeyRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKeyShareMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKeyId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MultiDevice_ApplicationData_AppStateSyncKey_AppStateSyncKeyData_AppStateSyncKeyFingerprint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[2].OneofWrappers = []interface{}{
(*MultiDevice_Payload_ApplicationData)(nil),
(*MultiDevice_Payload_Signal)(nil),
}
file_waMultiDevice_WAMultiDevice_proto_msgTypes[3].OneofWrappers = []interface{}{
(*MultiDevice_ApplicationData_AppStateSyncKeyShare)(nil),
(*MultiDevice_ApplicationData_AppStateSyncKeyRequest)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_waMultiDevice_WAMultiDevice_proto_rawDesc,
NumEnums: 0,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_waMultiDevice_WAMultiDevice_proto_goTypes,
DependencyIndexes: file_waMultiDevice_WAMultiDevice_proto_depIdxs,
MessageInfos: file_waMultiDevice_WAMultiDevice_proto_msgTypes,
}.Build()
File_waMultiDevice_WAMultiDevice_proto = out.File
file_waMultiDevice_WAMultiDevice_proto_rawDesc = nil
file_waMultiDevice_WAMultiDevice_proto_goTypes = nil
file_waMultiDevice_WAMultiDevice_proto_depIdxs = nil
}
Binary file not shown.
@@ -0,0 +1,57 @@
syntax = "proto3";
package WAMultiDevice;
option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waMultiDevice";
message MultiDevice {
message Metadata {
}
message Payload {
oneof payload {
ApplicationData applicationData = 1;
Signal signal = 2;
}
}
message ApplicationData {
message AppStateSyncKeyRequestMessage {
repeated AppStateSyncKeyId keyIDs = 1;
}
message AppStateSyncKeyShareMessage {
repeated AppStateSyncKey keys = 1;
}
message AppStateSyncKey {
message AppStateSyncKeyData {
message AppStateSyncKeyFingerprint {
uint32 rawID = 1;
uint32 currentIndex = 2;
repeated uint32 deviceIndexes = 3 [packed=true];
}
bytes keyData = 1;
AppStateSyncKeyFingerprint fingerprint = 2;
int64 timestamp = 3;
}
AppStateSyncKeyId keyID = 1;
AppStateSyncKeyData keyData = 2;
}
message AppStateSyncKeyId {
bytes keyID = 1;
}
oneof applicationData {
AppStateSyncKeyShareMessage appStateSyncKeyShare = 1;
AppStateSyncKeyRequestMessage appStateSyncKeyRequest = 2;
}
}
message Signal {
}
Payload payload = 1;
Metadata metadata = 2;
}
@@ -0,0 +1,3 @@
package waMultiDevice
func (*MultiDevice) IsMessageApplicationSub() {}
+20
View File
@@ -123,6 +123,16 @@ func (au *AttrUtility) GetUnixTime(key string, require bool) (time.Time, bool) {
}
}
func (au *AttrUtility) GetUnixMilli(key string, require bool) (time.Time, bool) {
if intVal, ok := au.GetInt64(key, require); !ok {
return time.Time{}, false
} else if intVal == 0 {
return time.Time{}, true
} else {
return time.UnixMilli(intVal), true
}
}
// OptionalString returns the string under the given key.
func (au *AttrUtility) OptionalString(key string) string {
strVal, _ := au.GetString(key, false)
@@ -176,6 +186,16 @@ func (au *AttrUtility) UnixTime(key string) time.Time {
return val
}
func (au *AttrUtility) OptionalUnixMilli(key string) time.Time {
val, _ := au.GetUnixMilli(key, false)
return val
}
func (au *AttrUtility) UnixMilli(key string) time.Time {
val, _ := au.GetUnixMilli(key, true)
return val
}
// OK returns true if there are no errors.
func (au *AttrUtility) OK() bool {
return len(au.Errors) == 0
+53
View File
@@ -204,6 +204,10 @@ func (r *binaryDecoder) read(string bool) (interface{}, error) {
}
return token.GetDoubleToken(tag-token.Dictionary0, i)
case token.FBJID:
return r.readFBJID()
case token.InteropJID:
return r.readInteropJID()
case token.JIDPair:
return r.readJIDPair()
case token.ADJID:
@@ -234,6 +238,55 @@ func (r *binaryDecoder) readJIDPair() (interface{}, error) {
return types.NewJID(user.(string), server.(string)), nil
}
func (r *binaryDecoder) readInteropJID() (interface{}, error) {
user, err := r.read(true)
if err != nil {
return nil, err
}
device, err := r.readInt16(false)
if err != nil {
return nil, err
}
integrator, err := r.readInt16(false)
if err != nil {
return nil, err
}
server, err := r.read(true)
if err != nil {
return nil, err
} else if server != types.InteropServer {
return nil, fmt.Errorf("%w: expected %q, got %q", ErrInvalidJIDType, types.InteropServer, server)
}
return types.JID{
User: user.(string),
Device: uint16(device),
Integrator: uint16(integrator),
Server: types.InteropServer,
}, nil
}
func (r *binaryDecoder) readFBJID() (interface{}, error) {
user, err := r.read(true)
if err != nil {
return nil, err
}
device, err := r.readInt16(false)
if err != nil {
return nil, err
}
server, err := r.read(true)
if err != nil {
return nil, err
} else if server != types.MessengerServer {
return nil, fmt.Errorf("%w: expected %q, got %q", ErrInvalidJIDType, types.MessengerServer, server)
}
return types.JID{
User: user.(string),
Device: uint16(device),
Server: server.(string),
}, nil
}
func (r *binaryDecoder) readADJID() (interface{}, error) {
agent, err := r.readByte()
if err != nil {
+14 -3
View File
@@ -159,11 +159,22 @@ func (w *binaryEncoder) writeStringRaw(value string) {
}
func (w *binaryEncoder) writeJID(jid types.JID) {
if jid.AD {
if (jid.Server == types.DefaultUserServer && jid.Device > 0) || jid.Server == types.HiddenUserServer || jid.Server == types.HostedServer {
w.pushByte(token.ADJID)
w.pushByte(jid.Agent)
w.pushByte(jid.Device)
w.pushByte(jid.ActualAgent())
w.pushByte(uint8(jid.Device))
w.writeString(jid.User)
} else if jid.Server == types.MessengerServer {
w.pushByte(token.FBJID)
w.write(jid.User)
w.pushInt16(int(jid.Device))
w.write(jid.Server)
} else if jid.Server == types.InteropServer {
w.pushByte(token.InteropJID)
w.write(jid.User)
w.pushInt16(int(jid.Device))
w.pushInt16(int(jid.Integrator))
w.write(jid.Server)
} else {
w.pushByte(token.JIDPair)
if len(jid.User) == 0 {
+51 -1
View File
@@ -8,11 +8,14 @@
package binary
import (
"encoding/json"
"fmt"
"go.mau.fi/whatsmeow/types"
)
// Attrs is a type alias for the attributes of an XML element (Node).
type Attrs = map[string]interface{}
type Attrs = map[string]any
// Node represents an XML element.
type Node struct {
@@ -21,6 +24,53 @@ type Node struct {
Content interface{} // The content inside the element. Can be nil, a list of Nodes, or a byte array.
}
type marshalableNode struct {
Tag string
Attrs Attrs
Content json.RawMessage
}
func (n *Node) UnmarshalJSON(data []byte) error {
var mn marshalableNode
err := json.Unmarshal(data, &mn)
if err != nil {
return err
}
for key, val := range mn.Attrs {
switch typedVal := val.(type) {
case string:
parsed, err := types.ParseJID(typedVal)
if err == nil && parsed.Server == types.DefaultUserServer || parsed.Server == types.NewsletterServer || parsed.Server == types.GroupServer || parsed.Server == types.BroadcastServer {
mn.Attrs[key] = parsed
}
case float64:
mn.Attrs[key] = int64(typedVal)
}
}
n.Tag = mn.Tag
n.Attrs = mn.Attrs
if len(mn.Content) > 0 {
if mn.Content[0] == '[' {
var nodes []Node
err = json.Unmarshal(mn.Content, &nodes)
if err != nil {
return err
}
n.Content = nodes
} else if mn.Content[0] == '"' {
var binaryContent []byte
err = json.Unmarshal(mn.Content, &binaryContent)
if err != nil {
return err
}
n.Content = binaryContent
} else {
return fmt.Errorf("node content must be an array of nodes or a base64 string")
}
}
return nil
}
// GetChildren returns the Content of the node as a list of nodes. If the content is not a list of nodes, this returns nil.
func (n *Node) GetChildren() []Node {
if n.Content == nil {
+10054 -4114
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long