updateConferenceInfo static method

Future<TUIActionCallback> updateConferenceInfo(
  1. String roomId, {
  2. String? roomName,
  3. int? scheduleStartTime,
  4. int? scheduleEndTime,
  5. bool? disableMessage,
  6. bool? disableCamera,
  7. bool? disableMicrophone,
  8. bool? disableScreenSharing,
  9. String? password,
  10. int? reminderSecondsBeforeStart,
})

Implementation

static Future<TUIActionCallback> updateConferenceInfo(
  String roomId, {
  String? roomName,
  int? scheduleStartTime,
  int? scheduleEndTime,
  bool? disableMessage,
  bool? disableCamera,
  bool? disableMicrophone,
  bool? disableScreenSharing,
  String? password,
  int? reminderSecondsBeforeStart,
}) {
  String userData = Tools.generateRoomUserData();
  Completer<TUIActionCallback> completer = Completer();
  _actionCallback2Future(userData, completer);
  TUIConferenceInfo conferenceInfo = TUIConferenceInfo(basicRoomInfo: TUIRoomInfo(roomId: roomId));
  int modifyFlag = 0;
  if (roomName != null) {
    modifyFlag |= TUIConferenceModifyFlag.roomName.value();
    conferenceInfo.basicRoomInfo.name = roomName;
  }
  if (disableMessage != null) {
    modifyFlag |= TUIConferenceModifyFlag.disableMessage.value();
    conferenceInfo.basicRoomInfo.isMessageDisableForAllUser = disableMessage;
  }
  if (disableCamera != null) {
    modifyFlag |= TUIConferenceModifyFlag.disableCamera.value();
    conferenceInfo.basicRoomInfo.isCameraDisableForAllUser = disableCamera;
  }
  if (disableMicrophone != null) {
    modifyFlag |= TUIConferenceModifyFlag.disableMicrophone.value();
    conferenceInfo.basicRoomInfo.isMicrophoneDisableForAllUser = disableMicrophone;
  }
  if (disableScreenSharing != null) {
    modifyFlag |= TUIConferenceModifyFlag.disableScreenSharing.value();
    conferenceInfo.basicRoomInfo.isScreenShareDisableForAllUser = disableScreenSharing;
  }
  if (password != null) {
    modifyFlag |= TUIConferenceModifyFlag.password.value();
    conferenceInfo.basicRoomInfo.password = password;
  }
  if (reminderSecondsBeforeStart != null) {
    modifyFlag |= TUIConferenceModifyFlag.reminderSecondsBeforeStart.value();
    conferenceInfo.reminderSecondsBeforeStart = reminderSecondsBeforeStart;
  }
  if (scheduleStartTime != null) {
    modifyFlag |= TUIConferenceModifyFlag.scheduleStartTime.value();
    conferenceInfo.scheduleStartTime = scheduleStartTime;
  }
  if (scheduleEndTime != null) {
    modifyFlag |= TUIConferenceModifyFlag.scheduleEndTime.value();
    conferenceInfo.scheduleEndTime = scheduleEndTime;
  }

  _engineSDK.Dart_UpdateConferenceInfo(_conferenceListFFIPointer!,
      Tools.string2PointerChar(json.encode(conferenceInfo.toJson())), modifyFlag, Tools.string2PointerChar(userData));
  return completer.future;
}