class Adsb_vehicle

Overview

#include <adsb_vehicle.h>

class Adsb_vehicle: public ugcs::vsm::Device
{
public:
    // typedefs

    typedef std::shared_ptr<Adsb_vehicle> Ptr;
    typedef std::weak_ptr<Adsb_vehicle> Weak_ptr;

    // construction

    Adsb_vehicle(uint32_t icao);

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<Device> Ptr;
    typedef std::weak_ptr<Device> Weak_ptr;
    typedef Callback_proxy<void, std::vector<Property::Ptr>> Command_handler;
    typedef Callback_proxy<void, uint32_t, Proto_msg_ptr> Response_sender;

    // classes

    class Commit_scope;

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    static void Set_failsafe_actions(Property::Ptr p, std::initializer_list<proto::Failsafe_action> actions);
    void Enable();
    void Disable();
    bool Is_enabled();

    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
        );

    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();
    void Register();
    void Unregister();
    bool Is_registered();
    std::string Dump_command(const ugcs::vsm::proto::Device_command&);
    Subsystem::Ptr Add_subsystem(proto::Subsystem_type);
    Request_processor::Ptr Get_processing_ctx();
    virtual void Handle_ucs_info(std::vector<Ucs_info>);

Detailed Documentation

Typedefs

typedef std::shared_ptr<Adsb_vehicle> Ptr

Pointer type.

typedef std::weak_ptr<Adsb_vehicle> Weak_ptr

Pointer type.

Methods

template <typename... Args>
static Ptr Create(Args&&... args)

Create an instance.