Skip to content

Commit

Permalink
Remove references to sio_client.h from FreeDV include files.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmiw committed Jun 18, 2023
1 parent 616b8e4 commit 4fd0af4
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 25 deletions.
50 changes: 27 additions & 23 deletions src/reporting/FreeDVReporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
//=========================================================================

#include "FreeDVReporter.h"
#include "sio_client.h"

using namespace std::chrono_literals;

Expand All @@ -34,7 +35,8 @@ FreeDVReporter::FreeDVReporter(std::string hostname, std::string callsign, std::
, lastFrequency_(0)
, tx_(false)
{
// empty
sioClient_ = new sio::client();
assert(sioClient_ != nullptr);
}

FreeDVReporter::~FreeDVReporter()
Expand All @@ -51,6 +53,8 @@ FreeDVReporter::~FreeDVReporter()
std::this_thread::sleep_for(20ms);
}
}

delete sioClient_;
}

void FreeDVReporter::connect()
Expand All @@ -67,7 +71,7 @@ void FreeDVReporter::requestQSY(std::string sid, uint64_t frequencyHz, std::stri
qsyData->insert("message", message);
qsyData->insert("frequency", sio::int_message::create(frequencyHz));

sioClient_.socket()->emit("qsy_request", qsyPtr);
sioClient_->socket()->emit("qsy_request", qsyPtr);
}

void FreeDVReporter::inAnalogMode(bool inAnalog)
Expand All @@ -82,7 +86,7 @@ void FreeDVReporter::inAnalogMode(bool inAnalog)
std::this_thread::sleep_for(20ms);
}

sioClient_.sync_close();
sioClient_->sync_close();
}
else
{
Expand Down Expand Up @@ -117,7 +121,7 @@ void FreeDVReporter::addReceiveRecord(std::string callsign, std::string mode, ui
rxData->insert("mode", mode);
rxData->insert("snr", sio::int_message::create(snr));

sioClient_.socket()->emit("rx_report", rxDataPtr);
sioClient_->socket()->emit("rx_report", rxDataPtr);
});
fnQueueConditionVariable_.notify_one();
}
Expand Down Expand Up @@ -179,27 +183,27 @@ void FreeDVReporter::connect_()

// Reconnect listener should re-report frequency so that "unknown"
// doesn't appear.
sioClient_.set_socket_open_listener([&](std::string)
sioClient_->set_socket_open_listener([&](std::string)
{
isConnecting_ = false;

freqChangeImpl_(lastFrequency_);
transmitImpl_(mode_, tx_);
});

sioClient_.set_reconnect_listener([&](unsigned, unsigned)
sioClient_->set_reconnect_listener([&](unsigned, unsigned)
{
isConnecting_ = false;

freqChangeImpl_(lastFrequency_);
transmitImpl_(mode_, tx_);
});

sioClient_.set_fail_listener([&]() {
sioClient_->set_fail_listener([&]() {
isConnecting_ = false;
});

sioClient_.set_close_listener([&](sio::client::close_reason const&) {
sioClient_->set_close_listener([&](sio::client::close_reason const&) {
isConnecting_ = false;

if (onReporterDisconnectFn_)
Expand All @@ -209,15 +213,15 @@ void FreeDVReporter::connect_()
});

isConnecting_ = true;
sioClient_.connect(std::string("http://") + hostname_ + "/", authPtr);
sioClient_->connect(std::string("http://") + hostname_ + "/", authPtr);

if (onReporterConnectFn_)
{
onReporterConnectFn_();
}

sioClient_.socket()->off("new_connection");
sioClient_.socket()->on("new_connection", [&](sio::event& ev) {
sioClient_->socket()->off("new_connection");
sioClient_->socket()->on("new_connection", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

if (onUserConnectFn_)
Expand Down Expand Up @@ -247,8 +251,8 @@ void FreeDVReporter::connect_()
}
});

sioClient_.socket()->off("remove_connection");
sioClient_.socket()->on("remove_connection", [&](sio::event& ev) {
sioClient_->socket()->off("remove_connection");
sioClient_->socket()->on("remove_connection", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

if (onUserDisconnectFn_)
Expand Down Expand Up @@ -278,8 +282,8 @@ void FreeDVReporter::connect_()
}
});

sioClient_.socket()->off("tx_report");
sioClient_.socket()->on("tx_report", [&](sio::event& ev) {
sioClient_->socket()->off("tx_report");
sioClient_->socket()->on("tx_report", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

if (onTransmitUpdateFn_)
Expand Down Expand Up @@ -314,8 +318,8 @@ void FreeDVReporter::connect_()
}
});

sioClient_.socket()->off("rx_report");
sioClient_.socket()->on("rx_report", [&](sio::event& ev) {
sioClient_->socket()->off("rx_report");
sioClient_->socket()->on("rx_report", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

auto sid = msgParams["sid"];
Expand Down Expand Up @@ -351,8 +355,8 @@ void FreeDVReporter::connect_()
}
});

sioClient_.socket()->off("freq_change");
sioClient_.socket()->on("freq_change", [&](sio::event& ev) {
sioClient_->socket()->off("freq_change");
sioClient_->socket()->on("freq_change", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

if (onFrequencyChangeFn_)
Expand Down Expand Up @@ -382,8 +386,8 @@ void FreeDVReporter::connect_()
}
});

sioClient_.socket()->off("qsy_request");
sioClient_.socket()->on("qsy_request", [&](sio::event& ev) {
sioClient_->socket()->off("qsy_request");
sioClient_->socket()->on("qsy_request", [&](sio::event& ev) {
auto msgParams = ev.get_message()->get_map();

auto callsign = msgParams["callsign"];
Expand Down Expand Up @@ -438,7 +442,7 @@ void FreeDVReporter::freqChangeImpl_(uint64_t frequency)
sio::message::ptr freqDataPtr = sio::object_message::create();
auto freqData = (sio::object_message*)freqDataPtr.get();
freqData->insert("freq", sio::int_message::create(frequency));
sioClient_.socket()->emit("freq_change", freqDataPtr);
sioClient_->socket()->emit("freq_change", freqDataPtr);

// Save last frequency in case we need to reconnect.
lastFrequency_ = frequency;
Expand All @@ -450,7 +454,7 @@ void FreeDVReporter::transmitImpl_(std::string mode, bool tx)
auto txData = (sio::object_message*)txDataPtr.get();
txData->insert("mode", mode);
txData->insert("transmitting", sio::bool_message::create(tx));
sioClient_.socket()->emit("tx_report", txDataPtr);
sioClient_->socket()->emit("tx_report", txDataPtr);

// Save last mode and TX state in case we have to reconnect.
mode_ = mode;
Expand Down
8 changes: 6 additions & 2 deletions src/reporting/FreeDVReporter.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,13 @@
#include <string>
#include <thread>
#include <functional>
#include "sio_client.h"
#include "IReporter.h"

namespace sio
{
class client; // forward declaration
}

class FreeDVReporter : public IReporter
{
public:
Expand Down Expand Up @@ -88,7 +92,7 @@ class FreeDVReporter : public IReporter
std::thread fnQueueThread_;
bool isConnecting_;

sio::client sioClient_;
sio::client* sioClient_;
std::string hostname_;
std::string callsign_;
std::string gridSquare_;
Expand Down

0 comments on commit 4fd0af4

Please sign in to comment.