mirror of https://github.com/oxen-io/session-ios
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.
38 lines
805 B
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
|
|
}
|