rtcRoom$onRoomEvent$uid$state$info method

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

@hidden @detail callback @valid since 3.60. @region Multi-room @author shenpengliang @brief Callback on room event. @param rtcRoom ByteRTCRoom object. @param roomId Room ID. @param uid User ID. @param state Room event code. See ByteRTCRoomEvent{@link #ByteRTCRoomEvent}. @param info When room is forbidden, it contains forbidden time. See ByteRTCRoomEventInfo{@link #ByteRTCRoomEventInfo}.

Implementation

FutureOr<void> rtcRoom$onRoomEvent$uid$state$info(dynamic rtcRoom,
    dynamic roomId, dynamic uid, dynamic state, dynamic info) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler).onRoomEvent?.call(
      roomId.toString(),
      uid.toString(),
      t_RoomEvent.ios_to_code($p_i.ByteRTCRoomEvent.values
          .firstWhere((t) => t.$value == state || t.name == state)),
      packObject(
          info,
          () => RoomEventInfo.fromMap(RoomEventInfo.deepPackedMapValues(
              RoomEventInfo.mapMemberToConstructorParams(info)))));
}