Files
element-x-ios/ElementX/Sources/Services/ElementCall/CXProviderProtocol.swift
T
Valere Fedronic fb49f5b83b Add experimental native calls behind a developer flag (#6159)
Add the element-call-ios dependency and a developer option for native calls

The package carries the call UI and the matrix-rust-rtc media stack, pinned by
exact version the way the SDK is, with the local path kept commented out for
working against a checkout. Its media xcframework has no Intel simulator slice
and a package cannot say so for the projects that consume it, hence the
excluded architecture at the project level.

The developer option is off by default and nothing reads it yet. It is placed
next to the Element Call URL override, which only applies to the web view that
native calls replace.
2026-09-17 19:42:18 +03:00

21 lines
790 B
Swift

//
// Copyright 2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import CallKit
// sourcery: AutoMockable
protocol CXProviderProtocol {
func setDelegate(_ delegate: CXProviderDelegate?, queue: DispatchQueue?)
func reportNewIncomingCall(with uuid: UUID, update: CXCallUpdate, completion: @escaping @Sendable (Error?) -> Void)
func reportOutgoingCall(with uuid: UUID, startedConnectingAt: Date?)
func reportOutgoingCall(with uuid: UUID, connectedAt: Date?)
func reportCall(with uuid: UUID, updated update: CXCallUpdate)
func reportCall(with uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)
}
extension CXProvider: CXProviderProtocol { }