Classes
The following classes are available globally.
-
Declaration
Swift
open class Store : StoreProtocol, @unchecked Sendable
-
Top-level API for the context_id component
See moreDeclaration
Swift
open class ContextIdComponent : ContextIdComponentProtocol, @unchecked Sendable
-
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, @unchecked Sendable
-
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, @unchecked Sendable
-
Declaration
Swift
open class EncryptorDecryptorImpl : EncryptorDecryptor, @unchecked Sendable
-
Declaration
Swift
open class KeyManagerImpl : KeyManager, @unchecked Sendable
-
Declaration
Swift
open class LoginStore : LoginStoreProtocol, @unchecked Sendable
-
Declaration
Swift
open class ManagedEncryptorDecryptor : ManagedEncryptorDecryptorProtocol, @unchecked Sendable
-
Declaration
Swift
open class StaticKeyManager : StaticKeyManagerProtocol, @unchecked Sendable
-
Declaration
Swift
open class CuratedRecommendationsClient : CuratedRecommendationsClientProtocol, @unchecked Sendable
-
Declaration
Swift
open class NimbusClient : NimbusClientProtocol, @unchecked Sendable
-
Declaration
Swift
open class NimbusStringHelper : NimbusStringHelperProtocol, @unchecked Sendable
-
Declaration
Swift
open class NimbusTargetingHelper : NimbusTargetingHelperProtocol, @unchecked Sendable
-
Declaration
Swift
open class RecordedContextImpl : RecordedContext, @unchecked Sendable
-
Declaration
Swift
open class PlacesApi : PlacesApiProtocol, @unchecked Sendable
-
Declaration
Swift
open class PlacesConnection : PlacesConnectionProtocol, @unchecked Sendable
-
Declaration
Swift
open class SqlInterruptHandle : SqlInterruptHandleProtocol, @unchecked Sendable
-
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, @unchecked Sendable
-
Declaration
Swift
open class RelayClient : RelayClientProtocol, @unchecked Sendable
-
Declaration
Swift
open class RemoteSettings : RemoteSettingsProtocol, @unchecked Sendable
-
Client for a single Remote Settings collection
Use [RemoteSettingsService::make_client] to create these.
See moreDeclaration
Swift
open class RemoteSettingsClient : RemoteSettingsClientProtocol, @unchecked Sendable
-
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, @unchecked Sendable
-
SearchEngineSelector parses the JSON configuration for search engines and returns the applicable engines depending on their region + locale.
See moreDeclaration
Swift
open class SearchEngineSelector : SearchEngineSelectorProtocol, @unchecked Sendable
-
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, @unchecked Sendable
- 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, @unchecked Sendable
-
Declaration
Swift
open class SyncManager : SyncManagerProtocol, @unchecked Sendable
-
Declaration
Swift
open class RemoteCommandStore : RemoteCommandStoreProtocol, @unchecked Sendable
-
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, @unchecked Sendable
-
Declaration
Swift
open class TabsStore : TabsStoreProtocol, @unchecked Sendable