invite method
Future<V2TimValueCallback<String> >
invite({
- required String invitee,
- required String data,
- int timeout = 30,
- bool onlineUserOnly = false,
- OfflinePushInfo? offlinePushInfo,
Implementation
Future<V2TimValueCallback<String>> invite({
required String invitee,
required String data,
int timeout = 30,
bool onlineUserOnly = false,
OfflinePushInfo? offlinePushInfo,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimValueCallback<String>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String userData = Tools.generateUserData('invite');
Completer<V2TimValueCallback<String>> completer = Completer();
NativeLibraryManager.timValueCallback2Future<String>(userData, completer);
Pointer<Char> pInvitee = Tools.string2PointerChar(invitee);
Pointer<Char> pData = Tools.string2PointerChar(data);
Pointer<Char> pOfflinePushInfo = Tools.string2PointerChar(json.encode(offlinePushInfo?.toJson() ?? {}));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartInvite(pInvitee, pData, onlineUserOnly, pOfflinePushInfo, timeout, Pointer<Char>.fromAddress(0), pUserData);
return completer.future;
}