Files
featherVoice/TUIKit/TUIRoomKit/Source/State/RoomState.swift
2025-08-08 10:49:36 +08:00

53 lines
1.5 KiB
Swift

//
// RoomState.swift
// TUIRoomKit
//
// Created by janejntang on 2024/7/9.
//
import Foundation
import RTCRoomEngine
struct RoomInfo {
var roomId = ""
var name = ""
var ownerId = ""
var ownerName = ""
var ownerAvatarUrl = ""
var isSeatEnabled = false
var password = ""
var isMicrophoneDisableForAllUser = true
var isCameraDisableForAllUser = true
var createTime: UInt = 0
var isPasswordEnabled: Bool = false
var isEnteredRoom = false
init() {}
init(with roomInfo: TUIRoomInfo) {
self.roomId = roomInfo.roomId
self.name = roomInfo.name
self.ownerId = roomInfo.ownerId
self.ownerName = roomInfo.ownerName
self.ownerAvatarUrl = roomInfo.ownerAvatarUrl
self.isSeatEnabled = roomInfo.isSeatEnabled
self.password = roomInfo.password
self.isMicrophoneDisableForAllUser = roomInfo.isMicrophoneDisableForAllUser
self.isCameraDisableForAllUser = roomInfo.isCameraDisableForAllUser
self.createTime = roomInfo.createTime
self.isPasswordEnabled = roomInfo.password.count > 0
}
}
extension TUIRoomInfo {
convenience init(roomInfo: RoomInfo) {
self.init()
self.roomId = roomInfo.roomId
self.name = roomInfo.name
self.isSeatEnabled = roomInfo.isSeatEnabled
self.password = roomInfo.password
self.isMicrophoneDisableForAllUser = roomInfo.isMicrophoneDisableForAllUser
self.isCameraDisableForAllUser = roomInfo.isCameraDisableForAllUser
self.seatMode = .applyToTake
}
}