From 6a667d03eaa4a45c6ee7ae4e13da5727acc2c6c6 Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Thu, 10 Jul 2025 13:31:28 +0200 Subject: [PATCH] Account: send MachineEvent, if account can not be read from DC --- src/ATBAPP/ATBDeviceControllerPlugin.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index 2c07586..c9ff712 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -507,11 +507,25 @@ void ATBDeviceControllerPlugin::private_checkAccountData() // cannot get accountData within ~10*500ms qCritical() << "checkAccountData() failed"; - // simulate: - this->private_getAccountData(); + JSON::setPrettySerialize(false); + JSON::JsonObject json = JSON::objectBuilder() + ->set("Error", QString("check account data failed")) + ->set("AccountNumber", this->latestAccountNumber) + ->create(); + QString parameterJsonString = JSON::serialize(json); - // TODO: create and send an HealthEvent... + QString eventId = QUuid::createUuid().toString(QUuid::WithoutBraces).mid(0, 8); + ATBMachineEvent *machineEvent = new ATBMachineEvent( + eventId, // id + "DC", // device name: PTU/PRINTER/DC/... + EVENT_CLASS::STATE, // reason of event: Error/Warning/Alarm + "M01000", // eventName + 1, // state + parameterJsonString, // parameter + "ACCOUNT" // second level info + ); + QCoreApplication::postEvent(this, machineEvent); } } }