Classes
The following classes are available globally.
-
Each OHTTP request-reply exchange needs to create an OhttpSession object to manage encryption state.
See moreDeclaration
Swift
open class OhttpSession: OhttpSessionProtocol
-
A testing interface for decrypting and responding to OHTTP messages. This should only be used for testing.
See moreDeclaration
Swift
open class OhttpTestServer: OhttpTestServerProtocol
-
Declaration
Swift
open class Store: StoreProtocol
-
Object representing the signed-in state of an application.
The
See moreFirefoxAccount
object is the main interface provided by this crate. It represents the signed-in state of an application that may be connected to user’s Firefox Account, and provides methods for inspecting the state of the account and accessing other services on behalf of the user.Declaration
Swift
open class FirefoxAccount: FirefoxAccountProtocol
-
Machinery for dry-run testing of FxaAuthStateMachine
Remove this once we’ve migrated the firefox-android and firefox-ios code to using FxaAuthStateMachine https:///bugzilla.mozilla.org/show_bug.cgi?id=1867793
See moreDeclaration
Swift
open class FxaStateMachineChecker: FxaStateMachineCheckerProtocol
-
Declaration
Swift
open class LoginStore: LoginStoreProtocol
-
Declaration
Swift
open class NimbusClient: NimbusClientProtocol
-
Declaration
Swift
open class NimbusStringHelper: NimbusStringHelperProtocol
-
Declaration
Swift
open class NimbusTargetingHelper: NimbusTargetingHelperProtocol
-
Declaration
Swift
open class RecordedContextImpl: RecordedContext
-
Declaration
Swift
open class PlacesApi: PlacesApiProtocol
-
Declaration
Swift
open class PlacesConnection: PlacesConnectionProtocol
-
Declaration
Swift
open class SqlInterruptHandle: SqlInterruptHandleProtocol
-
Object representing the PushManager used to manage subscriptions
The
See morePushManager
object is the main interface provided by this crate it allow consumers to manage push subscriptions. It exposes methods that interact with theautopush server
and persists state representing subscriptions.Declaration
Swift
open class PushManager: PushManagerProtocol
-
Declaration
Swift
open class RemoteSettings: RemoteSettingsProtocol
-
Client for a single Remote Settings collection
Use [RemoteSettingsService::make_client] to create these.
See moreDeclaration
Swift
open class RemoteSettingsClient: RemoteSettingsClientProtocol
-
Application-level Remote Settings manager.
This handles application-level operations, like syncing all the collections, and acts as a factory for creating clients.
See moreDeclaration
Swift
open class RemoteSettingsService: RemoteSettingsServiceProtocol
-
The store is the entry point to the Suggest component. It incrementally downloads suggestions from the Remote Settings service, stores them in a local database, and returns them in response to user queries.
Your application should create a single store, and manage it as a singleton. The store is thread-safe, and supports concurrent queries and ingests. We expect that your application will call [
SuggestStore::query()
] to show suggestions as the user types into the address bar, and periodically call [SuggestStore::ingest()
] in the background to update the database with new suggestions from Remote Settings.For responsiveness, we recommend always calling
query()
on a worker thread. When the user types new input into the address bar, call [SuggestStore::interrupt()
] on the main thread to cancel the query for the old input, and unblock the worker thread for the new query.The store keeps track of the state needed to support incremental ingestion, but doesn’t schedule the ingestion work itself, or decide how many suggestions to ingest at once. This is for two reasons:
- The primitives for scheduling background work vary between platforms, and
aren’t available to the lower-level Rust layer. You might use an idle
timer on Desktop,
WorkManager
on Android, orBGTaskScheduler
on iOS. - Ingestion constraints can change, depending on the platform and the needs of your application. A mobile device on a metered connection might want to request a small subset of the Suggest data and download the rest later, while a desktop on a fast link might download the entire dataset on the first launch.
Declaration
Swift
open class SuggestStore: SuggestStoreProtocol
- The primitives for scheduling background work vary between platforms, and
aren’t available to the lower-level Rust layer. You might use an idle
timer on Desktop,
-
Builder for [SuggestStore]
Using a builder is preferred to calling the constructor directly since it’s harder to confuse the data_path and cache_path strings.
See moreDeclaration
Swift
open class SuggestStoreBuilder: SuggestStoreBuilderProtocol
-
Declaration
Swift
open class SyncManager: SyncManagerProtocol
-
Declaration
Swift
open class RemoteCommandStore: RemoteCommandStoreProtocol
-
Note the canonical docs for this are in https://searchfox.org/mozilla-central/source/services/interfaces/mozIBridgedSyncEngine.idl It’s only actually used in desktop, but it’s fine to expose this everywhere. NOTE: all timestamps here are milliseconds.
See moreDeclaration
Swift
open class TabsBridgedEngine: TabsBridgedEngineProtocol
-
Declaration
Swift
open class TabsStore: TabsStoreProtocol