fix: provide the corresponding relationship when the function is called asynchronously.

Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com>
dev_1
Gordon 2 years ago
parent 2943d7811b
commit c4fafedebf
  1. 326
      c_wrapper/export.go
  2. 19
      c_wrapper/protocol.go

@ -3,11 +3,11 @@ package main
/* /*
#include <stdio.h> #include <stdio.h>
typedef void (*CB_I_S)(int,char *); typedef void (*CB_I_S)(int,char *);
typedef void (*CB_I_S_S)(int,char *,char *); typedef void (*CB_S_I_S_S)(char *,int,char *,char *);
typedef void (*CB_I_S_S_I)(int,char *,char *,int); typedef void (*CB_S_I_S_S_I)(char *,int,char *,char *,int);
extern void Call_CB_I_S(CB_I_S func,int event,char* data); extern void Call_CB_I_S(CB_I_S func,int event,char* data);
extern void Call_CB_I_S_S(CB_I_S_S func,int errCode,char* errMsg,char* data); extern void Call_CB_S_I_S_S(CB_S_I_S_S func,char *,int errCode,char* errMsg,char* data);
extern void Call_CB_I_S_S_I(CB_I_S_S_I func,int errCode,char* errMsg,char* data,int progress); extern void Call_CB_S_I_S_S_I(CB_S_I_S_S_I func,char *,int errCode,char* errMsg,char* data,int progress);
*/ */
import "C" import "C"
@ -50,39 +50,41 @@ func (c ConnCallback) OnUserTokenExpired() {
} }
type SendMessageCallback struct { type SendMessageCallback struct {
cCallback C.CB_I_S_S_I cCallback C.CB_S_I_S_S_I
operationID *C.char
} }
func NewSendMessageCallback(cCallback C.CB_I_S_S_I) *SendMessageCallback { func NewSendMessageCallback(cCallback C.CB_S_I_S_S_I, operationID *C.char) *SendMessageCallback {
return &SendMessageCallback{cCallback: cCallback} return &SendMessageCallback{cCallback: cCallback, operationID: operationID}
} }
func (s SendMessageCallback) OnError(errCode int32, errMsg string) { func (s SendMessageCallback) OnError(errCode int32, errMsg string) {
C.Call_CB_I_S_S_I(s.cCallback, C.int(errCode), C.CString(errMsg), NO_DATA, NO_PROGRESS) C.Call_CB_S_I_S_S_I(s.cCallback, s.operationID, C.int(errCode), C.CString(errMsg), NO_DATA, NO_PROGRESS)
} }
func (s SendMessageCallback) OnSuccess(data string) { func (s SendMessageCallback) OnSuccess(data string) {
C.Call_CB_I_S_S_I(s.cCallback, NO_ERR, NO_ERR_MSG, C.CString(data), NO_PROGRESS) C.Call_CB_S_I_S_S_I(s.cCallback, s.operationID, NO_ERR, NO_ERR_MSG, C.CString(data), NO_PROGRESS)
} }
func (s SendMessageCallback) OnProgress(progress int) { func (s SendMessageCallback) OnProgress(progress int) {
C.Call_CB_I_S_S_I(s.cCallback, NO_ERR, NO_ERR_MSG, NO_DATA, C.int(progress)) C.Call_CB_S_I_S_S_I(s.cCallback, s.operationID, NO_ERR, NO_ERR_MSG, NO_DATA, C.int(progress))
} }
type BaseCallback struct { type BaseCallback struct {
cCallback C.CB_I_S_S cCallback C.CB_S_I_S_S
operationID *C.char
} }
func NewBaseCallback(cCallback C.CB_I_S_S) *BaseCallback { func NewBaseCallback(cCallback C.CB_S_I_S_S, operationID *C.char) *BaseCallback {
return &BaseCallback{cCallback: cCallback} return &BaseCallback{cCallback: cCallback, operationID: operationID}
} }
func (b BaseCallback) OnError(errCode int32, errMsg string) { func (b BaseCallback) OnError(errCode int32, errMsg string) {
C.Call_CB_I_S_S(b.cCallback, C.int(errCode), C.CString(errMsg), NO_DATA) C.Call_CB_S_I_S_S(b.cCallback, b.operationID, C.int(errCode), C.CString(errMsg), NO_DATA)
} }
func (b BaseCallback) OnSuccess(data string) { func (b BaseCallback) OnSuccess(data string) {
C.Call_CB_I_S_S(b.cCallback, NO_ERR, NO_ERR_MSG, C.CString(data)) C.Call_CB_S_I_S_S(b.cCallback, b.operationID, NO_ERR, NO_ERR_MSG, C.CString(data))
} }
//export init_sdk //export init_sdk
@ -99,20 +101,20 @@ func un_init_sdk(operationID *C.char) {
} }
//export login //export login
func login(cCallback C.CB_I_S_S, operationID, uid, token *C.char) { func login(cCallback C.CB_S_I_S_S, operationID, uid, token *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.Login(baseCallback, C.GoString(operationID), C.GoString(uid), C.GoString(token)) open_im_sdk.Login(baseCallback, C.GoString(operationID), C.GoString(uid), C.GoString(token))
} }
//export logout //export logout
func logout(cCallback C.CB_I_S_S, operationID *C.char) { func logout(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.Logout(baseCallback, C.GoString(operationID)) open_im_sdk.Logout(baseCallback, C.GoString(operationID))
} }
//export network_status_changed //export network_status_changed
func network_status_changed(cCallback C.CB_I_S_S, operationID *C.char) { func network_status_changed(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.NetworkStatusChanged(baseCallback, C.GoString(operationID)) open_im_sdk.NetworkStatusChanged(baseCallback, C.GoString(operationID))
} }
@ -242,168 +244,168 @@ func create_forward_message(operationID, m *C.char) *C.char {
} }
//export get_all_conversation_list //export get_all_conversation_list
func get_all_conversation_list(cCallback C.CB_I_S_S, operationID *C.char) { func get_all_conversation_list(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetAllConversationList(baseCallback, C.GoString(operationID)) open_im_sdk.GetAllConversationList(baseCallback, C.GoString(operationID))
} }
//export get_advanced_history_message_list //export get_advanced_history_message_list
func get_advanced_history_message_list(cCallback C.CB_I_S_S, operationID, getMessageOptions *C.char) { func get_advanced_history_message_list(cCallback C.CB_S_I_S_S, operationID, getMessageOptions *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetAdvancedHistoryMessageList(baseCallback, C.GoString(operationID), C.GoString(getMessageOptions)) open_im_sdk.GetAdvancedHistoryMessageList(baseCallback, C.GoString(operationID), C.GoString(getMessageOptions))
} }
//export send_message //export send_message
func send_message(cCallback C.CB_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char) { func send_message(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char) {
sendMsgCallback := NewSendMessageCallback(cCallback) sendMsgCallback := NewSendMessageCallback(cCallback, operationID)
open_im_sdk.SendMessage(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID), C.GoString(groupID), C.GoString(offlinePushInfo)) open_im_sdk.SendMessage(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID), C.GoString(groupID), C.GoString(offlinePushInfo))
} }
// =====================================================user=============================================== // =====================================================user===============================================
// //
//export get_users_info //export get_users_info
func get_users_info(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) { func get_users_info(cCallback C.CB_S_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetUsersInfo(baseCallback, C.GoString(operationID), C.GoString(userIDs)) open_im_sdk.GetUsersInfo(baseCallback, C.GoString(operationID), C.GoString(userIDs))
} }
//export get_users_info_from_srv //export get_users_info_from_srv
func get_users_info_from_srv(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) { func get_users_info_from_srv(cCallback C.CB_S_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetUsersInfoFromSrv(baseCallback, C.GoString(operationID), C.GoString(userIDs)) open_im_sdk.GetUsersInfoFromSrv(baseCallback, C.GoString(operationID), C.GoString(userIDs))
} }
//export set_self_info //export set_self_info
func set_self_info(cCallback C.CB_I_S_S, operationID *C.char, userInfo *C.char) { func set_self_info(cCallback C.CB_S_I_S_S, operationID *C.char, userInfo *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetSelfInfo(baseCallback, C.GoString(operationID), C.GoString(userInfo)) open_im_sdk.SetSelfInfo(baseCallback, C.GoString(operationID), C.GoString(userInfo))
} }
//export get_self_user_info //export get_self_user_info
func get_self_user_info(cCallback C.CB_I_S_S, operationID *C.char) { func get_self_user_info(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSelfUserInfo(baseCallback, C.GoString(operationID)) open_im_sdk.GetSelfUserInfo(baseCallback, C.GoString(operationID))
} }
//export update_msg_sender_info //export update_msg_sender_info
func update_msg_sender_info(cCallback C.CB_I_S_S, operationID *C.char, nickname *C.char, faceURL *C.char) { func update_msg_sender_info(cCallback C.CB_S_I_S_S, operationID *C.char, nickname *C.char, faceURL *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.UpdateMsgSenderInfo(baseCallback, C.GoString(operationID), C.GoString(nickname), C.GoString(faceURL)) open_im_sdk.UpdateMsgSenderInfo(baseCallback, C.GoString(operationID), C.GoString(nickname), C.GoString(faceURL))
} }
//export subscribe_users_status //export subscribe_users_status
func subscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) { func subscribe_users_status(cCallback C.CB_S_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs)) open_im_sdk.SubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
} }
//export unsubscribe_users_status //export unsubscribe_users_status
func unsubscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) { func unsubscribe_users_status(cCallback C.CB_S_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.UnsubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs)) open_im_sdk.UnsubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
} }
//export get_subscribe_users_status //export get_subscribe_users_status
func get_subscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char) { func get_subscribe_users_status(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSubscribeUsersStatus(baseCallback, C.GoString(operationID)) open_im_sdk.GetSubscribeUsersStatus(baseCallback, C.GoString(operationID))
} }
//export get_user_status //export get_user_status
func get_user_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) { func get_user_status(cCallback C.CB_S_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetUserStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs)) open_im_sdk.GetUserStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
} }
// =====================================================friend=============================================== // =====================================================friend===============================================
// //
//export get_specified_friends_info //export get_specified_friends_info
func get_specified_friends_info(cCallback C.CB_I_S_S, operationID *C.char, userIDList *C.char) { func get_specified_friends_info(cCallback C.CB_S_I_S_S, operationID *C.char, userIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSpecifiedFriendsInfo(baseCallback, C.GoString(operationID), C.GoString(userIDList)) open_im_sdk.GetSpecifiedFriendsInfo(baseCallback, C.GoString(operationID), C.GoString(userIDList))
} }
//export get_friend_list //export get_friend_list
func get_friend_list(cCallback C.CB_I_S_S, operationID *C.char) { func get_friend_list(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetFriendList(baseCallback, C.GoString(operationID)) open_im_sdk.GetFriendList(baseCallback, C.GoString(operationID))
} }
//export get_friend_list_page //export get_friend_list_page
func get_friend_list_page(cCallback C.CB_I_S_S, operationID *C.char, offset C.int, count C.int) { func get_friend_list_page(cCallback C.CB_S_I_S_S, operationID *C.char, offset C.int, count C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetFriendListPage(baseCallback, C.GoString(operationID), int32(offset), int32(count)) open_im_sdk.GetFriendListPage(baseCallback, C.GoString(operationID), int32(offset), int32(count))
} }
//export search_friends //export search_friends
func search_friends(cCallback C.CB_I_S_S, operationID *C.char, searchParam *C.char) { func search_friends(cCallback C.CB_S_I_S_S, operationID *C.char, searchParam *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SearchFriends(baseCallback, C.GoString(operationID), C.GoString(searchParam)) open_im_sdk.SearchFriends(baseCallback, C.GoString(operationID), C.GoString(searchParam))
} }
//export check_friend //export check_friend
func check_friend(cCallback C.CB_I_S_S, operationID *C.char, userIDList *C.char) { func check_friend(cCallback C.CB_S_I_S_S, operationID *C.char, userIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.CheckFriend(baseCallback, C.GoString(operationID), C.GoString(userIDList)) open_im_sdk.CheckFriend(baseCallback, C.GoString(operationID), C.GoString(userIDList))
} }
//export add_friend //export add_friend
func add_friend(cCallback C.CB_I_S_S, operationID *C.char, userIDReqMsg *C.char) { func add_friend(cCallback C.CB_S_I_S_S, operationID *C.char, userIDReqMsg *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.AddFriend(baseCallback, C.GoString(operationID), C.GoString(userIDReqMsg)) open_im_sdk.AddFriend(baseCallback, C.GoString(operationID), C.GoString(userIDReqMsg))
} }
//export set_friend_remark //export set_friend_remark
func set_friend_remark(cCallback C.CB_I_S_S, operationID *C.char, userIDRemark *C.char) { func set_friend_remark(cCallback C.CB_S_I_S_S, operationID *C.char, userIDRemark *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetFriendRemark(baseCallback, C.GoString(operationID), C.GoString(userIDRemark)) open_im_sdk.SetFriendRemark(baseCallback, C.GoString(operationID), C.GoString(userIDRemark))
} }
//export delete_friend //export delete_friend
func delete_friend(cCallback C.CB_I_S_S, operationID *C.char, friendUserID *C.char) { func delete_friend(cCallback C.CB_S_I_S_S, operationID *C.char, friendUserID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.DeleteFriend(baseCallback, C.GoString(operationID), C.GoString(friendUserID)) open_im_sdk.DeleteFriend(baseCallback, C.GoString(operationID), C.GoString(friendUserID))
} }
//export get_friend_application_list_as_recipient //export get_friend_application_list_as_recipient
func get_friend_application_list_as_recipient(cCallback C.CB_I_S_S, operationID *C.char) { func get_friend_application_list_as_recipient(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetFriendApplicationListAsRecipient(baseCallback, C.GoString(operationID)) open_im_sdk.GetFriendApplicationListAsRecipient(baseCallback, C.GoString(operationID))
} }
//export get_friend_application_list_as_applicant //export get_friend_application_list_as_applicant
func get_friend_application_list_as_applicant(cCallback C.CB_I_S_S, operationID *C.char) { func get_friend_application_list_as_applicant(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetFriendApplicationListAsApplicant(baseCallback, C.GoString(operationID)) open_im_sdk.GetFriendApplicationListAsApplicant(baseCallback, C.GoString(operationID))
} }
//export accept_friend_application //export accept_friend_application
func accept_friend_application(cCallback C.CB_I_S_S, operationID *C.char, userIDHandleMsg *C.char) { func accept_friend_application(cCallback C.CB_S_I_S_S, operationID *C.char, userIDHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.AcceptFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg)) open_im_sdk.AcceptFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg))
} }
//export refuse_friend_application //export refuse_friend_application
func refuse_friend_application(cCallback C.CB_I_S_S, operationID *C.char, userIDHandleMsg *C.char) { func refuse_friend_application(cCallback C.CB_S_I_S_S, operationID *C.char, userIDHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.RefuseFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg)) open_im_sdk.RefuseFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg))
} }
//export add_black //export add_black
func add_black(cCallback C.CB_I_S_S, operationID *C.char, blackUserID *C.char) { func add_black(cCallback C.CB_S_I_S_S, operationID *C.char, blackUserID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.AddBlack(baseCallback, C.GoString(operationID), C.GoString(blackUserID)) open_im_sdk.AddBlack(baseCallback, C.GoString(operationID), C.GoString(blackUserID))
} }
//export get_black_list //export get_black_list
func get_black_list(cCallback C.CB_I_S_S, operationID *C.char) { func get_black_list(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetBlackList(baseCallback, C.GoString(operationID)) open_im_sdk.GetBlackList(baseCallback, C.GoString(operationID))
} }
//export remove_black //export remove_black
func remove_black(cCallback C.CB_I_S_S, operationID *C.char, removeUserID *C.char) { func remove_black(cCallback C.CB_S_I_S_S, operationID *C.char, removeUserID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.RemoveBlack(baseCallback, C.GoString(operationID), C.GoString(removeUserID)) open_im_sdk.RemoveBlack(baseCallback, C.GoString(operationID), C.GoString(removeUserID))
} }
@ -411,233 +413,233 @@ func remove_black(cCallback C.CB_I_S_S, operationID *C.char, removeUserID *C.cha
// CreateGroup creates a group // CreateGroup creates a group
// //
//export create_group //export create_group
func create_group(cCallback C.CB_I_S_S, cOperationID, cGroupReqInfo *C.char) { func create_group(cCallback C.CB_S_I_S_S, operationID, cGroupReqInfo *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.CreateGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupReqInfo)) open_im_sdk.CreateGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupReqInfo))
} }
// JoinGroup joins a group // JoinGroup joins a group
// //
//export join_group //export join_group
func join_group(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReqMsg *C.char, cJoinSource C.int) { func join_group(cCallback C.CB_S_I_S_S, operationID, cGroupID, cReqMsg *C.char, cJoinSource C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.JoinGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReqMsg), int32(cJoinSource)) open_im_sdk.JoinGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cReqMsg), int32(cJoinSource))
} }
// QuitGroup quits a group // QuitGroup quits a group
// //
//export quit_group //export quit_group
func quit_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) { func quit_group(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.QuitGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID)) open_im_sdk.QuitGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupID))
} }
// DismissGroup dismisses a group // DismissGroup dismisses a group
// //
//export dismiss_group //export dismiss_group
func dismiss_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) { func dismiss_group(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.DismissGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID)) open_im_sdk.DismissGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupID))
} }
// ChangeGroupMute changes the mute status of a group // ChangeGroupMute changes the mute status of a group
// //
//export change_group_mute //export change_group_mute
func change_group_mute(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cIsMute C.int) { func change_group_mute(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cIsMute C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.ChangeGroupMute(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), parseBool(int(cIsMute))) open_im_sdk.ChangeGroupMute(baseCallback, C.GoString(operationID), C.GoString(cGroupID), parseBool(int(cIsMute)))
} }
// ChangeGroupMemberMute changes the mute status of a group member // ChangeGroupMemberMute changes the mute status of a group member
// //
//export change_group_member_mute //export change_group_member_mute
func change_group_member_mute(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserID *C.char, cMutedSeconds C.int) { func change_group_member_mute(cCallback C.CB_S_I_S_S, operationID, cGroupID, cUserID *C.char, cMutedSeconds C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.ChangeGroupMemberMute(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), int(cMutedSeconds)) open_im_sdk.ChangeGroupMemberMute(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cUserID), int(cMutedSeconds))
} }
// SetGroupMemberRoleLevel sets the role level of a group member // SetGroupMemberRoleLevel sets the role level of a group member
// //
//export set_group_member_role_level //export set_group_member_role_level
func set_group_member_role_level(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserID *C.char, cRoleLevel C.int) { func set_group_member_role_level(cCallback C.CB_S_I_S_S, operationID, cGroupID, cUserID *C.char, cRoleLevel C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupMemberRoleLevel(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), int(cRoleLevel)) open_im_sdk.SetGroupMemberRoleLevel(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cUserID), int(cRoleLevel))
} }
// SetGroupMemberInfo sets the information of a group member // SetGroupMemberInfo sets the information of a group member
// //
//export set_group_member_info //export set_group_member_info
func set_group_member_info(cCallback C.CB_I_S_S, cOperationID *C.char, cGroupMemberInfo *C.char) { func set_group_member_info(cCallback C.CB_S_I_S_S, operationID *C.char, cGroupMemberInfo *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupMemberInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupMemberInfo)) open_im_sdk.SetGroupMemberInfo(baseCallback, C.GoString(operationID), C.GoString(cGroupMemberInfo))
} }
// GetJoinedGroupList retrieves the list of joined groups // GetJoinedGroupList retrieves the list of joined groups
// //
//export get_joined_group_list //export get_joined_group_list
func get_joined_group_list(cCallback C.CB_I_S_S, cOperationID *C.char) { func get_joined_group_list(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetJoinedGroupList(baseCallback, C.GoString(cOperationID)) open_im_sdk.GetJoinedGroupList(baseCallback, C.GoString(operationID))
} }
// GetSpecifiedGroupsInfo retrieves the information of specified groups // GetSpecifiedGroupsInfo retrieves the information of specified groups
// //
//export get_specified_groups_info //export get_specified_groups_info
func get_specified_groups_info(cCallback C.CB_I_S_S, cOperationID, cGroupIDList *C.char) { func get_specified_groups_info(cCallback C.CB_S_I_S_S, operationID, cGroupIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSpecifiedGroupsInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupIDList)) open_im_sdk.GetSpecifiedGroupsInfo(baseCallback, C.GoString(operationID), C.GoString(cGroupIDList))
} }
// SearchGroups searches for groups // SearchGroups searches for groups
// //
//export search_groups //export search_groups
func search_groups(cCallback C.CB_I_S_S, cOperationID, cSearchParam *C.char) { func search_groups(cCallback C.CB_S_I_S_S, operationID, cSearchParam *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SearchGroups(baseCallback, C.GoString(cOperationID), C.GoString(cSearchParam)) open_im_sdk.SearchGroups(baseCallback, C.GoString(operationID), C.GoString(cSearchParam))
} }
// SetGroupInfo sets the information of a group // SetGroupInfo sets the information of a group
// //
//export set_group_info //export set_group_info
func set_group_info(cCallback C.CB_I_S_S, cOperationID, cGroupInfo *C.char) { func set_group_info(cCallback C.CB_S_I_S_S, operationID, cGroupInfo *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupInfo)) open_im_sdk.SetGroupInfo(baseCallback, C.GoString(operationID), C.GoString(cGroupInfo))
} }
// SetGroupVerification sets the verification mode of a group // SetGroupVerification sets the verification mode of a group
// //
//export set_group_verification //export set_group_verification
func set_group_verification(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cVerification C.int) { func set_group_verification(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cVerification C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupVerification(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cVerification)) open_im_sdk.SetGroupVerification(baseCallback, C.GoString(operationID), C.GoString(cGroupID), int32(cVerification))
} }
// SetGroupLookMemberInfo sets the member information visibility of a group // SetGroupLookMemberInfo sets the member information visibility of a group
// //
//export set_group_look_member_info //export set_group_look_member_info
func set_group_look_member_info(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cRule C.int) { func set_group_look_member_info(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cRule C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupLookMemberInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cRule)) open_im_sdk.SetGroupLookMemberInfo(baseCallback, C.GoString(operationID), C.GoString(cGroupID), int32(cRule))
} }
// SetGroupApplyMemberFriend sets the friend rule for group applicants // SetGroupApplyMemberFriend sets the friend rule for group applicants
// //
//export set_group_apply_member_friend //export set_group_apply_member_friend
func set_group_apply_member_friend(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cRule C.int) { func set_group_apply_member_friend(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cRule C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupApplyMemberFriend(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cRule)) open_im_sdk.SetGroupApplyMemberFriend(baseCallback, C.GoString(operationID), C.GoString(cGroupID), int32(cRule))
} }
// GetGroupMemberList retrieves the list of group members // GetGroupMemberList retrieves the list of group members
// //
//export get_group_member_list //export get_group_member_list
func get_group_member_list(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cFilter, cOffset, cCount C.int) { func get_group_member_list(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cFilter, cOffset, cCount C.int) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetGroupMemberList(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cFilter), int32(cOffset), int32(cCount)) open_im_sdk.GetGroupMemberList(baseCallback, C.GoString(operationID), C.GoString(cGroupID), int32(cFilter), int32(cOffset), int32(cCount))
} }
// GetGroupMemberOwnerAndAdmin retrieves the owner and admin members of a group // GetGroupMemberOwnerAndAdmin retrieves the owner and admin members of a group
// //
//export get_group_member_owner_and_admin //export get_group_member_owner_and_admin
func get_group_member_owner_and_admin(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) { func get_group_member_owner_and_admin(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetGroupMemberOwnerAndAdmin(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID)) open_im_sdk.GetGroupMemberOwnerAndAdmin(baseCallback, C.GoString(operationID), C.GoString(cGroupID))
} }
// GetGroupMemberListByJoinTimeFilter retrieves the list of group members filtered by join time // GetGroupMemberListByJoinTimeFilter retrieves the list of group members filtered by join time
// //
//export get_group_member_list_by_join_time_filter //export get_group_member_list_by_join_time_filter
func get_group_member_list_by_join_time_filter(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cOffset, cCount C.int, cJoinTimeBegin, cJoinTimeEnd C.longlong, cFilterUserIDList *C.char) { func get_group_member_list_by_join_time_filter(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char, cOffset, cCount C.int, cJoinTimeBegin, cJoinTimeEnd C.longlong, cFilterUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetGroupMemberListByJoinTimeFilter(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cOffset), int32(cCount), int64(cJoinTimeBegin), int64(cJoinTimeEnd), C.GoString(cFilterUserIDList)) open_im_sdk.GetGroupMemberListByJoinTimeFilter(baseCallback, C.GoString(operationID), C.GoString(cGroupID), int32(cOffset), int32(cCount), int64(cJoinTimeBegin), int64(cJoinTimeEnd), C.GoString(cFilterUserIDList))
} }
// GetSpecifiedGroupMembersInfo retrieves the information of specified group members // GetSpecifiedGroupMembersInfo retrieves the information of specified group members
// //
//export get_specified_group_members_info //export get_specified_group_members_info
func get_specified_group_members_info(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserIDList *C.char) { func get_specified_group_members_info(cCallback C.CB_S_I_S_S, operationID, cGroupID, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSpecifiedGroupMembersInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserIDList)) open_im_sdk.GetSpecifiedGroupMembersInfo(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cUserIDList))
} }
// KickGroupMember kicks group members // KickGroupMember kicks group members
// //
//export kick_group_member //export kick_group_member
func kick_group_member(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReason, cUserIDList *C.char) { func kick_group_member(cCallback C.CB_S_I_S_S, operationID, cGroupID, cReason, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.KickGroupMember(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList)) open_im_sdk.KickGroupMember(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList))
} }
// TransferGroupOwner transfers the ownership of a group // TransferGroupOwner transfers the ownership of a group
// //
//export transfer_group_owner //export transfer_group_owner
func transfer_group_owner(cCallback C.CB_I_S_S, cOperationID, cGroupID, cNewOwnerUserID *C.char) { func transfer_group_owner(cCallback C.CB_S_I_S_S, operationID, cGroupID, cNewOwnerUserID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.TransferGroupOwner(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cNewOwnerUserID)) open_im_sdk.TransferGroupOwner(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cNewOwnerUserID))
} }
// InviteUserToGroup invites users to a group // InviteUserToGroup invites users to a group
// //
//export invite_user_to_group //export invite_user_to_group
func invite_user_to_group(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReason, cUserIDList *C.char) { func invite_user_to_group(cCallback C.CB_S_I_S_S, operationID, cGroupID, cReason, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.InviteUserToGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList)) open_im_sdk.InviteUserToGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList))
} }
// GetGroupApplicationListAsRecipient retrieves the group application list as a recipient // GetGroupApplicationListAsRecipient retrieves the group application list as a recipient
// //
//export get_group_application_list_as_recipient //export get_group_application_list_as_recipient
func get_group_application_list_as_recipient(cCallback C.CB_I_S_S, cOperationID *C.char) { func get_group_application_list_as_recipient(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetGroupApplicationListAsRecipient(baseCallback, C.GoString(cOperationID)) open_im_sdk.GetGroupApplicationListAsRecipient(baseCallback, C.GoString(operationID))
} }
// GetGroupApplicationListAsApplicant retrieves the group application list as an applicant // GetGroupApplicationListAsApplicant retrieves the group application list as an applicant
// //
//export get_group_application_list_as_applicant //export get_group_application_list_as_applicant
func get_group_application_list_as_applicant(cCallback C.CB_I_S_S, cOperationID *C.char) { func get_group_application_list_as_applicant(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetGroupApplicationListAsApplicant(baseCallback, C.GoString(cOperationID)) open_im_sdk.GetGroupApplicationListAsApplicant(baseCallback, C.GoString(operationID))
} }
// AcceptGroupApplication accepts a group application // AcceptGroupApplication accepts a group application
// //
//export accept_group_application //export accept_group_application
func accept_group_application(cCallback C.CB_I_S_S, cOperationID, cGroupID, cFromUserID, cHandleMsg *C.char) { func accept_group_application(cCallback C.CB_S_I_S_S, operationID, cGroupID, cFromUserID, cHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.AcceptGroupApplication(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg)) open_im_sdk.AcceptGroupApplication(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg))
} }
// RefuseGroupApplication refuses a group application // RefuseGroupApplication refuses a group application
// //
//export refuse_group_application //export refuse_group_application
func refuse_group_application(cCallback C.CB_I_S_S, cOperationID, cGroupID, cFromUserID, cHandleMsg *C.char) { func refuse_group_application(cCallback C.CB_S_I_S_S, operationID, cGroupID, cFromUserID, cHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.RefuseGroupApplication(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg)) open_im_sdk.RefuseGroupApplication(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg))
} }
// SetGroupMemberNickname sets the nickname of a group member // SetGroupMemberNickname sets the nickname of a group member
// //
//export set_group_member_nickname //export set_group_member_nickname
func set_group_member_nickname(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserID, cGroupMemberNickname *C.char) { func set_group_member_nickname(cCallback C.CB_S_I_S_S, operationID, cGroupID, cUserID, cGroupMemberNickname *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SetGroupMemberNickname(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), C.GoString(cGroupMemberNickname)) open_im_sdk.SetGroupMemberNickname(baseCallback, C.GoString(operationID), C.GoString(cGroupID), C.GoString(cUserID), C.GoString(cGroupMemberNickname))
} }
// SearchGroupMembers searches for group members // SearchGroupMembers searches for group members
// //
//export search_group_members //export search_group_members
func search_group_members(cCallback C.CB_I_S_S, cOperationID, cSearchParam *C.char) { func search_group_members(cCallback C.CB_S_I_S_S, operationID, cSearchParam *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SearchGroupMembers(baseCallback, C.GoString(cOperationID), C.GoString(cSearchParam)) open_im_sdk.SearchGroupMembers(baseCallback, C.GoString(operationID), C.GoString(cSearchParam))
} }
// IsJoinGroup checks if the user has joined a group // IsJoinGroup checks if the user has joined a group
// //
//export is_join_group //export is_join_group
func is_join_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) { func is_join_group(cCallback C.CB_S_I_S_S, operationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback) baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.IsJoinGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID)) open_im_sdk.IsJoinGroup(baseCallback, C.GoString(operationID), C.GoString(cGroupID))
} }
func main() { func main() {

@ -2,24 +2,27 @@ package main
/* /*
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
typedef void (*CB_I_S)(int,char *); typedef void (*CB_I_S)(int,char *);
typedef void (*CB_I_S_S)(int,char *,char *); typedef void (*CB_S_I_S_S)(char *,int,char *,char *);
typedef void (*CB_I_S_S_I)(int,char *,char *,int); typedef void (*CB_S_I_S_S_I)(char *,int,char *,char *,int);
void Call_CB_I_S(CB_I_S func,int event,char* data) void Call_CB_I_S(CB_I_S func,int event,char* data)
{ {
func(event,data); func(event,data);
free(data); free(data);
} }
void Call_CB_I_S_S(CB_I_S_S func,int errCode,char* errMsg,char* data) void Call_CB_S_I_S_S(CB_S_I_S_S func,char* operationID, int errCode,char* errMsg,char* data)
{ {
func(errCode,errMsg,data); func(operationID,errCode,errMsg,data);
free(errMsg,data); free(errMsg);
free(data);
} }
void Call_CB_I_S_S_I(CB_I_S_S_I func,int errCode,char* errMsg,char* data,int progress) void Call_CB_S_I_S_S_I(CB_S_I_S_S_I func,char* operationID,int errCode,char* errMsg,char* data,int progress)
{ {
func(errCode,errMsg,data,progress); func(operationID,errCode,errMsg,data,progress);
free(errMsg,data); free(errMsg);
free(data);
} }
enum CONN_EVENT{ enum CONN_EVENT{
CONNECTING, CONNECTING,

Loading…
Cancel
Save