mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-09-20 07:58:39 +02:00
Heartbeat: Include DeviceStatus
This commit is contained in:
@@ -20,9 +20,16 @@ Heartbeat::~Heartbeat() {
|
|||||||
void Heartbeat::run() {
|
void Heartbeat::run() {
|
||||||
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
|
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
|
||||||
|
|
||||||
auto filter = std::make_shared<MessageFilter>(Message::Type::ResetStatus);
|
auto filter = std::make_shared<MessageFilter>();
|
||||||
|
filter->includeInternalInAny = true;
|
||||||
bool status = false;
|
bool status = false;
|
||||||
auto cbHandle = device.com->addMessageCallback(std::make_shared<MessageCallback>(filter, [&](std::shared_ptr<Message>) {
|
auto cbHandle = device.com->addMessageCallback(std::make_shared<MessageCallback>(filter, [&](std::shared_ptr<Message> msg) {
|
||||||
|
// TODO: remove DeviceStatus after 2027-08-17, as ResetStatus should be widely supported
|
||||||
|
const bool isHeartbeat =
|
||||||
|
(msg->type == Message::Type::ResetStatus) ||
|
||||||
|
(msg->type == Message::Type::RawMessage && std::static_pointer_cast<RawMessage>(msg)->network == Network::NetID::DeviceStatus);
|
||||||
|
if(!isHeartbeat)
|
||||||
|
return;
|
||||||
{
|
{
|
||||||
std::lock_guard lk(mutex);
|
std::lock_guard lk(mutex);
|
||||||
status = true;
|
status = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user