mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 08:15:24 +00:00
60 lines
1.8 KiB
Swift
60 lines
1.8 KiB
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2024-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 Foundation
|
|
import Macros
|
|
import Synchronization
|
|
|
|
final nonisolated class AppHooks: AppHooksProtocol {
|
|
#if IS_MAIN_APP
|
|
@AppHook(default: DefaultAppSettingsHook())
|
|
var appSettingsHook: AppSettingsHookProtocol
|
|
|
|
@AppHook(default: DefaultCompoundHook())
|
|
var compoundHook: CompoundHookProtocol
|
|
|
|
@AppHook(default: DefaultBugReportHook())
|
|
var bugReportHook: BugReportHookProtocol
|
|
|
|
@AppHook(default: DefaultOAuthPresenterHook())
|
|
var oAuthPresenterHook: OAuthPresenterHookProtocol
|
|
|
|
// HealthChat app-level hooks. The session-scoped ones live in `UserHooks`.
|
|
@AppHook(default: DefaultHomeTabsHook())
|
|
var homeTabsHook: HomeTabsHookProtocol
|
|
|
|
@AppHook(default: DefaultUserDetailsEditScreenHook())
|
|
var userDetailsEditScreenHook: UserDetailsEditScreenHookProtocol
|
|
|
|
@AppHook(default: DefaultDeveloperOptionsScreenHook())
|
|
var developerOptionsScreenHook: DeveloperOptionsScreenHookProtocol
|
|
#endif
|
|
|
|
@AppHook(default: DefaultTracingHook())
|
|
var tracingHook: TracingHookProtocol
|
|
|
|
@AppHook(default: DefaultClientFactoryHook())
|
|
var clientFactoryHook: ClientFactoryHookProtocol
|
|
|
|
@AppHook(default: DefaultRemoteSettingsHook())
|
|
var remoteSettingsHook: RemoteSettingsHookProtocol
|
|
|
|
@AppHook(default: DefaultUserSessionHook())
|
|
var userSessionHook: UserSessionHookProtocol
|
|
}
|
|
|
|
nonisolated protocol AppHooksProtocol: Sendable {
|
|
// periphery:ignore - required for the architecture
|
|
func setUp()
|
|
}
|
|
|
|
nonisolated extension AppHooksProtocol {
|
|
// periphery:ignore - required for the architecture
|
|
func setUp() { }
|
|
}
|