refuseGroupApplication method
Future<V2TimCallback>
refuseGroupApplication({
- required String groupID,
- String? reason,
- required String fromUser,
- required String toUser,
- required int addTime,
- required GroupApplicationTypeEnum type,
- V2TimGroupApplication? application,
Implementation
Future<V2TimCallback> refuseGroupApplication({
required String groupID,
String? reason,
required String fromUser,
required String toUser,
required int addTime,
required GroupApplicationTypeEnum type,
V2TimGroupApplication? application,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimCallback(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String userData = Tools.generateUserData('refuseGroupApplication');
V2TimGroupApplication adjustApplication = V2TimGroupApplication(groupID: groupID, fromUser: fromUser, toUser: toUser, addTime: addTime, type: type.index, handleStatus: 0, handleResult: 0);
if (application != null && application.authentication.isNotEmpty) {
adjustApplication = application;
adjustApplication.groupID = groupID;
adjustApplication.fromUser = fromUser;
adjustApplication.toUser = toUser;
adjustApplication.addTime = addTime;
adjustApplication.type = type.index;
Completer<V2TimCallback> completer = Completer();
NativeLibraryManager.timCallback2Future(userData, completer);
V2TimGroupHandleApplicationParam param = V2TimGroupHandleApplicationParam(isAccept: false, reason: reason ?? '', application: adjustApplication);
Pointer<Char> pParam = Tools.string2PointerChar(json.encode(param.toJson()));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartHandleGroupPendency(pParam, pUserData);
return completer.future;
}
// 兼容旧版本的处理
return handleGroupApplication(groupID: groupID, fromUser: fromUser, toUser: toUser, addTime: addTime, type: type, isAccept: false, userData: userData);
}