mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	Enhanced TransceiverBase error exception type to allow for language translatable messages. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4033 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef DX_LAB_SUITE_COMMANDER_TRANSCEIVER_HPP__
 | 
						|
#define DX_LAB_SUITE_COMMANDER_TRANSCEIVER_HPP__
 | 
						|
 | 
						|
#include <memory>
 | 
						|
 | 
						|
#include <QByteArray>
 | 
						|
 | 
						|
#include "TransceiverFactory.hpp"
 | 
						|
#include "PollingTransceiver.hpp"
 | 
						|
 | 
						|
class QTcpSocket;
 | 
						|
 | 
						|
//
 | 
						|
// DX Lab Suite Commander Interface
 | 
						|
//
 | 
						|
// Implemented as a Transceiver decorator  because we may want the PTT
 | 
						|
// services of another Transceiver  type such as the HamlibTransceiver
 | 
						|
// which can  be enabled by wrapping  a HamlibTransceiver instantiated
 | 
						|
// as a "Hamlib Dummy" transceiver in the Transceiver factory method.
 | 
						|
//
 | 
						|
class DXLabSuiteCommanderTransceiver final
 | 
						|
  : public PollingTransceiver
 | 
						|
{
 | 
						|
  Q_OBJECT;                     // for translation context
 | 
						|
 | 
						|
public:
 | 
						|
  static void register_transceivers (TransceiverFactory::Transceivers *, int id);
 | 
						|
 | 
						|
  // takes ownership of wrapped Transceiver
 | 
						|
  explicit DXLabSuiteCommanderTransceiver (std::unique_ptr<TransceiverBase> wrapped, QString const& address, bool use_for_ptt, int poll_interval);
 | 
						|
  ~DXLabSuiteCommanderTransceiver ();
 | 
						|
 | 
						|
protected:
 | 
						|
  void do_start () override;
 | 
						|
  void do_stop () override;
 | 
						|
  void do_frequency (Frequency) override;
 | 
						|
  void do_tx_frequency (Frequency, bool rationalise_mode) override;
 | 
						|
  void do_mode (MODE, bool rationalise) override;
 | 
						|
  void do_ptt (bool on) override;
 | 
						|
 | 
						|
  void poll () override;
 | 
						|
 | 
						|
private:
 | 
						|
  void simple_command (QByteArray const&, bool no_debug = false);
 | 
						|
  QByteArray command_with_reply (QByteArray const&, bool no_debug = false);
 | 
						|
 | 
						|
  std::unique_ptr<TransceiverBase> wrapped_;
 | 
						|
  bool use_for_ptt_;
 | 
						|
  QString server_;
 | 
						|
  QTcpSocket * commander_;
 | 
						|
};
 | 
						|
 | 
						|
#endif
 |