Started ISMASClient providing the data to be sent to ISMAS.
It does not send to ISMAS itself.
This commit is contained in:
		@@ -0,0 +1,212 @@
 | 
				
			|||||||
 | 
					#include "ismas/ismas_client.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <cstring>
 | 
				
			||||||
 | 
					#include <cstdio>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
 | 
					# $1: EVENT: U0001 update finished: 100%
 | 
				
			||||||
 | 
					#            U0002 reset TRG
 | 
				
			||||||
 | 
					#            U0003 error
 | 
				
			||||||
 | 
					#            U0010 for update process
 | 
				
			||||||
 | 
					# $2: PERCENT : "only for ISMAS: 0-100%",
 | 
				
			||||||
 | 
					# $3: RESULTCODE : "only for ISMAS",
 | 
				
			||||||
 | 
					#   0: Success
 | 
				
			||||||
 | 
					#   1: no Update nessesary
 | 
				
			||||||
 | 
					#   2: Backup failed
 | 
				
			||||||
 | 
					#   3: Package error/ Wrong package
 | 
				
			||||||
 | 
					#   4: Install Error
 | 
				
			||||||
 | 
					# $4: STEP : "running step (only for us): update_psa...",
 | 
				
			||||||
 | 
					# $5: STEP_RESULT : "error and result text",
 | 
				
			||||||
 | 
					# $6: VERSION : "opkg and conf info; what will be updated"
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QDateTime>
 | 
				
			||||||
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString IsmasClient::updateNewsToIsmas(char const *event,
 | 
				
			||||||
 | 
					                                       int percent,
 | 
				
			||||||
 | 
					                                       int resultCode,
 | 
				
			||||||
 | 
					                                       char const *step,
 | 
				
			||||||
 | 
					                                       char const *step_result,
 | 
				
			||||||
 | 
					                                       char const *version) {
 | 
				
			||||||
 | 
					    char buf[1024];
 | 
				
			||||||
 | 
					    memset(buf, 0, sizeof(buf));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString const ts = QDateTime::currentDateTime().toString(Qt::ISODateWithMs);
 | 
				
			||||||
 | 
					    snprintf(buf, sizeof(buf)-1,
 | 
				
			||||||
 | 
					        "{"
 | 
				
			||||||
 | 
					            "\"REASON\":\"SW_UP\","
 | 
				
			||||||
 | 
					            "\"TIMESTAMP\":\"%s\","
 | 
				
			||||||
 | 
					            "\"EVENT_ID\":\"0\","
 | 
				
			||||||
 | 
					            "\"EVENT\":\"%s\","
 | 
				
			||||||
 | 
					            "\"EVENTSTATE\":1,"
 | 
				
			||||||
 | 
					            "\"PARAMETER\": {"
 | 
				
			||||||
 | 
					                "\"PERCENT\" : %d,"
 | 
				
			||||||
 | 
					                "\"RESULTCODE\" : %d,"
 | 
				
			||||||
 | 
					                "\"STEP\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"STEP_RESULT\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					            "}"
 | 
				
			||||||
 | 
					        "}", ts.toStdString().c_str(), event, percent, resultCode,
 | 
				
			||||||
 | 
					             step, step_result, version);
 | 
				
			||||||
 | 
					    return buf;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString IsmasClient::updateOfPSASendVersion(QString const &tariffVersion,
 | 
				
			||||||
 | 
					                                            QString const &tariffProject,
 | 
				
			||||||
 | 
					                                            int tariffZone,
 | 
				
			||||||
 | 
					                                            QString const &tariffInfo,
 | 
				
			||||||
 | 
					                                            QString const &tariffLoadTime,
 | 
				
			||||||
 | 
					                                            QString const &linuxVersion,
 | 
				
			||||||
 | 
					                                            QString const &cpuSerial,
 | 
				
			||||||
 | 
					                                            QString const &deviceControllerVersion,
 | 
				
			||||||
 | 
					                                            QString const &deviceControllerGitBlob,
 | 
				
			||||||
 | 
					                                            QString const &deviceControllerGitLastCommit,
 | 
				
			||||||
 | 
					                                            QString const &raucVersion,
 | 
				
			||||||
 | 
					                                            QString const &opkgVersion,
 | 
				
			||||||
 | 
					                                            QString const &atbQTVersion,
 | 
				
			||||||
 | 
					                                            QString const &atbQTGitDescribe,
 | 
				
			||||||
 | 
					                                            QString const &deviceControllerPluginVersion,
 | 
				
			||||||
 | 
					                                            QString const &ingenicoISelfCCPluginVersion,
 | 
				
			||||||
 | 
					                                            QString const &mobilisisCalculatePricePluginVersion,
 | 
				
			||||||
 | 
					                                            QString const &mobilisisCalculatePriceConfigUiVersion,
 | 
				
			||||||
 | 
					                                            QString const &prmCalculatePricePluginVersion,
 | 
				
			||||||
 | 
					                                            QString const &prmCalculatePriceConfigUiPluginVersion,
 | 
				
			||||||
 | 
					                                            QString const &tcpZVTPluginVersion) {
 | 
				
			||||||
 | 
					    char buf[4096];
 | 
				
			||||||
 | 
					    memset(buf, 0, sizeof(buf));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString const ts = QDateTime::currentDateTime().toString(Qt::ISODateWithMs);
 | 
				
			||||||
 | 
					    QString sendVersionHash;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // local data="#M=APISM#C=CMD_SENDVERSION#J=
 | 
				
			||||||
 | 
					    snprintf(buf, sizeof(buf)-1,
 | 
				
			||||||
 | 
					        "{"
 | 
				
			||||||
 | 
					            "\"VERSION_INFO\" : {"
 | 
				
			||||||
 | 
					                "\"CREATED\":\"%s\","
 | 
				
			||||||
 | 
					                "\"HASH\":\"%s\""
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"TARIFF\" : {"
 | 
				
			||||||
 | 
					                "\"VERSION\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"PROJECT\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"ZONE\" : %d,"
 | 
				
			||||||
 | 
					                "\"INFO\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"LOADED\" : \"%s\""
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"HARDWARE\" : {"
 | 
				
			||||||
 | 
					                "\"DEVICES\" : [\"PTU5\", \"DC\", \"PRINTER\", \"BNA\"]"
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"OS\" : {"
 | 
				
			||||||
 | 
					                "\"Linux\": \"%s\""
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"CONFIG\" : {"
 | 
				
			||||||
 | 
					                "\"PTU5\" : {"
 | 
				
			||||||
 | 
					                    "\"CPU_SERIAL\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"DC\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\","
 | 
				
			||||||
 | 
					                    "\"GITBLOB\" : \"%s\","
 | 
				
			||||||
 | 
					                    "\"GITLASTCOMMIT\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"PRINTER\" : {"
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"BNA\" : {"
 | 
				
			||||||
 | 
					                "}"
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"SOFTWARE\": {"
 | 
				
			||||||
 | 
					                "\"RAUC\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"OPKG\" : \"%s\","
 | 
				
			||||||
 | 
					                "\"ATBQT\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\","
 | 
				
			||||||
 | 
					                    "\"GIT_DESCRIBE\" : \"%s\""
 | 
				
			||||||
 | 
					                "}"
 | 
				
			||||||
 | 
					            "},"
 | 
				
			||||||
 | 
					            "\"PLUGINS\" : {"
 | 
				
			||||||
 | 
					                "\"libATBDeviceControllerPlugin.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libIngenicoISelf_CCPlugin.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libMOBILISIS_CalculatePricePlugin.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libMOBILISIS_CalculatePricePlugin_ConfigUi.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libPRM_CalculatePricePlugin.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libPRM_CalculatePricePlugin_ConfigUi.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "},"
 | 
				
			||||||
 | 
					                "\"libTCP_ZVT_CCPlugin.so\" : {"
 | 
				
			||||||
 | 
					                    "\"VERSION\" : \"%s\""
 | 
				
			||||||
 | 
					                "}"
 | 
				
			||||||
 | 
					            "}"
 | 
				
			||||||
 | 
					        "}",
 | 
				
			||||||
 | 
					        ts.toStdString().c_str(),
 | 
				
			||||||
 | 
					        sendVersionHash.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        tariffVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        tariffProject.toStdString().c_str(),
 | 
				
			||||||
 | 
					        tariffZone,
 | 
				
			||||||
 | 
					        tariffInfo.toStdString().c_str(),
 | 
				
			||||||
 | 
					        tariffLoadTime.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        linuxVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cpuSerial.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        deviceControllerVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        deviceControllerGitBlob.toStdString().c_str(),
 | 
				
			||||||
 | 
					        deviceControllerGitLastCommit.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        raucVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        opkgVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        atbQTVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        atbQTGitDescribe.toStdString().c_str(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        deviceControllerPluginVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        ingenicoISelfCCPluginVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        mobilisisCalculatePricePluginVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        mobilisisCalculatePriceConfigUiVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        prmCalculatePricePluginVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        prmCalculatePriceConfigUiPluginVersion.toStdString().c_str(),
 | 
				
			||||||
 | 
					        tcpZVTPluginVersion.toStdString().c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return buf;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString IsmasClient::updateOfPSAActivated() {
 | 
				
			||||||
 | 
					    return updateNewsToIsmas("U0010",
 | 
				
			||||||
 | 
					                             1,
 | 
				
			||||||
 | 
					                             0,
 | 
				
			||||||
 | 
					                             "activated",
 | 
				
			||||||
 | 
					                             "detected WAIT state",
 | 
				
			||||||
 | 
					                             "1.0.0");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString IsmasClient::updateOfPSASucceeded() {
 | 
				
			||||||
 | 
					    return updateNewsToIsmas("U0001",
 | 
				
			||||||
 | 
					                             100,
 | 
				
			||||||
 | 
					                             0,
 | 
				
			||||||
 | 
					                             "update_succeeded",
 | 
				
			||||||
 | 
					                             "",
 | 
				
			||||||
 | 
					                             "1.0.0");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString IsmasClient::setUpdatesAvailable() {
 | 
				
			||||||
 | 
					    return updateNewsToIsmas("U0099",
 | 
				
			||||||
 | 
					                             10,
 | 
				
			||||||
 | 
					                             0,
 | 
				
			||||||
 | 
					                             "set_updates_available",
 | 
				
			||||||
 | 
					                             "",
 | 
				
			||||||
 | 
					                             "");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool checkForAvailableUpdates();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					#ifndef ISMAS_CLIENT_H_INCLUDED
 | 
				
			||||||
 | 
					#define ISMAS_CLIENT_H_INCLUDED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QObject>
 | 
				
			||||||
 | 
					#include <QString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class IsmasClient : public QObject {
 | 
				
			||||||
 | 
					    Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    QString updateNewsToIsmas(char const *event,
 | 
				
			||||||
 | 
					                              int percent,
 | 
				
			||||||
 | 
					                              int resultCode,
 | 
				
			||||||
 | 
					                              char const *step,
 | 
				
			||||||
 | 
					                              char const *step_result,
 | 
				
			||||||
 | 
					                              char const *version);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString updateOfPSAActivated();
 | 
				
			||||||
 | 
					    QString updateOfPSASucceeded();
 | 
				
			||||||
 | 
					    QString updateOfPSASendVersion(QString const &tariffVersion,
 | 
				
			||||||
 | 
					                                   QString const &tariffProject,
 | 
				
			||||||
 | 
					                                   int tariffZone,
 | 
				
			||||||
 | 
					                                   QString const &tariffInfo,
 | 
				
			||||||
 | 
					                                   QString const &tariffLoadTime,
 | 
				
			||||||
 | 
					                                   QString const &linuxVersion,
 | 
				
			||||||
 | 
					                                   QString const &cpuSerial,
 | 
				
			||||||
 | 
					                                   QString const &deviceControllerVersion,
 | 
				
			||||||
 | 
					                                   QString const &deviceControllerGitBlob,
 | 
				
			||||||
 | 
					                                   QString const &deviceControllerGitLastCommit,
 | 
				
			||||||
 | 
					                                   QString const &raucVersion,
 | 
				
			||||||
 | 
					                                   QString const &opkgVersion,
 | 
				
			||||||
 | 
					                                   QString const &atbQTVersion,
 | 
				
			||||||
 | 
					                                   QString const &atbQTGitDescribe,
 | 
				
			||||||
 | 
					                                   QString const &deviceControllerPluginVersion,
 | 
				
			||||||
 | 
					                                   QString const &ingenicoISelfCCPluginVersion,
 | 
				
			||||||
 | 
					                                   QString const &mobilisisCalculatePricePluginVersion,
 | 
				
			||||||
 | 
					                                   QString const &mobilisisCalculatePriceConfigUiVersion,
 | 
				
			||||||
 | 
					                                   QString const &prmCalculatePricePluginVersion,
 | 
				
			||||||
 | 
					                                   QString const &prmCalculatePriceConfigUiPluginVersion,
 | 
				
			||||||
 | 
					                                   QString const &tcpZVTPluginVersion);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString setUpdatesAvailable();
 | 
				
			||||||
 | 
					    bool checkForAvailableUpdates();
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // ISMAS_CLIENT_H_INCLUDED
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user