import Foundation

public enum CallType: String, Codable {
    case audio
    case video
}

enum CallDirection: Codable {
    case incoming
    case outgoing
}

enum CallStatus: Codable {
    case inactive
    case prepare
    case ringing
    case connecting
    case connected
    case ended
}

struct CallState: Stateable {
    var callStatus: CallStatus
    var callDirection: CallDirection
    var callType: CallType
    var participant: JID?

    var session: VoipSession?
}

// MARK: Init
extension CallState {
    init() {
        callStatus = .inactive
        callDirection = .incoming
        callType = .audio
    }
}
