|
|
|
@ -174,6 +174,10 @@ func (a AdvancedMsgCallback) OnRecvOnlineOnlyMessage(message string) { |
|
|
|
|
C.Call_CB_I_S(a.cCallback, RECV_ONLINE_ONLY_MESSAGE, C.CString(message)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (a AdvancedMsgCallback) OnNewRecvMessageEdited(message string) { |
|
|
|
|
C.Call_CB_I_S(a.cCallback, NEW_RECV_MESSAGE_EDIT, C.CString(message)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type BatchMessageCallback struct { |
|
|
|
|
cCallback C.CB_I_S |
|
|
|
|
} |
|
|
|
@ -286,6 +290,58 @@ func (g GroupCallback) OnGroupApplicationRejected(groupApplication string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, GROUP_APPLICATION_REJECTED, C.CString(groupApplication)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type ChannelCallback struct { |
|
|
|
|
cCallback C.CB_I_S |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func NewChannelCallback(cCallback C.CB_I_S) *ChannelCallback { |
|
|
|
|
return &ChannelCallback{cCallback: cCallback} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnJoinedChannelAdded(channelInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, JOINED_CHANNEL_ADDED, C.CString(channelInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnJoinedChannelDeleted(channelInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, JOINED_CHANNEL_DELETED, C.CString(channelInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelMemberAdded(channelMemberInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_ADDED, C.CString(channelMemberInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelMemberDeleted(channelMemberInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_DELETED, C.CString(channelMemberInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelApplicationAdded(channelApplication string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_ADDED, C.CString(channelApplication)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelApplicationDeleted(channelApplication string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_DELETED, C.CString(channelApplication)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelInfoChanged(channelInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_INFO_CHANGED, C.CString(channelInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelDismissed(channelInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_DISMISSED, C.CString(channelInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelMemberInfoChanged(channelMemberInfo string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_INFO_CHANGED, C.CString(channelMemberInfo)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelApplicationAccepted(channelApplication string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_ACCEPTED, C.CString(channelApplication)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (g ChannelCallback) OnChannelApplicationRejected(channelApplication string) { |
|
|
|
|
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_REJECTED, C.CString(channelApplication)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type CustomBusinessCallback struct { |
|
|
|
|
cCallback C.CB_I_S |
|
|
|
|
} |
|
|
|
@ -440,6 +496,11 @@ func set_group_listener(cCallback C.CB_I_S) { |
|
|
|
|
open_im_sdk.SetGroupListener(NewGroupCallback(cCallback)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export set_channel_listener
|
|
|
|
|
func set_channel_listener(cCallback C.CB_I_S) { |
|
|
|
|
open_im_sdk.SetChannelListener(NewChannelCallback(cCallback)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export set_conversation_listener
|
|
|
|
|
func set_conversation_listener(cCallback C.CB_I_S) { |
|
|
|
|
open_im_sdk.SetConversationListener(NewConversationCallback(cCallback)) |
|
|
|
@ -673,6 +734,12 @@ func create_forward_message(operationID, m *C.char) *C.char { |
|
|
|
|
return C.CString(open_im_sdk.CreateForwardMessage(C.GoString(operationID), C.GoString(m))) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export fetch_surrounding_messages
|
|
|
|
|
func fetch_surrounding_messages(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, before C.int, after C.int) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.FetchSurroundingMessages(baseCallback, C.GoString(operationID), C.GoString(message), int(before), int(after)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export get_all_conversation_list
|
|
|
|
|
func get_all_conversation_list(cCallback C.CB_S_I_S_S, operationID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
@ -732,17 +799,17 @@ func get_conversation_id_by_session_type(operationID *C.char, sourceID *C.char, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export send_message
|
|
|
|
|
func send_message(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char, isOnlineOnly C.int) { |
|
|
|
|
func send_message(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, channelID, offlinePushInfo *C.char, isOnlineOnly C.int) { |
|
|
|
|
sendMsgCallback := NewSendMessageCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.SendMessage(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID), |
|
|
|
|
C.GoString(groupID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly))) |
|
|
|
|
C.GoString(groupID), C.GoString(channelID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly))) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export send_message_not_oss
|
|
|
|
|
func send_message_not_oss(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char, isOnlineOnly C.int) { |
|
|
|
|
func send_message_not_oss(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, channelID, offlinePushInfo *C.char, isOnlineOnly C.int) { |
|
|
|
|
sendMsgCallback := NewSendMessageCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.SendMessageNotOss(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID), |
|
|
|
|
C.GoString(groupID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly))) |
|
|
|
|
C.GoString(groupID), C.GoString(channelID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly))) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export find_message_list
|
|
|
|
@ -769,6 +836,12 @@ func revoke_message(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID |
|
|
|
|
open_im_sdk.RevokeMessage(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export edit_message
|
|
|
|
|
func edit_message(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgID *C.char, message *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.EditMessage(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgID), C.GoString(message)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export typing_status_update
|
|
|
|
|
func typing_status_update(cCallback C.CB_S_I_S_S, operationID *C.char, recvID *C.char, msgTip *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
@ -781,6 +854,12 @@ func mark_conversation_message_as_read(cCallback C.CB_S_I_S_S, operationID *C.ch |
|
|
|
|
open_im_sdk.MarkConversationMessageAsRead(baseCallback, C.GoString(operationID), C.GoString(conversationID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export mark_messages_as_read_by_msg_id
|
|
|
|
|
func mark_messages_as_read_by_msg_id(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgIDs *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.MarkMessagesAsReadByMsgID(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgIDs)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export delete_message_from_local_storage
|
|
|
|
|
func delete_message_from_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
@ -799,6 +878,18 @@ func hide_all_conversations(cCallback C.CB_S_I_S_S, operationID *C.char) { |
|
|
|
|
open_im_sdk.HideAllConversations(baseCallback, C.GoString(operationID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export search_conversation
|
|
|
|
|
func search_conversation(cCallback C.CB_S_I_S_S, operationID *C.char, searchParam *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.SearchConversation(baseCallback, C.GoString(operationID), C.GoString(searchParam)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export search_conversations
|
|
|
|
|
func search_conversations(cCallback C.CB_S_I_S_S, operationID *C.char, searchParam *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.SearchConversation(baseCallback, C.GoString(operationID), C.GoString(searchParam)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export delete_all_msg_from_local_and_svr
|
|
|
|
|
func delete_all_msg_from_local_and_svr(cCallback C.CB_S_I_S_S, operationID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
@ -830,9 +921,9 @@ func insert_single_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export insert_group_message_to_local_storage
|
|
|
|
|
func insert_group_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, groupID *C.char, sendID *C.char) { |
|
|
|
|
func insert_group_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, groupID *C.char, channelID *C.char, sendID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.InsertGroupMessageToLocalStorage(baseCallback, C.GoString(operationID), C.GoString(message), C.GoString(groupID), C.GoString(sendID)) |
|
|
|
|
open_im_sdk.InsertGroupMessageToLocalStorage(baseCallback, C.GoString(operationID), C.GoString(message), C.GoString(groupID), C.GoString(channelID), C.GoString(sendID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//export search_local_messages
|
|
|
|
@ -1254,6 +1345,67 @@ func logs(cCallback C.CB_S_I_S_S, operationID *C.char, logLevel C.int, file *C.c |
|
|
|
|
open_im_sdk.Logs(baseCallback, C.GoString(operationID), int(logLevel), C.GoString(file), int(line), C.GoString(msgs), C.GoString(err), C.GoString(keyAndValue)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// =====================================================channel===============================================
|
|
|
|
|
|
|
|
|
|
// JoinChannel joins a channel
|
|
|
|
|
//
|
|
|
|
|
//export join_channel
|
|
|
|
|
func join_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID, cReqMsg *C.char, cJoinSource C.int, ex *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.JoinChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID), C.GoString(cReqMsg), |
|
|
|
|
int32(cJoinSource), C.GoString(ex)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// QuitChannel quits a channel
|
|
|
|
|
//
|
|
|
|
|
//export quit_channel
|
|
|
|
|
func quit_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.QuitChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// GetSpecifiedChannelsInfo retrieves the information of specified channels
|
|
|
|
|
//
|
|
|
|
|
//export get_specified_channels_info
|
|
|
|
|
func get_specified_channels_info(cCallback C.CB_S_I_S_S, operationID, cChannelIDList *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.GetSpecifiedChannelsInfo(baseCallback, C.GoString(operationID), C.GoString(cChannelIDList)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// GetChannelMemberList retrieves the list of channel members
|
|
|
|
|
//
|
|
|
|
|
//export get_channel_member_list
|
|
|
|
|
func get_channel_member_list(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char, cFilter, cOffset, cCount C.int) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.GetChannelMemberList(baseCallback, C.GoString(operationID), C.GoString(cChannelID), int32(cFilter), |
|
|
|
|
int32(cOffset), int32(cCount)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// GetSpecifiedChannelMembersInfo retrieves the information of specified channel members
|
|
|
|
|
//
|
|
|
|
|
//export get_specified_channel_members_info
|
|
|
|
|
func get_specified_channel_members_info(cCallback C.CB_S_I_S_S, operationID, cChannelID, cUserIDList *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.GetSpecifiedChannelMembersInfo(baseCallback, C.GoString(operationID), C.GoString(cChannelID), |
|
|
|
|
C.GoString(cUserIDList)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// IsJoinChannel checks if the user has joined a channel
|
|
|
|
|
//
|
|
|
|
|
//export is_join_channel
|
|
|
|
|
func is_join_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.IsJoinChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// GetUsersInChannel retrieves the users in a channel
|
|
|
|
|
//
|
|
|
|
|
//export get_users_in_channel
|
|
|
|
|
func get_users_in_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID, userIDList *C.char) { |
|
|
|
|
baseCallback := NewBaseCallback(cCallback, operationID) |
|
|
|
|
open_im_sdk.GetUsersInChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID), C.GoString(userIDList)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|