Struct Function

Struct Documentation

struct Function

SOVD Function entity - represents a functional group.

Functions are higher-level abstractions that group Apps and/or Components representing a complete capability (e.g., “Autonomous Navigation”).

Functions can be manifest-defined or created at runtime from namespace grouping. They aggregate data, operations, and faults from their hosted entities.

Public Functions

json to_json() const

Serialize to full JSON representation.

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

Create SOVD EntityReference format.

Parameters:

base_url – Base URL for href (e.g., “/api/v1”)

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

Create SOVD Entity Capabilities format.

Parameters:

base_url – Base URL for capability URIs

Public Members

std::string id

Unique identifier.

std::string name

Human-readable name.

std::string translation_id

For i18n support.

std::string description

Detailed description.

std::vector<std::string> tags

Tags for filtering.

std::vector<std::string> hosts

App or Component IDs this function hosts.

std::vector<std::string> depends_on

depends-on relationship (Function IDs)

std::string source = "manifest"

Discovery source: manifest or runtime.