1 #ifndef PSK_REPORTER_HPP_
2 #define PSK_REPORTER_HPP_
3 
4 #include <QObject>
5 #include "Radio.hpp"
6 #include "pimpl_h.hpp"
7 
8 class QString;
9 class Configuration;
10 
11 class PSKReporter final
12   : public QObject
13 {
14   Q_OBJECT
15 
16 public:
17   explicit PSKReporter (Configuration const *, QString const& program_info);
18   ~PSKReporter ();
19 
20   void reconnect ();
21 
22   void setLocalStation (QString const& call, QString const& grid, QString const& antenna);
23 
24   //
25   // Returns false if PSK Reporter connection is not available
26   //
27   bool addRemoteStation (QString const& call, QString const& grid, Radio::Frequency freq, QString const& mode, int snr);
28 
29   //
30   // Flush any pending spots to PSK Reporter
31   //
32   void sendReport (bool last = false);
33 
34   Q_SIGNAL void errorOccurred (QString const& reason);
35 
36 private:
37   class impl;
38   pimpl<impl> m_;
39 };
40 
41 #endif
42