Message: Create a type system so non-frame data can be represented

This change breaks existing code, hence the version bump, but it's
going to be much less error prone going forward.
This commit is contained in:
Paul Hollinsky
2021-05-22 01:58:36 -04:00
parent 21e93d1f73
commit 21bc4eeff2
48 changed files with 853 additions and 527 deletions
@@ -77,11 +77,12 @@ protected:
txNetworks.insert(txNetworks.end(), supportedTxNetworks.begin(), supportedTxNetworks.end());
}
void handleDeviceStatus(const std::shared_ptr<Message>& message) override {
if(!message || message->data.size() < sizeof(radgigalog_status_t))
void handleDeviceStatus(const std::shared_ptr<RawMessage>& message) override {
const auto& data = message->data;
if(data.size() < sizeof(radgigalog_status_t))
return;
std::lock_guard<std::mutex> lk(ioMutex);
const radgigalog_status_t* status = reinterpret_cast<const radgigalog_status_t*>(message->data.data());
const radgigalog_status_t* status = reinterpret_cast<const radgigalog_status_t*>(data.data());
ethActivationStatus = status->ethernetActivationLineEnabled;
}
};