You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SessionMessagingKit/Calls/CurrentCallProtocol.swift

38 lines
805 B
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import GRDB
import WebRTC
import SessionUtilitiesKit
// MARK: - CurrentCallProtocol
public protocol CurrentCallProtocol {
var uuid: String { get }
var callId: UUID { get }
var sessionId: String { get }
var hasStartedConnecting: Bool { get set }
var hasEnded: Bool { get set }
var mode: CallMode { get }
func updateCallMessage(mode: EndCallMode, using dependencies: Dependencies)
func didReceiveRemoteSDP(sdp: RTCSessionDescription)
func startSessionCall(_ db: Database)
}
// MARK: - CallMode
public enum CallMode {
case offer
case answer
}
// MARK: - EndCallMode
public enum EndCallMode {
case local
case remote
case unanswered
case answeredElsewhere
}