-
Notifications
You must be signed in to change notification settings - Fork 24
feat(sovd_service_interface): implement GetEntityData service #351
Copy link
Copy link
Open
Description
Problem
GetEntityData ROS 2 service is a stub (returns success=false). Plugin cannot access live topic data because PluginContext does not expose data access methods.
Solution
Extend PluginContext with data access API:
/// Get aggregated topics for an entity (entity -> topic list)
virtual AggregatedData get_entity_data(const std::string & entity_id) const;
/// Sample a single topic (subscribe, wait for msg, return JSON)
virtual TopicSampleResult sample_topic(const std::string & topic_name, double timeout_sec = 1.0) const;Implementation delegates to existing ThreadSafeEntityCache::get_entity_data() and NativeTopicSampler::sample_topic() in GatewayNode.
Then implement handle_get_entity_data() in SOVD Service Interface plugin using the new PluginContext methods.
Scope
- plugin_context.hpp: add virtual methods
- plugin_context.cpp: implement via GatewayNode internals
- sovd_service_interface.cpp: implement handler
- test: add GetEntityData test case
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels