|
|
|
|
@@ -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() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|