Class PluginLayer

Inheritance Relationships

Base Type

Class Documentation

class PluginLayer : public ros2_medkit_gateway::discovery::DiscoveryLayer

Discovery layer wrapping an IntrospectionProvider plugin.

Default policies: all ENRICHMENT (plugins enrich, they don’t override)

Public Functions

PluginLayer(std::string plugin_name, IntrospectionProvider *provider)
inline virtual std::string name() const override

Human-readable layer name (e.g., “manifest”, “runtime”, plugin name)

virtual LayerOutput discover() override

Discover entities from this layer’s source.

virtual MergePolicy policy_for(FieldGroup group) const override

Merge policy this layer uses for the given field group.

virtual void set_discovery_context(const IntrospectionInput &context) override

Provide the current discovery context (entities from previous layers). Called by MergePipeline before discover(). Default no-op.

void set_policy(FieldGroup group, MergePolicy policy)
inline const std::unordered_map<std::string, nlohmann::json> &get_metadata() const

Get per-entity metadata from last discover() call.