Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QStringList>
- #include "utils/text_formatter.hpp"
- #include "avm_slave_infos.hpp"
- namespace aep { namespace addon {
- const char* AvmSlaveInfos::SLAVE_INFO_DATA = "550";
- const char* AvmSlaveInfos::SLAVE_INFO_SLAVE_QUANTITY = "580";
- const char* AvmSlaveInfos::SLAVE_INFO_EXPECTED_SLAVE_QUANTITY = "581";
- const char* AvmSlaveInfos::SLAVE_INFO_ENABLED = "551";
- const char* AvmSlaveInfos::SLAVE_INFO_ERORS = "552";
- const char* AvmSlaveInfos::SLAVE_INFO_POLE = "553";
- const char* AvmSlaveInfos::SLAVE_INFO_ERORS_NUM = "554";
- const char* AvmSlaveInfos::SLAVE_INFO_DEVICE_NAME = "555"; // Tic name
- const char* AvmSlaveInfos::SLAVE_INFO_DEVICE_TYPE = "556"; // Tipo di dispositivo (letto da TICParam)
- const char* AvmSlaveInfos::SLAVE_INFO_DEVICE_SN = "557"; // Numero di serie del dispositivo slave
- const char* AvmSlaveInfos::SLAVE_INFO_PRODUCT_RELEASE = "558"; // Numero di rilascio del prodotto
- const char* AvmSlaveInfos::SLAVE_INFO_SW_MAJVER = "559"; // versione software major
- const char* AvmSlaveInfos::SLAVE_INFO_SW_MINVER = "560"; // versione software minor
- const char* AvmSlaveInfos::SLAVE_INFO_POWERUP_TIMESTAMP = "561"; // Time stamp del power up del client
- const char* AvmSlaveInfos::SLAVE_INFO_COACH_ID = "562"; // indirizzo di protocollo
- const char* AvmSlaveInfos::SLAVE_INFO_ACTIVITY_TIMESTAMP = "563"; // Ultima volta che il dispositivo e` stato visto
- const char* AvmSlaveInfos::SLAVE_INFO_SYNCHRONIZED = "564";
- AvmSlaveInfos::AvmSlaveInfos(const ETList<ETSlaveInfo>& slavesInfo, uint16 slaveQuantity, uint16 expectedSlaveQuantity):
- m_slavesInfo(slavesInfo),
- m_slaveQuantity(slaveQuantity),
- m_expectedSlaveQuantity(expectedSlaveQuantity)
- {
- }
- void AvmSlaveInfos::toMap(QVariantMap& map) const
- {
- map.clear();
- map[AvmSlaveInfos::SLAVE_INFO_SLAVE_QUANTITY] = m_slaveQuantity;
- map[AvmSlaveInfos::SLAVE_INFO_EXPECTED_SLAVE_QUANTITY] = m_expectedSlaveQuantity;
- QVariantList slavesMap;
- ETDataList::POSITION slaveInfoPos = m_slavesInfo.GetHeadPosition();
- while(slaveInfoPos)
- {
- const ETSlaveInfo* itm = m_slavesInfo.GetNext(slaveInfoPos);
- Q_ASSERT(itm != NULL);
- const QVariantMap& slaveMap = this->slaveToMap(*itm);
- slavesMap.append(slaveMap);
- }
- if(slavesMap.size() > 0)
- map[AvmSlaveInfos::SLAVE_INFO_DATA] = slavesMap;
- }
- void AvmSlaveInfos::fromMap(const QVariantMap& map)
- {
- Q_UNUSED(map);
- }
- QVariantMap AvmSlaveInfos::slaveToMap(const ETSlaveInfo& slaveInfo) const
- {
- QVariantMap slaveMap;
- slaveMap[AvmSlaveInfos::SLAVE_INFO_ENABLED] = slaveInfo.deviceInfo.enabled ? 1 : 0;
- slaveMap[AvmSlaveInfos::SLAVE_INFO_POLE] = slaveInfo.poleID;
- slaveMap[AvmSlaveInfos::SLAVE_INFO_DEVICE_NAME] = QString::fromUtf8(slaveInfo.deviceInfo.deviceName.GetString()); // Tic name
- slaveMap[AvmSlaveInfos::SLAVE_INFO_DEVICE_TYPE] = slaveInfo.deviceInfo.deviceType; // Tipo di dispositivo (letto da TICParam)
- slaveMap[AvmSlaveInfos::SLAVE_INFO_DEVICE_SN] = uint(slaveInfo.deviceInfo.deviceSN); // Numero di serie del dispositivo slave
- slaveMap[AvmSlaveInfos::SLAVE_INFO_PRODUCT_RELEASE] = QString::fromUtf8(slaveInfo.deviceInfo.productRelease.GetString()); // Numero di rilascio del prodotto
- slaveMap[AvmSlaveInfos::SLAVE_INFO_SW_MAJVER] = slaveInfo.deviceInfo.swMajVer; // versione software major
- slaveMap[AvmSlaveInfos::SLAVE_INFO_SW_MINVER] = slaveInfo.deviceInfo.swMinVer; // versione software minor
- slaveMap[AvmSlaveInfos::SLAVE_INFO_POWERUP_TIMESTAMP] = uint(slaveInfo.deviceInfo.powerUpTimeStamp); // Time stamp del power up del client
- slaveMap[AvmSlaveInfos::SLAVE_INFO_COACH_ID] = slaveInfo.coachID; // indirizzo di protocollo
- slaveMap[AvmSlaveInfos::SLAVE_INFO_ACTIVITY_TIMESTAMP] = uint(slaveInfo.activityTimestamp); // Ultima volta che il dispositivo e` stato visto
- slaveMap[AvmSlaveInfos::SLAVE_INFO_SYNCHRONIZED] = TextFormatter::toString(slaveInfo.synchronized);
- QStringList errorList;
- uint16_t* errIdx;
- ETString* errDesc;
- const ETKeyValueList<uint16,ETString>& errors = slaveInfo.deviceInfo.activeErrors;
- ETDataList::POSITION errorPos = errors.GetHeadPosition();
- while(errors.GetNext(errorPos, &errIdx, &errDesc))
- errorList.append(QString::number(*errIdx));
- if(errorList.size() > 0)
- slaveMap[AvmSlaveInfos::SLAVE_INFO_ERORS] = errorList;
- slaveMap[AvmSlaveInfos::SLAVE_INFO_ERORS_NUM] = errorList.size();
- return slaveMap;
- }
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement