Struct Area

Struct Documentation

struct Area

SOVD Area entity - represents a logical grouping (ROS 2 namespace)

Areas are derived from ROS 2 namespaces or defined in manifests. They provide a hierarchical organization of components.

Public Functions

inline json to_json() const

Convert to JSON representation.

SOVD EntityReference fields: id, name, href, translation_id, tags ROS 2 extensions in x-medkit: namespace, type, description, parentAreaId

Returns:

JSON object with area data

inline json to_entity_reference(const std::string &base_url) const

Create SOVD EntityReference format (strictly compliant)

Parameters:

base_url – Base URL for self links

Returns:

JSON object in EntityReference format: id, name, href, [translationId, tags]

inline json to_capabilities(const std::string &base_url) const

Create SOVD Entity Capabilities format (strictly compliant)

Parameters:

base_url – Base URL for capability links

Returns:

JSON object listing available sub-resources

Public Members

std::string id

Unique identifier (e.g., “powertrain”)

std::string name

Human-readable name (e.g., “Powertrain System”)

std::string namespace_path

ROS 2 namespace path (e.g., “/powertrain”)

std::string type = "Area"

Entity type (always “Area”)

std::string translation_id

Internationalization key.

std::string description

Human-readable description.

std::vector<std::string> tags

Tags for filtering.

std::string parent_area_id

Parent area ID for sub-areas.

std::string source

Origin of this area (e.g., “manifest”, “heuristic”)