static void CallbackReceiveMsg(const char *content, const char *json_extension, const void *callback) { if (callback) { Talk::ReceiveMsgCallback* cb_pointer = (Talk::ReceiveMsgCallback*)callback; if (*cb_pointer) { IMMessage msg; ParseReceiveMessage(PCharToString(content), msg); (*cb_pointer)(msg); } } }
static bool FilterTeamNotification(const char *content, const char *json_extension, const void *callback) { if (callback) { Talk::TeamNotificationFilter* cb_point = (Talk::TeamNotificationFilter *)callback; if (*cb_point) { IMMessage msg; ParseReceiveMessage(PCharToString(content), msg); return (*cb_point)(msg); } } return false; }
static void CallbackReceiveMsg(const char *content, const char *json_extension, const void *callback) { if (callback) { Talk::ReveiveMsgCallback* cb_pointer = (Talk::ReveiveMsgCallback*)callback; if (*cb_pointer) { IMMessage msg; ParseReceiveMessage(PCharToString(content), msg); PostTaskToUIThread(std::bind((*cb_pointer), msg)); //(*cb_pointer)(msg); } } }
static void CallbackReceiveMessages(const char *content, const char *json_extension, const void *callback) { if (callback) { Talk::ReceiveMsgsCallback* cb_pointer = (Talk::ReceiveMsgsCallback*)callback; if (*cb_pointer) { std::list<IMMessage> msgs; Json::Reader reader; Json::Value value; if (reader.parse(PCharToString(content), value) && value.isArray()) { int size = value.size(); for (int i = 0; i < size; i++) { IMMessage msg; ParseReceiveMessage(value[i], msg); msgs.push_back(msg); } } (*cb_pointer)(msgs); } } }