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