inviteInGroup method
Implementation
Future<V2TimValueCallback<String>> inviteInGroup({
required String groupID,
required List<String> inviteeList,
required String data,
int timeout = 30,
bool onlineUserOnly = false,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimValueCallback<String>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String userData = Tools.generateUserData('inviteInGroup');
String inviteID = '';
Completer<V2TimValueCallback<String>> completer = Completer();
void handleApiCallback(Map jsonResult) {
V2TimValueCallback<String> callbackResult = V2TimValueCallback<String>.fromJson(jsonResult);
callbackResult.data = inviteID;
completer.complete(callbackResult);
}
NativeLibraryManager.timApiValueCallback2Future(userData, handleApiCallback);
Pointer<Char> pGroupID = Tools.string2PointerChar(groupID);
Pointer<Char> pInviteeList = Tools.string2PointerChar(json.encode(inviteeList));
Pointer<Char> pData = Tools.string2PointerChar(data);
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
Pointer<Char> pInviteID = NativeLibraryManager.bindings.DartInviteInGroup(pGroupID, pInviteeList, pData, onlineUserOnly, timeout, Pointer<Char>.fromAddress(0), pUserData);
inviteID = Tools.pointerChar2String(pInviteID);
return completer.future;
}