Class DiscoveryHandlers
Defined in File discovery_handlers.hpp
Class Documentation
-
class DiscoveryHandlers
Unified handlers for entity discovery REST API endpoints.
Consolidated handlers for discovering and navigating SOVD entities:
Areas: ROS 2 namespace groupings
Components: Hardware or logical groupings
Apps: Software applications (ROS nodes)
Functions: Capability abstractions
@verifies REQ_DISCOVERY_001 Areas discovery @verifies REQ_DISCOVERY_002 Apps discovery @verifies REQ_DISCOVERY_003 Components discovery @verifies REQ_DISCOVERY_004 Functions discovery
Public Functions
-
inline explicit DiscoveryHandlers(HandlerContext &ctx)
Construct discovery handlers with shared context.
- Parameters:
ctx – The shared handler context
-
void handle_list_areas(const httplib::Request &req, httplib::Response &res)
Handle GET /areas - list all areas.
-
void handle_get_area(const httplib::Request &req, httplib::Response &res)
Handle GET /areas/{area-id} - get area capabilities.
-
void handle_area_components(const httplib::Request &req, httplib::Response &res)
Handle GET /areas/{area-id}/components - list components in area.
-
void handle_get_subareas(const httplib::Request &req, httplib::Response &res)
Handle GET /areas/{area-id}/subareas - list subareas.
-
void handle_get_contains(const httplib::Request &req, httplib::Response &res)
Handle GET /areas/{area-id}/contains - SOVD 7.6.2.4 relationship. @verifies REQ_INTEROP_006.
-
void handle_list_components(const httplib::Request &req, httplib::Response &res)
Handle GET /components - list all components.
-
void handle_get_component(const httplib::Request &req, httplib::Response &res)
Handle GET /components/{component-id} - get component capabilities.
-
void handle_get_subcomponents(const httplib::Request &req, httplib::Response &res)
Handle GET /components/{id}/subcomponents - list subcomponents.
-
void handle_get_hosts(const httplib::Request &req, httplib::Response &res)
Handle GET /components/{id}/hosts - list hosted apps. @verifies REQ_INTEROP_007.
-
void handle_component_depends_on(const httplib::Request &req, httplib::Response &res)
Handle GET /components/{id}/depends-on - list dependencies. @verifies REQ_INTEROP_008.
-
void handle_list_apps(const httplib::Request &req, httplib::Response &res)
Handle GET /apps - list all apps.
-
void handle_get_app(const httplib::Request &req, httplib::Response &res)
Handle GET /apps/{app-id} - get app capabilities.
-
void handle_app_depends_on(const httplib::Request &req, httplib::Response &res)
Handle GET /apps/{app-id}/depends-on - list app dependencies. @verifies REQ_INTEROP_009.
-
void handle_app_is_located_on(const httplib::Request &req, httplib::Response &res)
Handle GET /apps/{app-id}/is-located-on - get parent component.
-
void handle_list_functions(const httplib::Request &req, httplib::Response &res)
Handle GET /functions - list all functions.
-
void handle_get_function(const httplib::Request &req, httplib::Response &res)
Handle GET /functions/{function-id} - get function capabilities.
-
void handle_function_hosts(const httplib::Request &req, httplib::Response &res)
Handle GET /functions/{function-id}/hosts - list host apps.