From 130caafc402e4155e3f09f9b41e29b774750411e Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Sat, 18 May 2024 18:41:12 +0800 Subject: [PATCH] refactor: add functions to cpp. --- cpp/include/libopenimsdkcc.h | 9 +++++++-- cpp/src/libopenimsdkcc.cc | 27 +++++++++++++++++++++------ go/export.go | 6 ++++++ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/cpp/include/libopenimsdkcc.h b/cpp/include/libopenimsdkcc.h index 9260c45..4f97ea2 100644 --- a/cpp/include/libopenimsdkcc.h +++ b/cpp/include/libopenimsdkcc.h @@ -145,7 +145,8 @@ public: void GetAdvancedHistoryMessageList(const std::function& getAdvancedHistoryCallback , const std::string& operationID, const std::string& getMessageOptions); // send message - void SendMessage(const std::function& callback, const std::string& operationID, const std::string& message, const std::string& recvID, const std::string& groupID, const std::string& offlinePushInfo); + void SendMessage(const std::function& callback, const std::string& operationID, + const std::string& message, const std::string& recvID, const std::string& groupID, const std::string& offlinePushInfo,bool isOnlineOnly); // // =====================================================user=============================================== // // @@ -226,6 +227,10 @@ public: // remove black void RemoveBlack(const std::function& callback, const std::string& operationID, const std::string& removeUserID); + // set friends ex + void SetFriendsEx(const std::function& callback, + const std::string& operationID, const std::string& friendIDs,const std::string& ex); + // // =====================================================group=============================================== // // @@ -234,7 +239,7 @@ public: void CreateGroup(const std::function& callback, const std::string& operationID, const std::string& groupReqInfo); // join group - void JoinGroup(const std::function& callback, const std::string& operationID, const std::string& groupID, const std::string& reqMsg, int joinSource); + void JoinGroup(const std::function& callback, const std::string& operationID, const std::string& groupID, const std::string& reqMsg, int joinSource,const std::string& ex); // quit group void QuitGroup(const std::function& callback, const std::string& operationID, const std::string& groupID); diff --git a/cpp/src/libopenimsdkcc.cc b/cpp/src/libopenimsdkcc.cc index ac748e3..c47cb85 100644 --- a/cpp/src/libopenimsdkcc.cc +++ b/cpp/src/libopenimsdkcc.cc @@ -407,14 +407,16 @@ void OpenIMManager::GetAdvancedHistoryMessageList(const std::function& sendMessageCallback, const std::string& operationID, const std::string& message,const std::string& recvID,const std::string& groupID,const std::string& offlinePushInfo) +void SendMessage(const std::function& sendMessageCallback, +const std::string& operationID, const std::string& message,const std::string& recvID,const std::string& groupID,const std::string& offlinePushInfo,bool isOnlineOnly) { char* operationID_cs=const_cast(operationID.c_str()); char* message_cs=const_cast(message.c_str()); char* recvID_cs=const_cast(recvID.c_str()); char* groupID_cs=const_cast(groupID.c_str()); char* offlinePushInfo_cs=const_cast(offlinePushInfo.c_str()); - send_message(_wrapper_callonce_cpp_function(sendMessageCallback),operationID_cs,message_cs,recvID_cs,groupID_cs,offlinePushInfo_cs); + int isOnlineOnly_c = isOnlineOnly ? 1 : 0; + send_message(_wrapper_callonce_cpp_function(sendMessageCallback),operationID_cs,message_cs,recvID_cs,groupID_cs,offlinePushInfo_cs,isOnlineOnly_c); } // // ===================================================== user =============================================== @@ -588,11 +590,13 @@ void OpenIMManager::RefuseFriendApplication(const std::function& callback,const std::string& operationID, const std::string& userIDs) +void OpenIMManager::AddBlack(const std::function& callback,const std::string& operationID, const std::string& userIDs,const std::string& ex) { char* operationID_cs=const_cast(operationID.c_str()); char* userIDs_cs=const_cast(userIDs.c_str()); - add_black(_wrapper_callonce_cpp_function(callback),operationID_cs,userIDs_cs); + char* ex_cs = const_cast(ex.c_str()); + add_black(_wrapper_callonce_cpp_function(callback),operationID_cs,userIDs_cs,ex_cs); } // get black list @@ -610,6 +614,15 @@ void OpenIMManager::RemoveBlack(const std::function& callback, const std::string& operationID,const std::string& friendIDs, const std::string& ex) +{ + char* operationID_cs=const_cast(operationID.c_str()); + char* friendIDs_cs=const_cast(friendIDs.c_str()); + char* ex_cs=const_cast(ex.c_str()); + set_friends_ex(_wrapper_callonce_cpp_function(callback),operationID_cs,friendIDs_cs,ex_cs); +} + // // ===================================================== group =============================================== // // @@ -622,12 +635,14 @@ void OpenIMManager::CreateGroup(const std::function& callback, const std::string& operationID, const std::string& groupID, const std::string& reqMsg, int joinSource) +void OpenIMManager::JoinGroup(const std::function& callback, + const std::string& operationID, const std::string& groupID, const std::string& reqMsg, int joinSource,const std::string& ex) { char* operationID_cs=const_cast(operationID.c_str()); char* groupID_cs=const_cast(groupID.c_str()); char* reqMsg_cs=const_cast(reqMsg.c_str()); - join_group(_wrapper_callonce_cpp_function(callback),operationID_cs,groupID_cs,reqMsg_cs,joinSource); + char* ex_cs = const_cast(ex.c_str()); + join_group(_wrapper_callonce_cpp_function(callback),operationID_cs,groupID_cs,reqMsg_cs,joinSource,ex_cs); } // quit group diff --git a/go/export.go b/go/export.go index bdb3436..6820793 100644 --- a/go/export.go +++ b/go/export.go @@ -941,6 +941,12 @@ func remove_black(cCallback C.CB_S_I_S_S, operationID *C.char, removeUserID *C.c open_im_sdk.RemoveBlack(baseCallback, C.GoString(operationID), C.GoString(removeUserID)) } +//export set_friends_ex +func set_friends_ex(cCallback C.CB_S_I_S_S, operationID, friendIDs, ex *C.char) { + baseCallback := NewBaseCallback(cCallback, operationID) + open_im_sdk.SetFriendsEx(baseCallback, C.GoString(operationID), C.GoString(friendIDs), ex) +} + // =====================================================group=============================================== // CreateGroup creates a group //