• OctoMY API
  • OctoMY API Reference
  • C++ Classes
  • libconfig
  • Resolver
  • config::Resolver Class

    class config::Resolver

    Walks a schema's chain of levels and reports where each value came from. More...

    Header: #include <Resolver>
    Inherits: config::Reader

    Detailed Description

    Lifted from Construct's `SettingsResolver` (config-ui §CFGS-1). It takes a Schema instead of the Construct registry, it owns a ChangeNotifier, it validates on read and on write, it can rate-limit a level, and it publishes snapshots for other threads (config-ui §CFGM-4, §CFGM-5, §CFGM-7).

    The resolver does not decide where a value lives. The stores do. It shares ownership of them, so a store outlives every resolver that names it.

    A seed is not a parent

    A schema can name a seed level: a template that new work copies. The seed store is registered beside the chain, so a write to the template never changes existing work. resolve() reads it for one kind of row only: a row no chain level can hold, such as a machine-local setting, whose only home is the seed level. resolveAsSeenFrom() the seed level shows the seed, because that is what new work starts with.