mirror of
https://github.com/JS8Call-improved/JS8Call-improved
synced 2026-08-13 17:47:36 -04:00
Rename all header files with .h extension Fix function declaration in HamlibTransceiver.h that overrode member function but was not marked override Remove unused variable in Modulator.cpp Remove unused files from source tree Remove duplicate LazyFillComboBox files Reformat codebase to LLVM C++ standard
55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#ifndef MESSAGE_CLIENT_HPP__
|
|
#define MESSAGE_CLIENT_HPP__
|
|
|
|
#include "JS8_Include/pimpl_h.h"
|
|
#include "Message.h"
|
|
#include "Radio.h"
|
|
#include <QByteArray>
|
|
#include <QHostAddress>
|
|
#include <QObject>
|
|
#include <QString>
|
|
|
|
//
|
|
// MessageClient - Manage messages sent and replies received from a
|
|
// matching server (MessageServer) at the other end of
|
|
// the wire
|
|
//
|
|
//
|
|
// Each outgoing message type is a Qt slot
|
|
//
|
|
class MessageClient : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
// instantiate and initiate a host lookup on the server;
|
|
// messages will be queued until a server host lookup is complete
|
|
MessageClient(QString const &server_name, quint16 server_port,
|
|
QObject *parent = nullptr);
|
|
|
|
// query server details
|
|
QHostAddress server_host() const;
|
|
quint16 server_port() const;
|
|
|
|
// initiate a new server host lookup or is the server name is empty
|
|
// the sending of messages is disabled
|
|
Q_SLOT void set_server_name(QString const &server_name = {});
|
|
|
|
// change the server port messages are sent to
|
|
Q_SLOT void set_server_port(quint16 server_port = 0u);
|
|
|
|
// this slot is used to send an arbitrary message
|
|
Q_SLOT void send(Message const &message);
|
|
|
|
// this signal is emitted when a message is received
|
|
Q_SIGNAL void message(Message const &message);
|
|
|
|
// this signal is emitted when network errors occur or if a host
|
|
// lookup fails
|
|
Q_SIGNAL void error(QString const &) const;
|
|
|
|
private:
|
|
class impl;
|
|
pimpl<impl> m_;
|
|
};
|
|
|
|
#endif
|