![]() |
VSM C++ SDK
Vehicle Specific Modules SDK
|
Public Types | |
typedef std::shared_ptr < Adsb_vehicle > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Adsb_vehicle > | Weak_ptr |
Pointer type. | |
![]() | |
typedef std::shared_ptr< Device > | Ptr |
Pointer type. | |
typedef std::weak_ptr< Device > | Weak_ptr |
Pointer type. | |
typedef Callback_proxy< void, std::vector< Property::Ptr > > | Command_handler |
typedef Callback_proxy< void, uint32_t, Proto_msg_ptr > | Response_sender |
Completion handler type of the request. More... | |
Public Member Functions | |
Adsb_vehicle (uint32_t icao) | |
![]() | |
Device (proto::Device_type type, Request_processor::Ptr processor=nullptr, Request_completion_context::Ptr completion_ctx=nullptr) | |
void | Enable () |
Enable the instance. More... | |
void | Disable () |
Disable the instance. More... | |
bool | Is_enabled () |
Vehicle enable/disable status. More... | |
Device (const Device &)=delete | |
Disable copying. More... | |
void | On_ucs_message (ugcs::vsm::proto::Vsm_message message, Response_sender completion_handler=Response_sender(), ugcs::vsm::Request_completion_context::Ptr completion_ctx=nullptr) |
Command has arrived from UCS and should be executed by the vehicle. | |
void | Register (ugcs::vsm::proto::Vsm_message &) |
template<typename Type > | |
Property::Ptr | Set_property (const std::string &name, Type value, proto::Field_semantic semantic=proto::FIELD_SEMANTIC_DEFAULT) |
uint32_t | Get_session_id () |
Request_completion_context::Ptr | Get_completion_ctx () |
Get default completion context of the device. More... | |
void | Register () |
Register device instance to UCS processor. More... | |
void | Unregister () |
Unregister device instance from UCS processor. More... | |
bool | Is_registered () |
Returns true if vehicle is registered with cucs_processor. More... | |
std::string | Dump_command (const ugcs::vsm::proto::Device_command &) |
Subsystem::Ptr | Add_subsystem (proto::Subsystem_type) |
Request_processor::Ptr | Get_processing_ctx () |
Get default processing context of the vehicle. More... | |
virtual void | Handle_ucs_info (std::vector< Ucs_info >) |
Called when number of ucs connections change. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
static void | Set_failsafe_actions (Property::Ptr p, std::initializer_list< proto::Failsafe_action > actions) |
Protected Attributes | |
ugcs::vsm::Property::Ptr | t_latitude = nullptr |
ugcs::vsm::Property::Ptr | t_longitude = nullptr |
ugcs::vsm::Property::Ptr | t_altitude_type = nullptr |
ugcs::vsm::Property::Ptr | t_altitude_amsl = nullptr |
ugcs::vsm::Property::Ptr | t_heading = nullptr |
ugcs::vsm::Property::Ptr | t_ground_speed = nullptr |
ugcs::vsm::Property::Ptr | t_vertical_speed = nullptr |
ugcs::vsm::Property::Ptr | t_callsign = nullptr |
ugcs::vsm::Property::Ptr | t_emitter_type = nullptr |
ugcs::vsm::Property::Ptr | t_squawk = nullptr |
ugcs::vsm::Subsystem::Ptr | data_instance |
![]() | |
const proto::Device_type | device_type |
Request_processor::Ptr | processor |
Request_completion_context::Ptr | completion_ctx |
std::chrono::time_point < std::chrono::system_clock > | begin_of_epoch |
std::vector< Subsystem::Ptr > | subsystems |
Additional Inherited Members | |
![]() | |
virtual void | On_enable () |
Device enable event handler. More... | |
virtual void | On_disable () |
Device disable event handler. More... | |
virtual void | Handle_ucs_command (Ucs_request::Ptr request) |
Message from ucs arrived called by VSM SDK in vehicle context and should be overridden by user code. | |
void | Report_progress (Ucs_request::Ptr request, float progress=-1.0, const std::string &description=std::string()) |
Sends Device_response with status code==STATUS_IN_PROGRESS with optional progress and description. More... | |
void | Send_ucs_message (Proto_msg_ptr msg) |
Vsm_command::Ptr | Get_command (int id) |
void | Add_status_message (const std::string &m) |
void | Commit_to_ucs (bool log_message=false) |
|
inlinestatic |
Create an instance.