class IntlPropertyProviderImpl
Defined at line 39 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.h
Implementation of `fuchsia.intl.PropertyProvider`.
Serves an up-to-date `fuchsia.intl.Profile`, based on watched user settings.
Example use, with types and required includes elided for brevity is below.
```
async::Loop loop(
&kAsyncLoopConfigAttachToCurrentThread
);
auto context = sys::ComponentContext::CreateAndServeOutgoingDirectory();
// Connects to required backend services through context->svc().
auto intl = IntlPropertyProviderImpl::Create(context->svc(), /*health=*/nullptr);
// Starts serving `fuchsia.intl.PropertyProvider`.
context->outgoing()->AddPublicService(intl->GetHandler());
// Waits for events in the async loop.
loop.Run();
```
Public Methods
void IntlPropertyProviderImpl (fuchsia::settings::IntlPtr settings_client_, inspect::NodeHealth health)
settings_client_ is an optional connection to the intl settings client, which may not always
be available. `health` is an inspect node used to report the intl provider health - it will
be dropped to `unhealthy` if the provider starts serving lots of errors.
Defined at line 223 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.cc
std::unique_ptr<IntlPropertyProviderImpl> Create (const std::shared_ptr<sys::ServiceDirectory> & incoming_services, inspect::NodeHealth health)
Create an instance of `IntlPropertyProviderImpl`, after using the given `ServiceDirectory` to
connect to all of the provider's service dependencies.
Defined at line 233 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.cc
fidl::InterfaceRequestHandler<fuchsia::intl::PropertyProvider> GetHandler (async_dispatcher_t * dispatcher)
Returns the client-side handler for `fuchsia.intl.PropertyProvider`, based on either the
dispatcher that is passed in (e.g. for testing), or the default thread-local dispatcher.
Defined at line 239 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.cc
void Start ()
Start serving the intl profile and listening for user preference changes.
Defined at line 259 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.cc
void GetProfile (fuchsia::intl::PropertyProvider::GetProfileCallback callback)
Put the callback in a queue (in case the data is not yet available).
`fuchsia.intl.PropertyProvider`
Defined at line 271 of file ../../src/lib/intl/intl_property_provider_impl/intl_property_provider_impl.cc