Class PluginLayer
Defined in File plugin_layer.hpp
Inheritance Relationships
Base Type
public ros2_medkit_gateway::discovery::DiscoveryLayer(Class DiscoveryLayer)
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.
-
PluginLayer(std::string plugin_name, IntrospectionProvider *provider)