mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-09-03 05:38:01 -04:00
r5444 | bsomervi | 2015-05-28 16:44:03 +0100 (Thu, 28 May 2015) | 4 lines Respond to clicks on Gen/Free radio buttons even if checked The generated and free text radio buttons now refresh the sent message even if teh clicked radio button is already checked. ------------------------------------------------------------------------ r5445 | bsomervi | 2015-05-28 18:33:39 +0100 (Thu, 28 May 2015) | 9 lines Made the UDP message to change the free text message optionally send ASAP This message now has the ability to simply change the free text message or to change the message and send it ASAP. The message_aggregator reference UDP server application exercises this feature by sending a new free text message on any edit and requesting it be sent by WSJT-X when editing is finished i,e, RETURN pressed or focus moved away. ------------------------------------------------------------------------ r5446 | bsomervi | 2015-05-28 18:45:33 +0100 (Thu, 28 May 2015) | 1 line Don't send empty free text messages git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.5@5447 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
82 lines
3.1 KiB
C++
82 lines
3.1 KiB
C++
#ifndef MESSAGE_SERVER_HPP__
|
|
#define MESSAGE_SERVER_HPP__
|
|
|
|
#include <QObject>
|
|
#include <QTime>
|
|
#include <QDateTime>
|
|
#include <QString>
|
|
#include <QByteArray>
|
|
#include <QHostAddress>
|
|
|
|
#include "Radio.hpp"
|
|
|
|
#include "pimpl_h.hpp"
|
|
|
|
//
|
|
// MessageServer - a reference implementation of a message server
|
|
// matching the MessageClient class at the other end
|
|
// of the wire
|
|
//
|
|
// This class is fully functioning and suitable for use in C++
|
|
// applications that use the Qt framework. Other applications should
|
|
// use this classes' implementation as a reference implementation.
|
|
//
|
|
class MessageServer
|
|
: public QObject
|
|
{
|
|
Q_OBJECT;
|
|
|
|
public:
|
|
using port_type = quint16;
|
|
using Frequency = Radio::Frequency;
|
|
|
|
MessageServer (QObject * parent = nullptr);
|
|
|
|
// start or restart the server, if the multicast_group_address
|
|
// argument is given it is assumed to be a multicast group address
|
|
// which the server will join
|
|
Q_SLOT void start (port_type port, QHostAddress const& multicast_group_address = QHostAddress {});
|
|
|
|
// ask the client with identification 'id' to make the same action
|
|
// as a double click on the decode would
|
|
//
|
|
// note that the client is not obliged to take any action and only
|
|
// takes any action if the decode is present and is a CQ or QRZ message
|
|
Q_SLOT void reply (QString const& id, QTime time, qint32 snr, float delta_time, quint32 delta_frequency
|
|
, QString const& mode, QString const& message);
|
|
|
|
// ask the client with identification 'id' to replay all decodes
|
|
Q_SLOT void replay (QString const& id);
|
|
|
|
// ask the client with identification 'id' to halt transmitting
|
|
// auto_only just disables auto Tx, otherwise halt is immediate
|
|
Q_SLOT void halt_tx (QString const& id, bool auto_only);
|
|
|
|
// ask the client with identification 'id' to set the free text
|
|
// message and optionally send it ASAP
|
|
Q_SLOT void free_text (QString const& id, QString const& text, bool send);
|
|
|
|
// the following signals are emitted when a client broadcasts the
|
|
// matching message
|
|
Q_SIGNAL void client_opened (QString const& id);
|
|
Q_SIGNAL void status_update (QString const& id, Frequency, QString const& mode, QString const& dx_call
|
|
, QString const& report, QString const& tx_mode, bool tx_enabled, bool transmitting);
|
|
Q_SIGNAL void client_closed (QString const& id);
|
|
Q_SIGNAL void decode (bool is_new, QString const& id, QTime time, qint32 snr, float delta_time
|
|
, quint32 delta_frequency, QString const& mode, QString const& message);
|
|
Q_SIGNAL void qso_logged (QString const& id, QDateTime time, QString const& dx_call, QString const& dx_grid
|
|
, Frequency dial_frequency, QString const& mode, QString const& report_sent
|
|
, QString const& report_received, QString const& tx_power, QString const& comments
|
|
, QString const& name);
|
|
Q_SIGNAL void clear_decodes (QString const& id);
|
|
|
|
// this signal is emitted when a network error occurs
|
|
Q_SIGNAL void error (QString const&) const;
|
|
|
|
private:
|
|
class impl;
|
|
pimpl<impl> m_;
|
|
};
|
|
|
|
#endif
|