package com.red.circle.other.app.service.room;

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.common.business.dto.cmd.app.AppRoomIdCmd;
import com.red.circle.other.app.dto.clientobject.family.RoomSettingCO;
import com.red.circle.other.app.dto.clientobject.room.RoomSudCo;
import com.red.circle.other.app.dto.cmd.room.KickOffMicrophoneCmd;
import com.red.circle.other.app.dto.cmd.room.LockedRoomCmd;
import com.red.circle.other.app.dto.cmd.room.UpdateRoomSettingCmd;
import com.red.circle.other.app.dto.cmd.room.UpdateRoomSudCmd;

/**
 * 房间设置信息.
 *
 * @author houyong on 2020/12/3
 */
public interface RoomSettingService {

  RoomSettingCO roomSettingInfo(AppRoomIdCmd cmd);

  void updateSetting(UpdateRoomSettingCmd cmd);

  boolean checkLockAndUnlock(AppRoomIdCmd cmd);

  boolean kickOffMicrophone(KickOffMicrophoneCmd cmd);

  RoomSettingCO meRoomSettingInfo(AppExtCommand cmd);

  void unlockedRoom(AppRoomIdCmd cmd);

  void lockedRoom(LockedRoomCmd cmd);

  RoomSudCo getRoomSud(AppRoomIdCmd cmd);

  void updateRoomSud(UpdateRoomSudCmd cmd);
}
