Class CapabilityBuilder

Class Documentation

class CapabilityBuilder

Public Types

enum class Capability

Available capability types for SOVD entities.

Values:

enumerator DATA

Entity has data endpoints.

enumerator OPERATIONS

Entity has operations (services/actions)

enumerator CONFIGURATIONS

Entity has configurations (parameters)

enumerator FAULTS

Entity has fault management.

enumerator SUBAREAS

Entity has child areas (areas only)

enumerator SUBCOMPONENTS

Entity has child components (components only)

enumerator RELATED_COMPONENTS

Entity has related components (areas only)

enumerator CONTAINS

Entity contains other entities (areas->components)

enumerator RELATED_APPS

Entity has related apps (components only)

enumerator HOSTS

Entity has host apps (functions/components)

enumerator DEPENDS_ON

Entity has dependencies (components only)

enumerator LOGS

Entity has application log entries (components and apps)

enumerator BULK_DATA

Entity has bulk data endpoints (rosbags)

enumerator CYCLIC_SUBSCRIPTIONS

Entity has cyclic subscription endpoints.

enumerator LOCKS

Entity has lock endpoints (components and apps only)

enumerator SCRIPTS

Entity has diagnostic script endpoints.

enumerator TRIGGERS

Entity has trigger endpoints (x-medkit extension)

Public Static Functions

static nlohmann::json build_capabilities(const std::string &entity_type, const std::string &entity_id, const std::vector<Capability> &capabilities)

Build capabilities JSON array for an entity.

Parameters:
  • entity_type – The entity type (e.g., “areas”, “components”, “apps”, “functions”)

  • entity_id – The entity identifier

  • capabilities – Vector of capability types to include

Returns:

JSON array of capability objects with name and href

static std::string capability_to_name(Capability cap)

Convert capability enum to string name.

Parameters:

cap – The capability enum value

Returns:

String name for the capability (e.g., “data”, “operations”)

static std::string capability_to_path(Capability cap)

Convert capability enum to URL path segment.

Parameters:

cap – The capability enum value

Returns:

URL path segment for the capability (e.g., “data”, “operations”)