Struct App
Defined in File app.hpp
Nested Relationships
Nested Types
Struct Documentation
-
struct App
SOVD App entity - represents a software application.
In the ROS 2 context, an App typically corresponds to a ROS node. Apps are located on Components and can depend on other Apps.
Apps can be:
Manifest-defined: Declared in YAML manifest with ROS binding
Runtime-discovered: Automatically created from ROS nodes (future)
Public Functions
-
inline std::string effective_fqn() const
Get effective FQN: bound_fqn if available, otherwise derived from ros_binding. Returns empty string if neither is available. Used by handlers and samplers to resolve the ROS node FQN in manifest_only mode where runtime linking doesn’t set bound_fqn.
Note
namespace_pattern must be empty or an exact namespace path (e.g. “/perception”). Glob patterns like “**” or “prefix*” are not supported and will produce empty FQN.
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::string component_id
is-located-on relationship
-
std::optional<RosBinding> ros_binding
-
std::optional<std::string> bound_fqn
Bound ROS node FQN.
-
bool is_online = {false}
Whether the bound node is running.
-
bool external = {false}
True if not a ROS node.
-
ComponentTopics topics
-
std::vector<ServiceInfo> services
-
std::vector<ActionInfo> actions
-
std::string source = "manifest"
“manifest” or “runtime”
-
std::string original_id
Pre-rename ID when collision-prefixed by aggregation.