AzureCommunicationUI/sdk/AzureCommunicationUICalling/Sources/Redux/State/CallingState.swift (67 lines of code) (raw):

// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // import Foundation enum CallingStatus: Int { case none case earlyMedia case connecting case ringing case connected case localHold case disconnecting case disconnected case inLobby case remoteHold } enum OperationStatus: Int { case none case skipSetupRequested case callEndRequested case callEnded } enum RecordingStatus: Equatable { case on case off case stopped } struct CallingState: Equatable { let status: CallingStatus let operationStatus: OperationStatus let callId: String? let isRecordingActive: Bool let isTranscriptionActive: Bool let recordingStatus: RecordingStatus let transcriptionStatus: RecordingStatus let isRecorcingTranscriptionBannedDismissed: Bool let callStartDate: Date? let callEndReasonCode: Int? let callEndReasonSubCode: Int? /* <CALL_START_TIME> let callStartTime: Date? </CALL_START_TIME> */ init(status: CallingStatus = .none, operationStatus: OperationStatus = .none, callId: String? = nil, isRecordingActive: Bool = false, isTranscriptionActive: Bool = false, callStartDate: Date? = nil, callEndReasonCode: Int? = nil, callEndReasonSubCode: Int? = nil, recordingStatus: RecordingStatus = RecordingStatus.off, transcriptionStatus: RecordingStatus = RecordingStatus.off, isRecorcingTranscriptionBannedDismissed: Bool = false, /* <CALL_START_TIME> */ callStartTime: Date? = nil /* </CALL_START_TIME> */) { self.status = status self.operationStatus = operationStatus self.callId = callId self.isRecordingActive = isRecordingActive self.isTranscriptionActive = isTranscriptionActive self.callStartDate = callStartDate self.callEndReasonCode = callEndReasonCode self.callEndReasonSubCode = callEndReasonSubCode self.recordingStatus = recordingStatus self.transcriptionStatus = transcriptionStatus self.isRecorcingTranscriptionBannedDismissed = isRecorcingTranscriptionBannedDismissed /* <CALL_START_TIME> self.callStartTime = callStartTime </CALL_START_TIME> */ } static func == (lhs: CallingState, rhs: CallingState) -> Bool { return (lhs.status == rhs.status && lhs.isRecordingActive == rhs.isRecordingActive && lhs.isTranscriptionActive == rhs.isTranscriptionActive) } }