#ifndef HAMLIB_TRANSCEIVER_HPP_ #define HAMLIB_TRANSCEIVER_HPP_ #include #include "TransceiverFactory.hpp" #include "PollingTransceiver.hpp" #include "pimpl_h.hpp" // hamlib transceiver and PTT mostly delegated directly to hamlib Rig class class HamlibTransceiver final : public PollingTransceiver { Q_OBJECT // for translation context public: static void register_transceivers (logger_type *, TransceiverFactory::Transceivers *); static void unregister_transceivers (); explicit HamlibTransceiver (logger_type *, unsigned model_number, TransceiverFactory::ParameterPack const&, QObject * parent = nullptr); explicit HamlibTransceiver (logger_type *, TransceiverFactory::PTTMethod ptt_type, QString const& ptt_port, QObject * parent = nullptr); ~HamlibTransceiver (); private: void load_user_settings (); int do_start () override; void do_stop () override; void do_frequency (Frequency, MODE, bool no_ignore) override; void do_tx_frequency (Frequency, MODE, bool no_ignore) override; void do_mode (MODE) override; void do_ptt (bool) override; void do_poll () override; class impl; pimpl m_; }; #endif