searchGroupMembers method
Future<V2TimValueCallback<V2GroupMemberInfoSearchResult> >
searchGroupMembers({
- required V2TimGroupMemberSearchParam param,
Implementation
Future<V2TimValueCallback<V2GroupMemberInfoSearchResult>> searchGroupMembers({
required V2TimGroupMemberSearchParam param,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimValueCallback<V2GroupMemberInfoSearchResult>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String userData = Tools.generateUserData('searchGroupMembers');
Completer<V2TimValueCallback<V2GroupMemberInfoSearchResult>> completer = Completer();
void handleApiCallback(Map jsonResult) {
V2TimValueCallback<List<dynamic>> result = V2TimValueCallback<List<dynamic>>.fromJson(jsonResult);
List<Map<String, dynamic>>? data = result.data?.whereType<Map<String, dynamic>>().toList();
Map<String, dynamic> mapResult = Tools.jsonList2Map(data ?? [], 'group_search_member_result_groupid', 'group_search_member_result_member_info_list');
V2GroupMemberInfoSearchResult searchResult = V2GroupMemberInfoSearchResult.fromJson(mapResult);
completer.complete(V2TimValueCallback<V2GroupMemberInfoSearchResult>(code: result.code, desc: result.desc, data: searchResult));
}
NativeLibraryManager.timApiValueCallback2Future(userData, handleApiCallback);
Pointer<Char> pParam = Tools.string2PointerChar(json.encode(param.toJson()));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartSearchGroupMembers(pParam, pUserData);
return completer.future;
}