summaryrefslogtreecommitdiff
path: root/protocols/WhatsAppWeb/src/proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/WhatsAppWeb/src/proto.h')
-rw-r--r--protocols/WhatsAppWeb/src/proto.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/protocols/WhatsAppWeb/src/proto.h b/protocols/WhatsAppWeb/src/proto.h
index 137c42e60e..2ff8731eb9 100644
--- a/protocols/WhatsAppWeb/src/proto.h
+++ b/protocols/WhatsAppWeb/src/proto.h
@@ -15,6 +15,16 @@ Copyright © 2019-22 George Hazan
class WhatsAppProto;
typedef void (WhatsAppProto:: *WA_PKT_HANDLER)(const WANode &node);
+enum WAMSG
+{
+ Chat,
+ GroupChat,
+ DirectStatus,
+ OtherStatus,
+ PeerBroadcast,
+ OtherBroadcast
+};
+
struct WARequest
{
WARequest(const CMStringA &_1, WA_PKT_HANDLER _2, void *_3 = nullptr) :
@@ -28,6 +38,17 @@ struct WARequest
void *pUserInfo;
};
+struct WADevice
+{
+ WADevice(const char *_1, int _2) :
+ jid(_1),
+ key_index(_2)
+ {}
+
+ WAJid jid;
+ int key_index;
+};
+
struct WAPersistentHandler
{
WAPersistentHandler(const char *_1, const char *_2, const char *_3, const char *_4, WA_PKT_HANDLER _5) :
@@ -158,6 +179,8 @@ class WhatsAppProto : public PROTO<WhatsAppProto>
mir_cs m_csOwnMessages;
OBJLIST<WAOwnMessage> m_arOwnMsgs;
+ OBJLIST<WADevice> m_arDevices;
+
WAUser* FindUser(const char *szId);
WAUser* AddUser(const char *szId, bool bTemporary);
@@ -214,12 +237,14 @@ class WhatsAppProto : public PROTO<WhatsAppProto>
void OnProcessHandshake(const void *pData, int cbLen);
void InitPersistentHandlers();
+ void OnAccountSync(const WANode &node);
void OnIqBlockList(const WANode &node);
void OnIqCountPrekeys(const WANode &node);
void OnIqDoNothing(const WANode &node);
void OnIqPairDevice(const WANode &node);
void OnIqPairSuccess(const WANode &node);
void OnIqResult(const WANode &node);
+ void OnReceiveMessage(const WANode &node);
void OnStreamError(const WANode &node);
void OnSuccess(const WANode &node);