inviteInGroup method

Future<V2TimValueCallback<String>> inviteInGroup({
  1. required String groupID,
  2. required List<String> inviteeList,
  3. required String data,
  4. int timeout = 30,
  5. bool onlineUserOnly = false,
})

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');
  Completer<V2TimValueCallback<String>> completer = Completer();
  NativeLibraryManager.timValueCallback2Future<String>(userData, completer);

  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);
  NativeLibraryManager.bindings.DartInviteInGroup(pGroupID, pInviteeList, pData, onlineUserOnly, timeout, Pointer<Char>.fromAddress(0), pUserData);

  return completer.future;
}