|
|
# group `request` {#group__request}
|
|
|
# group `subscribe` {#group__subscribe}
|
|
|
|
|
|
Request/Reply communication is used to send commands to a motorcortex server.
|
|
|
[Subscribe](api-subscribe.md#classmcx__cpp_1_1Subscribe) class is used to receive continuous parameter updates from motorcortex server. It simplifies creating and removing subscription groups.
|
|
|
|
|
|
[Subscription](api-subscribe.md#classmcx__cpp_1_1Subscription) class represents a group of parameters. It returns the latest values and a timestamp of the group. [Subscription](api-subscribe.md#classmcx__cpp_1_1Subscription) class could be used as an observer, which notifies on every update or could be used as polling.
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
Members | Descriptions
|
|
|
--------------------------------|---------------------------------------------
|
|
|
`public `[`Request`](#group__request_1ga0bf696d0a423087fbe17c221307636fd)`() = delete` |
|
|
|
`public explicit `[`Request`](#group__request_1ga44c87d666fa137904e56bc5d1944d434)`(const ParameterTree & parameter_tree)` |
|
|
|
`public `[`~Request`](#group__request_1gac16054e325ff15f7d640dddef1c20567)`()` |
|
|
|
`public std::string `[`url`](#group__request_1gacfcdd3adb2b1211f4e44290ba169e3e0)`() const` |
|
|
|
`public StatusReply `[`connect`](#group__request_1ga8ae078bcf939fb1f2b3cbdb384a6eeab)`(std::string url)` |
|
|
|
`public StatusReply `[`connect`](#group__request_1gaac5973995efa60ffb14b5bc0d6dc4df0)`(std::string url,ConnectionOptions connection_options)` |
|
|
|
`public void `[`close`](#group__request_1ga27321c84e73a5cb48f279858c8c01191)`()` |
|
|
|
`public StatusReply `[`login`](#group__request_1ga563ffd90d911f4501b0cfd38a5d67cb6)`(std::string login,std::string password) const` |
|
|
|
`public ParameterTreeReply `[`getParameterTree`](#group__request_1gab8a65a4360c11bc5c9f945242400972f)`() const` |
|
|
|
`public StatusReply `[`setParameter`](#group__request_1gaafe3905a109847c73bcdbd7a82dac92b)`(SetParameter value) const` |
|
|
|
`public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1gaf8c7e702165817675f352e5b364a3d5d)`(const std::string & path,const T & value) const` |
|
|
|
`public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1ga9bfa52fa512e4bb457693fd18e07315b)`(const std::string & path,const std::initializer_list< T > & value) const` |
|
|
|
`public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1ga5d80f31b02f2580c2876abc749125499)`(const std::string & path,const std::vector< T > & value) const` |
|
|
|
`public GetParameterReply `[`getParameter`](#group__request_1ga4fe8fa3391225c2790479d38ee6e8ec9)`(const std::string & path) const` |
|
|
|
`public SubscriptionReply `[`createGroup`](#group__request_1gaf43939dd894f40759279cdae2db1fc4b)`(std::vector< std::string > path_list,const std::string & group_alias,size_t frequency_divider) const` |
|
|
|
`public StatusReply `[`removeGroup`](#group__request_1ga2265e5c93d801c6d458936c0c225d002)`(const std::string & group_alias) const` |
|
|
|
`class `[`mcx_cpp::Request`](#classmcx__cpp_1_1Request) |
|
|
|
`struct `[`mcx_cpp::ConnectionOptions`](#structmcx__cpp_1_1ConnectionOptions) |
|
|
|
`public `[`Subscribe`](#group__subscribe_1gac12c65d1f31eb82da508703bf2fcf33a)`() = delete` |
|
|
|
`public explicit `[`Subscribe`](#group__subscribe_1gaa08311096d99de2bb2a8fa7a5c89868e)`(const Request & request)` | Creates new [Subscribe](api-subscribe.md#classmcx__cpp_1_1Subscribe).
|
|
|
`public `[`~Subscribe`](#group__subscribe_1gaa4046923c47d2e34bf98722ec3409765)`()` | Destructor.
|
|
|
`public std::string `[`url`](#group__subscribe_1ga21378cbaf16bcdcd1de51a55fa52769f)`() const` | Returns connection URL.
|
|
|
`public StatusReply `[`connect`](#group__subscribe_1ga85535612b83d8198695a04f281485683)`(std::string url)` | Opens a subscribe connection.
|
|
|
`public StatusReply `[`connect`](#group__subscribe_1ga96cae01189b9ae60848cc6dde4466d7b)`(std::string url,ConnectionOptions connection_options)` | Opens a subscribe connection.
|
|
|
`public void `[`close`](#group__subscribe_1ga9f2a81da4076999ead76c802c8583043)`()` | Closes connection to the server.
|
|
|
`public SubscriptionReply `[`subscribe`](#group__subscribe_1gafb213ffb792de4fc6d3c2656ee64666d)`(std::vector< std::string > path_list,const std::string & group_alias,size_t frequency_divider) const` | Create a subscription group for a list of the parameters.
|
|
|
`public StatusReply `[`unsubscribe`](#group__subscribe_1gaf7b3173f6fbd1ce9128e26e3e3a7e575)`(const Subscription & subscription) const` | Unsubscribes from the group.
|
|
|
`public `[`Subscription`](#group__subscribe_1gaa8d1cd42785d3d717f41281aeab0b9e0)`()` |
|
|
|
`public explicit `[`Subscription`](#group__subscribe_1ga561e819d903760bbde7aacb10cd450d6)`(Status status)` |
|
|
|
`public explicit `[`Subscription`](#group__subscribe_1gafb1fc2a9d7827741630b632dc331a9c4)`(const `[`motorcortex_GroupStatusMsg`](api-undefined.md#struct__motorcortex__GroupStatusMsg)` & group_status_msg)` |
|
|
|
`public std::vector< GetParameter > `[`read`](#group__subscribe_1gacab9468f4efd9f06f01981748b9b1b2c)`() const` |
|
|
|
`public static void `[`notify`](#group__subscribe_1ga61e648d5109217a424fbe6713b47c05f)`(const std::function< void(std::vector< GetParameter >)> & clb)` |
|
|
|
`public uint32_t `[`id`](#group__subscribe_1ga1efe7e1df7a5b98765e5df2aad7af8c1)`() const` |
|
|
|
`public std::string `[`alias`](#group__subscribe_1ga8f803530e658663f60c099e14700a9bc)`() const` |
|
|
|
`class `[`mcx_cpp::Subscribe`](#classmcx__cpp_1_1Subscribe) |
|
|
|
`class `[`mcx_cpp::Subscription`](#classmcx__cpp_1_1Subscription) |
|
|
|
|
|
|
## Members
|
|
|
|
|
|
#### `public `[`Request`](#group__request_1ga0bf696d0a423087fbe17c221307636fd)`() = delete` {#group__request_1ga0bf696d0a423087fbe17c221307636fd}
|
|
|
#### `public `[`Subscribe`](#group__subscribe_1gac12c65d1f31eb82da508703bf2fcf33a)`() = delete` {#group__subscribe_1gac12c65d1f31eb82da508703bf2fcf33a}
|
|
|
|
|
|
#### `public explicit `[`Subscribe`](#group__subscribe_1gaa08311096d99de2bb2a8fa7a5c89868e)`(const Request & request)` {#group__subscribe_1gaa08311096d99de2bb2a8fa7a5c89868e}
|
|
|
|
|
|
Creates new [Subscribe](api-subscribe.md#classmcx__cpp_1_1Subscribe).
|
|
|
|
|
|
#### Parameters
|
|
|
* `request` - reference to a [Request](api-request.md#classmcx__cpp_1_1Request) instance.
|
|
|
|
|
|
#### `public `[`~Subscribe`](#group__subscribe_1gaa4046923c47d2e34bf98722ec3409765)`()` {#group__subscribe_1gaa4046923c47d2e34bf98722ec3409765}
|
|
|
|
|
|
Destructor.
|
|
|
|
|
|
#### `public std::string `[`url`](#group__subscribe_1ga21378cbaf16bcdcd1de51a55fa52769f)`() const` {#group__subscribe_1ga21378cbaf16bcdcd1de51a55fa52769f}
|
|
|
|
|
|
Returns connection URL.
|
|
|
|
|
|
#### `public StatusReply `[`connect`](#group__subscribe_1ga85535612b83d8198695a04f281485683)`(std::string url)` {#group__subscribe_1ga85535612b83d8198695a04f281485683}
|
|
|
|
|
|
Opens a subscribe connection.
|
|
|
|
|
|
#### Parameters
|
|
|
* `url` - motorcortex server URL
|
|
|
|
|
|
#### `public explicit `[`Request`](#group__request_1ga44c87d666fa137904e56bc5d1944d434)`(const ParameterTree & parameter_tree)` {#group__request_1ga44c87d666fa137904e56bc5d1944d434}
|
|
|
#### Returns
|
|
|
status of the connection.
|
|
|
|
|
|
#### `public `[`~Request`](#group__request_1gac16054e325ff15f7d640dddef1c20567)`()` {#group__request_1gac16054e325ff15f7d640dddef1c20567}
|
|
|
#### `public StatusReply `[`connect`](#group__subscribe_1ga96cae01189b9ae60848cc6dde4466d7b)`(std::string url,ConnectionOptions connection_options)` {#group__subscribe_1ga96cae01189b9ae60848cc6dde4466d7b}
|
|
|
|
|
|
#### `public std::string `[`url`](#group__request_1gacfcdd3adb2b1211f4e44290ba169e3e0)`() const` {#group__request_1gacfcdd3adb2b1211f4e44290ba169e3e0}
|
|
|
Opens a subscribe connection.
|
|
|
|
|
|
#### `public StatusReply `[`connect`](#group__request_1ga8ae078bcf939fb1f2b3cbdb384a6eeab)`(std::string url)` {#group__request_1ga8ae078bcf939fb1f2b3cbdb384a6eeab}
|
|
|
#### Parameters
|
|
|
* `url` - motorcortex server URL
|
|
|
|
|
|
#### `public StatusReply `[`connect`](#group__request_1gaac5973995efa60ffb14b5bc0d6dc4df0)`(std::string url,ConnectionOptions connection_options)` {#group__request_1gaac5973995efa60ffb14b5bc0d6dc4df0}
|
|
|
* `connection_options` - additional options
|
|
|
|
|
|
#### `public void `[`close`](#group__request_1ga27321c84e73a5cb48f279858c8c01191)`()` {#group__request_1ga27321c84e73a5cb48f279858c8c01191}
|
|
|
#### Returns
|
|
|
status of the connection.
|
|
|
|
|
|
#### `public StatusReply `[`login`](#group__request_1ga563ffd90d911f4501b0cfd38a5d67cb6)`(std::string login,std::string password) const` {#group__request_1ga563ffd90d911f4501b0cfd38a5d67cb6}
|
|
|
#### `public void `[`close`](#group__subscribe_1ga9f2a81da4076999ead76c802c8583043)`()` {#group__subscribe_1ga9f2a81da4076999ead76c802c8583043}
|
|
|
|
|
|
#### `public ParameterTreeReply `[`getParameterTree`](#group__request_1gab8a65a4360c11bc5c9f945242400972f)`() const` {#group__request_1gab8a65a4360c11bc5c9f945242400972f}
|
|
|
Closes connection to the server.
|
|
|
|
|
|
#### `public StatusReply `[`setParameter`](#group__request_1gaafe3905a109847c73bcdbd7a82dac92b)`(SetParameter value) const` {#group__request_1gaafe3905a109847c73bcdbd7a82dac92b}
|
|
|
#### `public SubscriptionReply `[`subscribe`](#group__subscribe_1gafb213ffb792de4fc6d3c2656ee64666d)`(std::vector< std::string > path_list,const std::string & group_alias,size_t frequency_divider) const` {#group__subscribe_1gafb213ffb792de4fc6d3c2656ee64666d}
|
|
|
|
|
|
#### `public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1gaf8c7e702165817675f352e5b364a3d5d)`(const std::string & path,const T & value) const` {#group__request_1gaf8c7e702165817675f352e5b364a3d5d}
|
|
|
Create a subscription group for a list of the parameters.
|
|
|
|
|
|
#### `public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1ga9bfa52fa512e4bb457693fd18e07315b)`(const std::string & path,const std::initializer_list< T > & value) const` {#group__request_1ga9bfa52fa512e4bb457693fd18e07315b}
|
|
|
#### Parameters
|
|
|
* `path_list` - list of the parameters to subscribe to
|
|
|
|
|
|
#### `public template<>` <br/>`inline StatusReply `[`setParameter`](#group__request_1ga5d80f31b02f2580c2876abc749125499)`(const std::string & path,const std::vector< T > & value) const` {#group__request_1ga5d80f31b02f2580c2876abc749125499}
|
|
|
* `group_alias` - name of the group
|
|
|
|
|
|
#### `public GetParameterReply `[`getParameter`](#group__request_1ga4fe8fa3391225c2790479d38ee6e8ec9)`(const std::string & path) const` {#group__request_1ga4fe8fa3391225c2790479d38ee6e8ec9}
|
|
|
* `frq_divider` - frequency divider is a downscaling factor for the group publish rate
|
|
|
|
|
|
#### `public SubscriptionReply `[`createGroup`](#group__request_1gaf43939dd894f40759279cdae2db1fc4b)`(std::vector< std::string > path_list,const std::string & group_alias,size_t frequency_divider) const` {#group__request_1gaf43939dd894f40759279cdae2db1fc4b}
|
|
|
#### Returns
|
|
|
a subscription handle, which acts as a Promise, it is resolved when subscription is ready or failed. After the subscription is ready the handle is used to retrieve latest data.
|
|
|
|
|
|
#### `public StatusReply `[`removeGroup`](#group__request_1ga2265e5c93d801c6d458936c0c225d002)`(const std::string & group_alias) const` {#group__request_1ga2265e5c93d801c6d458936c0c225d002}
|
|
|
#### `public StatusReply `[`unsubscribe`](#group__subscribe_1gaf7b3173f6fbd1ce9128e26e3e3a7e575)`(const Subscription & subscription) const` {#group__subscribe_1gaf7b3173f6fbd1ce9128e26e3e3a7e575}
|
|
|
|
|
|
# class `mcx_cpp::Request` {#classmcx__cpp_1_1Request}
|
|
|
Unsubscribes from the group.
|
|
|
|
|
|
#### Parameters
|
|
|
* `subscription` - subscription handle
|
|
|
|
|
|
#### Returns
|
|
|
a promise, which resolves when the unsubscribe operation is complete, fails otherwise.
|
|
|
|
|
|
#### `public `[`Subscription`](#group__subscribe_1gaa8d1cd42785d3d717f41281aeab0b9e0)`()` {#group__subscribe_1gaa8d1cd42785d3d717f41281aeab0b9e0}
|
|
|
|
|
|
#### `public explicit `[`Subscription`](#group__subscribe_1ga561e819d903760bbde7aacb10cd450d6)`(Status status)` {#group__subscribe_1ga561e819d903760bbde7aacb10cd450d6}
|
|
|
|
|
|
#### `public explicit `[`Subscription`](#group__subscribe_1gafb1fc2a9d7827741630b632dc331a9c4)`(const `[`motorcortex_GroupStatusMsg`](api-undefined.md#struct__motorcortex__GroupStatusMsg)` & group_status_msg)` {#group__subscribe_1gafb1fc2a9d7827741630b632dc331a9c4}
|
|
|
|
|
|
#### `public std::vector< GetParameter > `[`read`](#group__subscribe_1gacab9468f4efd9f06f01981748b9b1b2c)`() const` {#group__subscribe_1gacab9468f4efd9f06f01981748b9b1b2c}
|
|
|
|
|
|
#### `public static void `[`notify`](#group__subscribe_1ga61e648d5109217a424fbe6713b47c05f)`(const std::function< void(std::vector< GetParameter >)> & clb)` {#group__subscribe_1ga61e648d5109217a424fbe6713b47c05f}
|
|
|
|
|
|
#### `public uint32_t `[`id`](#group__subscribe_1ga1efe7e1df7a5b98765e5df2aad7af8c1)`() const` {#group__subscribe_1ga1efe7e1df7a5b98765e5df2aad7af8c1}
|
|
|
|
|
|
#### `public std::string `[`alias`](#group__subscribe_1ga8f803530e658663f60c099e14700a9bc)`() const` {#group__subscribe_1ga8f803530e658663f60c099e14700a9bc}
|
|
|
|
|
|
# class `mcx_cpp::Subscribe` {#classmcx__cpp_1_1Subscribe}
|
|
|
|
|
|
## Summary
|
|
|
|
... | ... | @@ -68,7 +119,12 @@ Request/Reply communication is used to send commands to a motorcortex server. |
|
|
|
|
|
## Members
|
|
|
|
|
|
# struct `mcx_cpp::ConnectionOptions` {#structmcx__cpp_1_1ConnectionOptions}
|
|
|
# class `mcx_cpp::Subscription` {#classmcx__cpp_1_1Subscription}
|
|
|
|
|
|
```
|
|
|
class mcx_cpp::Subscription
|
|
|
: public mcx_cpp::Status
|
|
|
```
|
|
|
|
|
|
## Summary
|
|
|
|
... | ... | |