mavsdk::ComponentMetadata Class Reference ​
#include: component_metadata.h
Access component metadata json definitions, such as parameters.
Data Structures ​
struct MetadataData
struct MetadataUpdate
Public Types ​
Type | Description |
---|---|
enum MetadataType | The metadata type. |
enum Result | Possible results returned. |
std::function< void(Result)> ResultCallback | Callback type for asynchronous ComponentMetadata calls. |
std::function< void(MetadataUpdate)> MetadataAvailableCallback | Callback type for subscribe_metadata_available. |
Handle< MetadataUpdate > MetadataAvailableHandle | Handle type for subscribe_metadata_available. |
Public Member Functions ​
Type | Name | Description |
---|---|---|
 | ComponentMetadata (System & system) | Constructor. Creates the plugin for a specific System. |
 | ComponentMetadata (std::shared_ptr< System > system) | Constructor. Creates the plugin for a specific System. |
 | ~ComponentMetadata () override | Destructor (internal use only). |
 | ComponentMetadata (const ComponentMetadata & other) | Copy constructor. |
void | request_component (uint32_t compid)const | Request metadata from a specific component. This is used to start requesting metadata from a component. The metadata can later be accessed via subscription (see below) or GetMetadata. |
void | request_autopilot_component () const | Request metadata from the autopilot component. This is used to start requesting metadata from the autopilot. The metadata can later be accessed via subscription (see below) or GetMetadata. |
MetadataAvailableHandle | subscribe_metadata_available (const MetadataAvailableCallback & callback) | Register a callback that gets called when metadata is available. |
void | unsubscribe_metadata_available (MetadataAvailableHandle handle) | Unsubscribe from subscribe_metadata_available. |
std::pair< Result, ComponentMetadata::MetadataData > | get_metadata (uint32_t compid, MetadataType metadata_type)const | Access metadata. This can be used if you know the metadata is available already, otherwise use the subscription to get notified when it becomes available. |
const ComponentMetadata & | operator= (const ComponentMetadata &)=delete | Equality operator (object is not copyable). |
Constructor & Destructor Documentation ​
ComponentMetadata() ​
mavsdk::ComponentMetadata::ComponentMetadata(System &system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto component_metadata = ComponentMetadata(system);
Parameters
- System& system - The specific system associated with this plugin.
ComponentMetadata() ​
mavsdk::ComponentMetadata::ComponentMetadata(std::shared_ptr< System > system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto component_metadata = ComponentMetadata(system);
Parameters
- std::shared_ptr< System > system - The specific system associated with this plugin.
~ComponentMetadata() ​
mavsdk::ComponentMetadata::~ComponentMetadata() override
Destructor (internal use only).
ComponentMetadata() ​
mavsdk::ComponentMetadata::ComponentMetadata(const ComponentMetadata &other)
Copy constructor.
Parameters
- const ComponentMetadata& other -
Member Typdef Documentation ​
typedef ResultCallback ​
using mavsdk::ComponentMetadata::ResultCallback = std::function<void(Result)>
Callback type for asynchronous ComponentMetadata calls.
typedef MetadataAvailableCallback ​
using mavsdk::ComponentMetadata::MetadataAvailableCallback = std::function<void(MetadataUpdate)>
Callback type for subscribe_metadata_available.
typedef MetadataAvailableHandle ​
using mavsdk::ComponentMetadata::MetadataAvailableHandle = Handle<MetadataUpdate>
Handle type for subscribe_metadata_available.
Member Enumeration Documentation ​
enum MetadataType ​
The metadata type.
Value | Description |
---|---|
AllCompleted | This is set in the subscription callback when all metadata types completed for a given component ID. |
Parameter | Parameter metadata. |
Events | Event definitions. |
Actuators | Actuator definitions. |
enum Result ​
Possible results returned.
Value | Description |
---|---|
Success | Success. |
NotAvailable | Not available. |
ConnectionError | Connection error. |
Unsupported | Unsupported. |
Denied | Denied. |
Failed | Failed. |
Timeout | Timeout. |
NoSystem | No system. |
NotRequested | Not requested. |
Member Function Documentation ​
request_component() ​
void mavsdk::ComponentMetadata::request_component(uint32_t compid) const
Request metadata from a specific component. This is used to start requesting metadata from a component. The metadata can later be accessed via subscription (see below) or GetMetadata.
This function is blocking.
Parameters
- uint32_t compid -
request_autopilot_component() ​
void mavsdk::ComponentMetadata::request_autopilot_component() const
Request metadata from the autopilot component. This is used to start requesting metadata from the autopilot. The metadata can later be accessed via subscription (see below) or GetMetadata.
This function is blocking.
subscribe_metadata_available() ​
MetadataAvailableHandle mavsdk::ComponentMetadata::subscribe_metadata_available(const MetadataAvailableCallback &callback)
Register a callback that gets called when metadata is available.
Parameters
- const MetadataAvailableCallback& callback -
Returns
unsubscribe_metadata_available() ​
void mavsdk::ComponentMetadata::unsubscribe_metadata_available(MetadataAvailableHandle handle)
Unsubscribe from subscribe_metadata_available.
Parameters
- MetadataAvailableHandle handle -
get_metadata() ​
std::pair< Result, ComponentMetadata::MetadataData > mavsdk::ComponentMetadata::get_metadata(uint32_t compid, MetadataType metadata_type) const
Access metadata. This can be used if you know the metadata is available already, otherwise use the subscription to get notified when it becomes available.
This function is blocking.
Parameters
- uint32_t compid -
- MetadataType metadata_type -
Returns
 std::pair< Result, ComponentMetadata::MetadataData > - Result of request.
operator=() ​
const ComponentMetadata & mavsdk::ComponentMetadata::operator=(const ComponentMetadata &)=delete
Equality operator (object is not copyable).
Parameters
- const ComponentMetadata& -
Returns
 const ComponentMetadata & -