rtcRoom$onRoomStateChangedWithReason$withUid$state$reason method

FutureOr<void> rtcRoom$onRoomStateChangedWithReason$withUid$state$reason(
  1. dynamic rtcRoom,
  2. dynamic roomId,
  3. dynamic uid,
  4. dynamic state,
  5. dynamic reason,
)
override

@hidden @detail callback @author shenpengliang @brief Callback on room state changes. Via this callback you get notified of room relating warnings, errors and events. For example, the user joins the room, the user is removed from the room, and so on. @param rtcRoom ByteRTCAudioRoom instance @param roomId Room ID. @param uid User ID. @param state Room state code.
- 0: Join room success. - 1: Failed to join a room, abnormal exit, room-related warnings or errors. - 2: Leave room. @param reason The reason why room state changes. See ByteRTCRoomStateChangeReason{@link #ByteRTCRoomStateChangeReason}.

Implementation

FutureOr<void> rtcRoom$onRoomStateChangedWithReason$withUid$state$reason(
    dynamic rtcRoom,
    dynamic roomId,
    dynamic uid,
    dynamic state,
    dynamic reason) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler)
      .onRoomStateChangedWithReason
      ?.call(
          roomId.toString(),
          uid.toString(),
          t_RoomState.ios_to_code($p_i.ByteRTCRoomState.values
              .firstWhere((t) => t.$value == state || t.name == state)),
          t_RoomStateChangeReason.ios_to_code($p_i
              .ByteRTCRoomStateChangeReason.values
              .firstWhere((t) => t.$value == reason || t.name == reason)));
}