feat: add c func of user friend and group.

Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com>
dev_1
Gordon 2 years ago
parent 1434d5da35
commit f7f1d48d76
  1. 381
      c_wrapper/export.go
  2. 5
      c_wrapper/tools.go

@ -259,6 +259,387 @@ func send_message(cCallback C.CB_I_S_S_I, operationID, message, recvID, groupID,
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===============================================
//
//export get_users_info
func get_users_info(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetUsersInfo(baseCallback, C.GoString(operationID), C.GoString(userIDs))
}
//export get_users_info_from_srv
func get_users_info_from_srv(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetUsersInfoFromSrv(baseCallback, C.GoString(operationID), C.GoString(userIDs))
}
//export set_self_info
func set_self_info(cCallback C.CB_I_S_S, operationID *C.char, userInfo *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetSelfInfo(baseCallback, C.GoString(operationID), C.GoString(userInfo))
}
//export get_self_user_info
func get_self_user_info(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetSelfUserInfo(baseCallback, C.GoString(operationID))
}
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.UpdateMsgSenderInfo(baseCallback, C.GoString(operationID), C.GoString(nickname), C.GoString(faceURL))
}
//export subscribe_users_status
func subscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
}
//export unsubscribe_users_status
func unsubscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.UnsubscribeUsersStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
}
//export get_subscribe_users_status
func get_subscribe_users_status(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetSubscribeUsersStatus(baseCallback, C.GoString(operationID))
}
//export get_user_status
func get_user_status(cCallback C.CB_I_S_S, operationID *C.char, userIDs *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetUserStatus(baseCallback, C.GoString(operationID), C.GoString(userIDs))
}
// =====================================================friend===============================================
//
//export get_specified_friends_info
func get_specified_friends_info(cCallback C.CB_I_S_S, operationID *C.char, userIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetSpecifiedFriendsInfo(baseCallback, C.GoString(operationID), C.GoString(userIDList))
}
//export get_friend_list
func get_friend_list(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetFriendList(baseCallback, C.GoString(operationID))
}
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetFriendListPage(baseCallback, C.GoString(operationID), int32(offset), int32(count))
}
//export search_friends
func search_friends(cCallback C.CB_I_S_S, operationID *C.char, searchParam *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SearchFriends(baseCallback, C.GoString(operationID), C.GoString(searchParam))
}
//export check_friend
func check_friend(cCallback C.CB_I_S_S, operationID *C.char, userIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.CheckFriend(baseCallback, C.GoString(operationID), C.GoString(userIDList))
}
//export add_friend
func add_friend(cCallback C.CB_I_S_S, operationID *C.char, userIDReqMsg *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.AddFriend(baseCallback, C.GoString(operationID), C.GoString(userIDReqMsg))
}
//export set_friend_remark
func set_friend_remark(cCallback C.CB_I_S_S, operationID *C.char, userIDRemark *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetFriendRemark(baseCallback, C.GoString(operationID), C.GoString(userIDRemark))
}
//export delete_friend
func delete_friend(cCallback C.CB_I_S_S, operationID *C.char, friendUserID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.DeleteFriend(baseCallback, C.GoString(operationID), C.GoString(friendUserID))
}
//export get_friend_application_list_as_recipient
func get_friend_application_list_as_recipient(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetFriendApplicationListAsRecipient(baseCallback, C.GoString(operationID))
}
//export get_friend_application_list_as_applicant
func get_friend_application_list_as_applicant(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetFriendApplicationListAsApplicant(baseCallback, C.GoString(operationID))
}
//export accept_friend_application
func accept_friend_application(cCallback C.CB_I_S_S, operationID *C.char, userIDHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.AcceptFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg))
}
//export refuse_friend_application
func refuse_friend_application(cCallback C.CB_I_S_S, operationID *C.char, userIDHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.RefuseFriendApplication(baseCallback, C.GoString(operationID), C.GoString(userIDHandleMsg))
}
//export add_black
func add_black(cCallback C.CB_I_S_S, operationID *C.char, blackUserID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.AddBlack(baseCallback, C.GoString(operationID), C.GoString(blackUserID))
}
//export get_black_list
func get_black_list(cCallback C.CB_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetBlackList(baseCallback, C.GoString(operationID))
}
//export remove_black
func remove_black(cCallback C.CB_I_S_S, operationID *C.char, removeUserID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.RemoveBlack(baseCallback, C.GoString(operationID), C.GoString(removeUserID))
}
// =====================================================group===============================================
// CreateGroup creates a group
//
//export create_group
func create_group(cCallback C.CB_I_S_S, cOperationID, cGroupReqInfo *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.CreateGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupReqInfo))
}
// JoinGroup joins a group
//
//export join_group
func join_group(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReqMsg *C.char, cJoinSource C.int) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.JoinGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReqMsg), int32(cJoinSource))
}
// QuitGroup quits a group
//
//export quit_group
func quit_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.QuitGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID))
}
// DismissGroup dismisses a group
//
//export dismiss_group
func dismiss_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.DismissGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID))
}
// ChangeGroupMute changes the mute status of a group
//
//export change_group_mute
func change_group_mute(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cIsMute C.int) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.ChangeGroupMute(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), parseBool(int(cIsMute)))
}
// ChangeGroupMemberMute changes the mute status of a group member
//
//export change_group_member_mute
func change_group_member_mute(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserID *C.char, cMutedSeconds C.int) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.ChangeGroupMemberMute(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), int(cMutedSeconds))
}
// SetGroupMemberRoleLevel sets the role level of a group member
//
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupMemberRoleLevel(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), int(cRoleLevel))
}
// SetGroupMemberInfo sets the information of a group member
//
//export set_group_member_info
func set_group_member_info(cCallback C.CB_I_S_S, cOperationID *C.char, cGroupMemberInfo *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupMemberInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupMemberInfo))
}
// GetJoinedGroupList retrieves the list of joined groups
//
//export get_joined_group_list
func get_joined_group_list(cCallback C.CB_I_S_S, cOperationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetJoinedGroupList(baseCallback, C.GoString(cOperationID))
}
// GetSpecifiedGroupsInfo retrieves the information of specified groups
//
//export get_specified_groups_info
func get_specified_groups_info(cCallback C.CB_I_S_S, cOperationID, cGroupIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetSpecifiedGroupsInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupIDList))
}
// SearchGroups searches for groups
//
//export search_groups
func search_groups(cCallback C.CB_I_S_S, cOperationID, cSearchParam *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SearchGroups(baseCallback, C.GoString(cOperationID), C.GoString(cSearchParam))
}
// SetGroupInfo sets the information of a group
//
//export set_group_info
func set_group_info(cCallback C.CB_I_S_S, cOperationID, cGroupInfo *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupInfo))
}
// SetGroupVerification sets the verification mode of a group
//
//export set_group_verification
func set_group_verification(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char, cVerification C.int) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupVerification(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cVerification))
}
// SetGroupLookMemberInfo sets the member information visibility of a group
//
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupLookMemberInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cRule))
}
// SetGroupApplyMemberFriend sets the friend rule for group applicants
//
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupApplyMemberFriend(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cRule))
}
// GetGroupMemberList retrieves the list of group members
//
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetGroupMemberList(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cFilter), int32(cOffset), int32(cCount))
}
// GetGroupMemberOwnerAndAdmin retrieves the owner and admin members of a group
//
//export get_group_member_owner_and_admin
func get_group_member_owner_and_admin(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetGroupMemberOwnerAndAdmin(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID))
}
// GetGroupMemberListByJoinTimeFilter retrieves the list of group members filtered by join time
//
//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) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetGroupMemberListByJoinTimeFilter(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), int32(cOffset), int32(cCount), int64(cJoinTimeBegin), int64(cJoinTimeEnd), C.GoString(cFilterUserIDList))
}
// GetSpecifiedGroupMembersInfo retrieves the information of specified group members
//
//export get_specified_group_members_info
func get_specified_group_members_info(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetSpecifiedGroupMembersInfo(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserIDList))
}
// KickGroupMember kicks group members
//
//export kick_group_member
func kick_group_member(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReason, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.KickGroupMember(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList))
}
// TransferGroupOwner transfers the ownership of a group
//
//export transfer_group_owner
func transfer_group_owner(cCallback C.CB_I_S_S, cOperationID, cGroupID, cNewOwnerUserID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.TransferGroupOwner(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cNewOwnerUserID))
}
// InviteUserToGroup invites users to a group
//
//export invite_user_to_group
func invite_user_to_group(cCallback C.CB_I_S_S, cOperationID, cGroupID, cReason, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.InviteUserToGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cReason), C.GoString(cUserIDList))
}
// GetGroupApplicationListAsRecipient retrieves the group application list as a recipient
//
//export get_group_application_list_as_recipient
func get_group_application_list_as_recipient(cCallback C.CB_I_S_S, cOperationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetGroupApplicationListAsRecipient(baseCallback, C.GoString(cOperationID))
}
// GetGroupApplicationListAsApplicant retrieves the group application list as an applicant
//
//export get_group_application_list_as_applicant
func get_group_application_list_as_applicant(cCallback C.CB_I_S_S, cOperationID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.GetGroupApplicationListAsApplicant(baseCallback, C.GoString(cOperationID))
}
// AcceptGroupApplication accepts a group application
//
//export accept_group_application
func accept_group_application(cCallback C.CB_I_S_S, cOperationID, cGroupID, cFromUserID, cHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.AcceptGroupApplication(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg))
}
// RefuseGroupApplication refuses a group application
//
//export refuse_group_application
func refuse_group_application(cCallback C.CB_I_S_S, cOperationID, cGroupID, cFromUserID, cHandleMsg *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.RefuseGroupApplication(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cFromUserID), C.GoString(cHandleMsg))
}
// SetGroupMemberNickname sets the nickname of a group member
//
//export set_group_member_nickname
func set_group_member_nickname(cCallback C.CB_I_S_S, cOperationID, cGroupID, cUserID, cGroupMemberNickname *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SetGroupMemberNickname(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID), C.GoString(cUserID), C.GoString(cGroupMemberNickname))
}
// SearchGroupMembers searches for group members
//
//export search_group_members
func search_group_members(cCallback C.CB_I_S_S, cOperationID, cSearchParam *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.SearchGroupMembers(baseCallback, C.GoString(cOperationID), C.GoString(cSearchParam))
}
// IsJoinGroup checks if the user has joined a group
//
//export is_join_group
func is_join_group(cCallback C.CB_I_S_S, cOperationID, cGroupID *C.char) {
baseCallback := NewBaseCallback(cCallback)
open_im_sdk.IsJoinGroup(baseCallback, C.GoString(cOperationID), C.GoString(cGroupID))
}
func main() { func main() {
} }

@ -11,7 +11,10 @@ import (
"unsafe" "unsafe"
) )
func parseBool() bool { func parseBool(b int) bool {
if b == 1 {
return true
}
return false return false
} }

Loading…
Cancel
Save