Added UDP replies to halt Tx and set free text message

Also added Tx status to status UDP message.

Added   the    above   features   to   the    reference   UDP   server
message_aggregator.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.5@5332 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville
2015-05-06 20:22:25 +00:00
parent 3428120c79
commit 5223acdb84
10 changed files with 160 additions and 11 deletions
+33 -2
View File
@@ -142,11 +142,13 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s
QByteArray dx_call;
QByteArray report;
QByteArray tx_mode;
in >> f >> mode >> dx_call >> report >> tx_mode;
bool transmitting;
in >> f >> mode >> dx_call >> report >> tx_mode >> transmitting;
if (check_status (in))
{
Q_EMIT self_->status_update (id, f, QString::fromUtf8 (mode), QString::fromUtf8 (dx_call)
, QString::fromUtf8 (report), QString::fromUtf8 (tx_mode));
, QString::fromUtf8 (report), QString::fromUtf8 (tx_mode)
, transmitting);
}
}
break;
@@ -313,3 +315,32 @@ void MessageServer::replay (QString const& id)
}
}
}
void MessageServer::halt_tx (QString const& id)
{
auto iter = m_->clients_.find (id);
if (iter != std::end (m_->clients_))
{
QByteArray message;
NetworkMessage::Builder out {&message, NetworkMessage::HaltTx, id};
if (m_->check_status (out))
{
m_->writeDatagram (message, iter.value ().sender_address_, (*iter).sender_port_);
}
}
}
void MessageServer::free_text (QString const& id, QString const& text)
{
auto iter = m_->clients_.find (id);
if (iter != std::end (m_->clients_))
{
QByteArray message;
NetworkMessage::Builder out {&message, NetworkMessage::FreeText, id};
out << text.toUtf8 ();
if (m_->check_status (out))
{
m_->writeDatagram (message, iter.value ().sender_address_, (*iter).sender_port_);
}
}
}