summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2020-02-05 13:16:30 +0300
committerGeorge Hazan <ghazan@miranda.im>2020-02-05 13:16:30 +0300
commit7aaec682eb08d6365d1b0d37271f61ea8d83316b (patch)
tree35cf8bd63b4b590f2bea73588f596191446b7727
parent716da0a2c8d8907e3b64813d08944148d99d472c (diff)
Facebook: code cleaning
-rw-r--r--protocols/Facebook/src/mqtt.cpp11
-rw-r--r--protocols/Facebook/src/proto.cpp10
-rw-r--r--protocols/Facebook/src/proto.h2
-rw-r--r--protocols/Facebook/src/server.cpp5
4 files changed, 14 insertions, 14 deletions
diff --git a/protocols/Facebook/src/mqtt.cpp b/protocols/Facebook/src/mqtt.cpp
index 00ebf341a4..afe7071c7e 100644
--- a/protocols/Facebook/src/mqtt.cpp
+++ b/protocols/Facebook/src/mqtt.cpp
@@ -260,12 +260,13 @@ void FacebookProto::MqttPing()
MqttSend(payload);
}
-void FacebookProto::MqttPublish(const char *topic, const char *value)
+void FacebookProto::MqttPublish(const char *topic, const JSONNode &value)
{
- debugLogA("Publish: <%s> -> <%s>", topic, value);
+ auto str = value.write();
+ debugLogA("Publish: <%s> -> <%s>", topic, str.c_str());
size_t dataSize;
- mir_ptr<uint8_t> pData(doZip(strlen(value), value, dataSize));
+ mir_ptr<uint8_t> pData(doZip(str.length(), str.c_str(), dataSize));
MqttMessage payload(FB_MQTT_MESSAGE_TYPE_PUBLISH, FB_MQTT_MESSAGE_FLAG_QOS1);
payload.writeStr(topic);
@@ -326,10 +327,10 @@ void FacebookProto::MqttQueueConnect()
params << CHAR_PARAM("buzz_on_deltas_enabled", "false") << hashes << hql;
query << INT64_PARAM("initial_titan_sequence_id", m_sid) << CHAR_PARAM("device_id", m_szDeviceID) << INT64_PARAM("entity_fbid", m_uid) << params;
- MqttPublish("/messenger_sync_create_queue", query.write().c_str());
+ MqttPublish("/messenger_sync_create_queue", query);
}
else {
query << INT64_PARAM("last_seq_id", m_sid) << CHAR_PARAM("sync_token", m_szSyncToken);
- MqttPublish("/messenger_sync_get_diffs", query.write().c_str());
+ MqttPublish("/messenger_sync_get_diffs", query);
}
}
diff --git a/protocols/Facebook/src/proto.cpp b/protocols/Facebook/src/proto.cpp
index 6364a3758c..a2accdb471 100644
--- a/protocols/Facebook/src/proto.cpp
+++ b/protocols/Facebook/src/proto.cpp
@@ -193,9 +193,8 @@ int FacebookProto::SendMsg(MCONTACT hContact, int, const char *pszSrc)
Utils_GetRandom(&msgId, sizeof(msgId));
msgId = abs(msgId);
- JSONNode root;
- root << CHAR_PARAM("body", pszSrc) << INT64_PARAM("msgid", msgId) << INT64_PARAM("sender_fbid", m_uid) << CHAR_PARAM("to", userId);
- MqttPublish("/send_message2", root.write().c_str());
+ JSONNode root; root << CHAR_PARAM("body", pszSrc) << INT64_PARAM("msgid", msgId) << INT64_PARAM("sender_fbid", m_uid) << CHAR_PARAM("to", userId);
+ MqttPublish("/send_message2", root);
arOwnMessages.insert(new COwnMessage(msgId, m_mid));
return m_mid;
@@ -263,9 +262,8 @@ int FacebookProto::SetStatus(int iNewStatus)
int FacebookProto::UserIsTyping(MCONTACT hContact, int type)
{
- ptrA id(getStringA(hContact, DBKEY_ID));
- CMStringA json(FORMAT, "{\"state\":%d, \"to\":\"%s\"}", type == PROTOTYPE_SELFTYPING_ON, id.get());
- MqttPublish("/typing", json);
+ JSONNode root; root << INT_PARAM("state", type == PROTOTYPE_SELFTYPING_ON) << CHAR_PARAM("to", getMStringA(hContact, DBKEY_ID));
+ MqttPublish("/typing", root);
return 0;
}
diff --git a/protocols/Facebook/src/proto.h b/protocols/Facebook/src/proto.h
index 779b92c692..050e93f356 100644
--- a/protocols/Facebook/src/proto.h
+++ b/protocols/Facebook/src/proto.h
@@ -418,7 +418,7 @@ class FacebookProto : public PROTO<FacebookProto>
void MqttLogin();
void MqttPing();
- void MqttPublish(const char *topic, const char *value);
+ void MqttPublish(const char *topic, const JSONNode &value);
void MqttSubscribe(const char *topic, ...);
void MqttUnsubscribe(const char *topic, ...);
diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp
index 9d65b4c3d0..f9d2eb5b2f 100644
--- a/protocols/Facebook/src/server.cpp
+++ b/protocols/Facebook/src/server.cpp
@@ -34,7 +34,8 @@ void FacebookProto::OnLoggedIn()
{
m_mid = 0;
- MqttPublish("/foreground_state", "{\"foreground\":true, \"keepalive_timeout\":60}");
+ JSONNode root; root << BOOL_PARAM("foreground", true) << INT_PARAM("keepalive_timeout", 60);
+ MqttPublish("/foreground_state", root);
MqttSubscribe("/inbox", "/mercury", "/messaging_events", "/orca_presence", "/orca_typing_notifications", "/pp", "/t_ms", "/t_p", "/t_rtc", "/webrtc", "/webrtc_response", 0);
MqttUnsubscribe("/orca_message_notifications", 0);
@@ -362,7 +363,7 @@ int FacebookProto::OnMarkedRead(WPARAM, LPARAM hDbEvent)
root << CHAR_PARAM("threadFbId", getMStringA(hContact, DBKEY_ID));
else
root << CHAR_PARAM("otherUserFbId", getMStringA(hContact, DBKEY_ID));
- MqttPublish("/mark_thread", root.write().c_str());
+ MqttPublish("/mark_thread", root);
return 0;
}