Class LogManagerProvider

Class Documentation

class Microsoft::Applications::Events::LogManagerProvider

Public interface to LogManagerFactory.

This class manages the LogManager instances acquisition and disposal.

TODO: consider moving this class to header-only implementation. That way early compat checks can be run prior to returning an instance.

Public Static Functions

static inline ILogManager *CreateLogManager(char const *id, bool wantController, ILogConfiguration &cfg, status_t &status, uint64_t targetVersion = ::Microsoft::Applications::Events::Version)

Creates the LogManager.

The passed in configuration is used to initialize the telemetry system, if it hasn’t been initialized.

If system is already initialized, customer (guest) configuration is reconciled with host confugration.

Parameters
  • cfg – Configuration settings.

  • id – Instance Id.

  • status – Status.

  • wantController – WantController.

static inline ILogManager *CreateLogManager(char const *id, status_t &status, uint64_t targetVersion = ::Microsoft::Applications::Events::Version)

Creates the LogManager with the current configuration.

Parameters
  • id – Instance Id.

  • status – Status.

static inline ILogManager *CreateLogManager(ILogConfiguration &cfg, status_t &status)
static inline status_t DestroyLogManager(char const *id)

Releases a guest or host LogManager by its instance id.

Parameters

id – Instance Id.

static status_t Release(const char *id)

Releases a guest or host LogManager by its instance id.

Parameters

id – Instance Id

static status_t Release(ILogConfiguration &cfg)