From fd806f34557fc8410d2715d7aadd96b75691b791 Mon Sep 17 00:00:00 2001 From: Tom Lee Date: Fri, 6 Oct 2017 09:53:22 +0800 Subject: [PATCH] no message --- MQTTDemo/IMLib/MQTTClient/NetworkService.mm | 1 + MQTTDemo/IMLib/mars.framework/Headers/stn/stn.h | 4 ++++ mars/stn/mqtt/MessageDB.cpp | 7 +++---- mars/stn/mqtt/stn_callback.cc | 9 +++++++++ mars/stn/mqtt/stn_callback.h | 2 ++ mars/stn/stn.cc | 7 +++++++ mars/stn/stn.h | 4 ++++ 7 files changed, 30 insertions(+), 4 deletions(-) diff --git a/MQTTDemo/IMLib/MQTTClient/NetworkService.mm b/MQTTDemo/IMLib/MQTTClient/NetworkService.mm index d2a3654d..bdd8454b 100644 --- a/MQTTDemo/IMLib/MQTTClient/NetworkService.mm +++ b/MQTTDemo/IMLib/MQTTClient/NetworkService.mm @@ -150,6 +150,7 @@ - (void) createMars { mars::app::SetCallback(mars::app::AppCallBack::Instance()); mars::stn::setConnectionStatusCallback(new CSCB(self)); mars::stn::setReceiveMessageCallback(new RPCB(self)); + mars::baseevent::OnCreate(); } diff --git a/MQTTDemo/IMLib/mars.framework/Headers/stn/stn.h b/MQTTDemo/IMLib/mars.framework/Headers/stn/stn.h index 5ea79377..f09e6b5b 100644 --- a/MQTTDemo/IMLib/mars.framework/Headers/stn/stn.h +++ b/MQTTDemo/IMLib/mars.framework/Headers/stn/stn.h @@ -536,6 +536,10 @@ extern void (*ReportDnsProfile)(const DnsProfile& _dns_profile); extern void setConnectionStatusCallback(ConnectionStatusCallback *callback); extern void setReceiveMessageCallback(ReceiveMessageCallback *callback); + + extern void setRefreshUserInfoCallback(GetUserInfoCallback *callback); + extern void setRefreshGroupInfoCallback(GetGroupInfoCallback *callback); + extern ConnectionStatus getConnectionStatus(); extern int (*sendMessage)(TMessage &tmsg, SendMessageCallback *callback); diff --git a/mars/stn/mqtt/MessageDB.cpp b/mars/stn/mqtt/MessageDB.cpp index 4c3229e8..922adacf 100644 --- a/mars/stn/mqtt/MessageDB.cpp +++ b/mars/stn/mqtt/MessageDB.cpp @@ -611,13 +611,12 @@ namespace mars { class TGetGroupInfoCallback : public GetGroupInfoCallback { void onSuccess(std::list groupInfoList) { - if(StnCallBack::Instance()->m_getGroupInfoCB) { - StnCallBack::Instance()->m_getGroupInfoCB->onSuccess(groupInfoList); - } - for (std::list::iterator it = groupInfoList.begin(); it != groupInfoList.end(); it++) { MessageDB::Instance()->InsertGroupInfo(*it); } + if(StnCallBack::Instance()->m_getGroupInfoCB) { + StnCallBack::Instance()->m_getGroupInfoCB->onSuccess(groupInfoList); + } delete this; } void onFalure(int errorCode) { diff --git a/mars/stn/mqtt/stn_callback.cc b/mars/stn/mqtt/stn_callback.cc index b9c8d36d..adc54bbe 100644 --- a/mars/stn/mqtt/stn_callback.cc +++ b/mars/stn/mqtt/stn_callback.cc @@ -39,6 +39,15 @@ namespace mars { StnCallBack::Instance()->setReceiveMessageCallback(callback); } + void setRefreshUserInfoCallback(GetUserInfoCallback *callback) { + StnCallBack::Instance()->setGetUserInfoCallback(callback); + } + + void setRefreshGroupInfoCallback(GetGroupInfoCallback *callback) { + StnCallBack::Instance()->setGetGroupInfoCallback(callback); + } + + ConnectionStatus getConnectionStatus() { return StnCallBack::Instance()->getConnectionStatus(); } diff --git a/mars/stn/mqtt/stn_callback.h b/mars/stn/mqtt/stn_callback.h index c77d8837..460b9fbd 100644 --- a/mars/stn/mqtt/stn_callback.h +++ b/mars/stn/mqtt/stn_callback.h @@ -36,6 +36,7 @@ namespace mars { class TGetGroupInfoCallback; + class RefreshUserInfoCallback; class StnCallBack : public Callback, PullingMessageCallback { private: @@ -88,6 +89,7 @@ class StnCallBack : public Callback, PullingMessageCallback { void onDBOpened(); friend class TGetGroupInfoCallback; + friend class RefreshUserInfoCallback; private: static StnCallBack* instance_; void PullMessage(int64_t head); diff --git a/mars/stn/stn.cc b/mars/stn/stn.cc index bf2cd958..6f880953 100644 --- a/mars/stn/stn.cc +++ b/mars/stn/stn.cc @@ -134,9 +134,16 @@ MQTTTask::MQTTTask(MQTT_MSG_TYPE type) : Task(), type(type) { for (std::list::const_iterator it = userInfoList.begin(); it != userInfoList.end(); ++it) { MessageDB::Instance()->InsertUserInfoOrReplace(*it); } + + if(StnCallBack::Instance()->m_getUserInfoCB) { + StnCallBack::Instance()->m_getUserInfoCB->onSuccess(userInfoList); + } delete this; } void onFalure(int errorCode) { + if(StnCallBack::Instance()->m_getUserInfoCB) { + StnCallBack::Instance()->m_getUserInfoCB->onFalure(errorCode); + } delete this; } diff --git a/mars/stn/stn.h b/mars/stn/stn.h index 5ea79377..f09e6b5b 100644 --- a/mars/stn/stn.h +++ b/mars/stn/stn.h @@ -536,6 +536,10 @@ extern void (*ReportDnsProfile)(const DnsProfile& _dns_profile); extern void setConnectionStatusCallback(ConnectionStatusCallback *callback); extern void setReceiveMessageCallback(ReceiveMessageCallback *callback); + + extern void setRefreshUserInfoCallback(GetUserInfoCallback *callback); + extern void setRefreshGroupInfoCallback(GetGroupInfoCallback *callback); + extern ConnectionStatus getConnectionStatus(); extern int (*sendMessage)(TMessage &tmsg, SendMessageCallback *callback);