Adds immediate migration results in progress
This commit is contained in:
2102 files changed
+17482
-15071
No files matched your search
@@ -12,10 +12,9 @@
|
||||
|
||||
namespace MeteoDataManagement
|
||||
{
|
||||
DdsHandler::DdsHandler(int domainId)
|
||||
: m_ddsConnector(std::make_shared<DDSConnector::DdsConnector>(domainId, IDL::PartitionType::AllExercises))
|
||||
{
|
||||
DEBUG_LOG() << "DdsHandler(" << domainId << ") for partition: " << m_ddsConnector->getDefaultPartition();
|
||||
DdsHandler::DdsHandler(int domainId) : m_ddsConnector(std::make_shared<DDSConnector::DdsConnector>(domainId, IDL::PartitionType::AllExercises)),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
DEBUG_LOG(m_logger) << "DdsHandler(" << domainId << ") for partition: " << m_ddsConnector->getDefaultPartition();
|
||||
} // end of ctor()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -31,11 +30,11 @@ DdsHandler::~DdsHandler()
|
||||
|
||||
bool DdsHandler::init(const QStringList &qosFileList)
|
||||
{
|
||||
INFO_LOG() << "--- Start MeteoDataManagement DDSHandler.";
|
||||
INFO_LOG(m_logger) << "--- Start MeteoDataManagement DDSHandler.";
|
||||
|
||||
if (!m_ddsConnector->init(qosFileList))
|
||||
{
|
||||
ERROR_LOG() << "Error initializing dds connections - aborting";
|
||||
ERROR_LOG(m_logger) << "Error initializing dds connections - aborting";
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -52,12 +51,12 @@ bool DdsHandler::init(const QStringList &qosFileList)
|
||||
// DTS
|
||||
m_ddsDts = MeteoDataManagement::Interface::Dts::create(m_ddsConnector);
|
||||
bool bRet = m_ddsDts->enableAll();
|
||||
INFO_LOG() << "Dts initialised";
|
||||
INFO_LOG(m_logger) << "Dts initialised";
|
||||
|
||||
// FTS
|
||||
m_ddsFts = MeteoDataManagement::Interface::Fts::create(m_ddsConnector);
|
||||
bRet &= m_ddsFts->enableAll();
|
||||
INFO_LOG() << "Fts initialised";
|
||||
INFO_LOG(m_logger) << "Fts initialised";
|
||||
|
||||
|
||||
return bRet;
|
||||
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
qint64 currentPartitionTime() const;
|
||||
|
||||
private:
|
||||
NGL::INGLLogger &m_logger;
|
||||
std::shared_ptr<DDSConnector::DdsConnector> m_ddsConnector;
|
||||
std::shared_ptr<Core::Interface::Dtc> m_dtcCore;
|
||||
std::shared_ptr<Core::Pacemaker> m_pacemaker;
|
||||
|
||||
+9
-10
@@ -16,30 +16,29 @@ using namespace MeteoDataManagement;
|
||||
|
||||
HandlerInfrastructureData::HandlerInfrastructureData(const std::shared_ptr<DdsHandler> &ddsHandler,
|
||||
const std::shared_ptr<HandlerMeteoDataUnits> &handlerMeteoDataUnits,
|
||||
QObject *parent)
|
||||
: QObject(parent)
|
||||
QObject *parent) : QObject(parent)
|
||||
, m_ddsHandler(ddsHandler)
|
||||
, m_handlerMeteoDataUnits(handlerMeteoDataUnits)
|
||||
{
|
||||
, m_handlerMeteoDataUnits(handlerMeteoDataUnits),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
} // end of ctor()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
bool HandlerInfrastructureData::init()
|
||||
{
|
||||
INFO_LOG() << "start init() DTC InfrastructureManagement ";
|
||||
INFO_LOG(m_logger) << "start init() DTC InfrastructureManagement ";
|
||||
|
||||
// DTC InfrastructureManagement
|
||||
m_dtc = InfrastructureManagement::Interface::Dtc::create(m_ddsHandler->dds());
|
||||
if (m_dtc == nullptr)
|
||||
{
|
||||
ERROR_LOG() << "Could not create DTC InfrastructureManagement";
|
||||
ERROR_LOG(m_logger) << "Could not create DTC InfrastructureManagement";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!m_dtc->enableMountingPointAsset() ||
|
||||
!m_dtc->enableMainStructureElement())
|
||||
{
|
||||
ERROR_LOG() << "init() DTC InfrastructureManagement failed";
|
||||
ERROR_LOG(m_logger) << "init() DTC InfrastructureManagement failed";
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -49,7 +48,7 @@ bool HandlerInfrastructureData::init()
|
||||
m_dtcInstrumentationAssetCF.reset(m_ddsHandler->dds()->createDTC<DTC::InstrumentationAssetCFImpl>(filter));
|
||||
if (!m_dtcInstrumentationAssetCF)
|
||||
{
|
||||
ERROR_LOG() << "init() DTC InfrastructureManagement failed";
|
||||
ERROR_LOG(m_logger) << "init() DTC InfrastructureManagement failed";
|
||||
return false;
|
||||
}
|
||||
m_dtcInstrumentationAssetCF->setSubscriberCallback([this](const InfrastructureManagement::InstrumentationAsset &data, DataModification modType)
|
||||
@@ -82,7 +81,7 @@ void HandlerInfrastructureData::onAssetChanged(const InfrastructureManagement::I
|
||||
if (data.mountingPointTypeId() != InfrastructureManagement::MountingPointType::MeteoDataUnit)
|
||||
return;
|
||||
|
||||
INFO_LOG() << "onAssetChanged()"
|
||||
INFO_LOG(m_logger) << "onAssetChanged()"
|
||||
<< " assetId: " << data.id()
|
||||
<< " mountingPointTypeId: " << data.mountingPointTypeId()
|
||||
<< " name: " << data.name();
|
||||
@@ -136,7 +135,7 @@ Core::GeoPosition HandlerInfrastructureData::getStructureElementPosition(int ass
|
||||
const int seId = m_mountingPointAssetsMap.value(assetId);
|
||||
if (seId <= 0)
|
||||
{
|
||||
WARNING_LOG() << "Could not find mountingPointAsset for asset id " << assetId;
|
||||
WARNING_LOG(m_logger) << "Could not find mountingPointAsset for asset id " << assetId;
|
||||
return Core::GeoPosition();
|
||||
}
|
||||
// Go through all MainStructureElements and search structureElementId
|
||||
|
||||
+2
@@ -57,6 +57,8 @@ private Q_SLOTS:
|
||||
void onMainStructureElementChanged(const InfrastructureManagement::MainStructureElement &data, DataModification modType = DataModification::eAdded);
|
||||
|
||||
private: // attributes
|
||||
|
||||
NGL::INGLLogger &m_logger;
|
||||
std::shared_ptr<DdsHandler> m_ddsHandler; ///< Pointer to MDM DDS handler
|
||||
std::shared_ptr<HandlerMeteoDataUnits> m_handlerMeteoDataUnits; ///< Pointer to meteo data units handler
|
||||
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_dtc; ///< Pointer to DTC InfrastructureManagement interface object
|
||||
|
||||
+7
-8
@@ -19,12 +19,11 @@ using namespace MeteoDataManagement;
|
||||
|
||||
HandlerMeteoDataUnit::HandlerMeteoDataUnit(MainHandler *mainHandler,
|
||||
const InfrastructureManagement::InstrumentationAsset &asset,
|
||||
QObject *parent)
|
||||
: QObject(parent)
|
||||
QObject *parent) : QObject(parent)
|
||||
, m_mainHandler(mainHandler)
|
||||
, m_asset(asset)
|
||||
, m_tcpWS(nullptr)
|
||||
{
|
||||
, m_tcpWS(nullptr),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
init();
|
||||
} // end of ctor()
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -43,7 +42,7 @@ bool HandlerMeteoDataUnit::init()
|
||||
if (jError.error != QJsonParseError::NoError ||
|
||||
!doc.isObject())
|
||||
{
|
||||
ERROR_LOG() << "Can not initialize meteo data unit - properties are not parsable: "
|
||||
ERROR_LOG(m_logger) << "Can not initialize meteo data unit - properties are not parsable: "
|
||||
<< jError.errorString() << " - '" << m_asset.properties() << "'";
|
||||
return false;
|
||||
}
|
||||
@@ -52,7 +51,7 @@ bool HandlerMeteoDataUnit::init()
|
||||
quint16 windPort = obj[QStringLiteral("windPort")].toInt();
|
||||
if (climatePort == 0 || windPort == 0)
|
||||
{
|
||||
ERROR_LOG() << "Can not parse climate and/or wind port from properties: '" <<
|
||||
ERROR_LOG(m_logger) << "Can not parse climate and/or wind port from properties: '" <<
|
||||
m_asset.properties() << "'";
|
||||
return false;
|
||||
}
|
||||
@@ -135,10 +134,10 @@ void HandlerMeteoDataUnit::onPublishData()
|
||||
ddsData = m_newMeteoData;
|
||||
ddsData.timeStamp(m_mainHandler->dds()->currentPartitionTime());
|
||||
|
||||
INFO_LOG() << "Publish dynamic MeteoData to dds: " << ddsData;
|
||||
INFO_LOG(m_logger) << "Publish dynamic MeteoData to dds: " << ddsData;
|
||||
|
||||
if (!m_mainHandler->dds()->dts()->publish(ddsData))
|
||||
ERROR_LOG() << "Error publishing MdmMeteoData to dds";
|
||||
ERROR_LOG(m_logger) << "Error publishing MdmMeteoData to dds";
|
||||
} // end of onPublishData()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
+2
@@ -32,6 +32,7 @@ public:
|
||||
~HandlerMeteoDataUnit();
|
||||
|
||||
private:
|
||||
NGL::INGLLogger &m_logger;
|
||||
bool init();
|
||||
|
||||
protected Q_SLOTS:
|
||||
@@ -53,6 +54,7 @@ protected Q_SLOTS:
|
||||
|
||||
|
||||
private:
|
||||
NGL::INGLLogger &m_logger;
|
||||
MainHandler *m_mainHandler; ///< Pointer to MDM DDS handler
|
||||
InfrastructureManagement::InstrumentationAsset m_asset; ///< meteo unit data asset
|
||||
|
||||
|
||||
+5
-6
@@ -14,9 +14,8 @@
|
||||
namespace MeteoDataManagement
|
||||
{
|
||||
|
||||
HandlerMeteoDataUnits::HandlerMeteoDataUnits(MainHandler *mainHandler)
|
||||
: m_mainHandler(mainHandler)
|
||||
{
|
||||
HandlerMeteoDataUnits::HandlerMeteoDataUnits(MainHandler *mainHandler) : m_mainHandler(mainHandler),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
} // end of ctor()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -28,7 +27,7 @@ HandlerMeteoDataUnits::~HandlerMeteoDataUnits()
|
||||
|
||||
bool HandlerMeteoDataUnits::init()
|
||||
{
|
||||
INFO_LOG() << "HandlerMeteoDataUnits::init().... Initialisation of MDU's will be started from ISM directly. ";
|
||||
INFO_LOG(m_logger) << "HandlerMeteoDataUnits::init().... Initialisation of MDU's will be started from ISM directly. ";
|
||||
|
||||
return true;
|
||||
} // end of init()
|
||||
@@ -36,7 +35,7 @@ bool HandlerMeteoDataUnits::init()
|
||||
|
||||
bool HandlerMeteoDataUnits::addMeteoDataUnit(const InfrastructureManagement::InstrumentationAsset &asset)
|
||||
{
|
||||
INFO_LOG() << "addMeteoDataUnit: " << asset;
|
||||
INFO_LOG(m_logger) << "addMeteoDataUnit: " << asset;
|
||||
removeMeteoDataUnit(asset); // just to be sure
|
||||
|
||||
HandlerMeteoDataUnit *hMDU = new HandlerMeteoDataUnit(m_mainHandler, asset);
|
||||
@@ -48,7 +47,7 @@ bool HandlerMeteoDataUnits::addMeteoDataUnit(const InfrastructureManagement::Ins
|
||||
|
||||
bool HandlerMeteoDataUnits::removeMeteoDataUnit(const InfrastructureManagement::InstrumentationAsset &asset)
|
||||
{
|
||||
INFO_LOG() << "removeMeteoDataUnit: " << asset;
|
||||
INFO_LOG(m_logger) << "removeMeteoDataUnit: " << asset;
|
||||
auto it = m_handlerMeteoDataUnitsMap.find(asset.id());
|
||||
if (it == m_handlerMeteoDataUnitsMap.end())
|
||||
return false;
|
||||
|
||||
+1
@@ -28,6 +28,7 @@ public:
|
||||
bool removeMeteoDataUnit(const InfrastructureManagement::InstrumentationAsset &asset);
|
||||
|
||||
private:
|
||||
NGL::INGLLogger &m_logger;
|
||||
QMap <int, HandlerMeteoDataUnit *> m_handlerMeteoDataUnitsMap; ///< Hold all meteo data unit handler
|
||||
MainHandler *m_mainHandler; ///< Pointer to DDS handler
|
||||
|
||||
|
||||
+11
-11
@@ -21,23 +21,23 @@ HandlerStaticMeteoData::HandlerStaticMeteoData(const std::shared_ptr<DdsHandler>
|
||||
|
||||
bool HandlerStaticMeteoData::init()
|
||||
{
|
||||
INFO_LOG() << "Start HandlerStaticMeteoData.";
|
||||
INFO_LOG(m_logger) << "Start HandlerStaticMeteoData.";
|
||||
|
||||
// read data from db-table 'mdm_static_meteo_data'
|
||||
QVector<Database::MdmStaticMeteoData> dataVec;
|
||||
if (!m_db->select(dataVec))
|
||||
{
|
||||
ERROR_LOG() << "Error reading data from database 'mdm_static_meteo_data'!";
|
||||
ERROR_LOG(m_logger) << "Error reading data from database 'mdm_static_meteo_data'!";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (dataVec.isEmpty())
|
||||
{
|
||||
WARNING_LOG() << "DB table 'mdm_static_meteo_data' is empty! Try to create default entry.";
|
||||
WARNING_LOG(m_logger) << "DB table 'mdm_static_meteo_data' is empty! Try to create default entry.";
|
||||
|
||||
if (!insertDefaultStaticMeteoDataEntry())
|
||||
{
|
||||
ERROR_LOG() << "Insert DB table 'mdm_static_meteo_data' failed! No static meteo data may be handled!";
|
||||
ERROR_LOG(m_logger) << "Insert DB table 'mdm_static_meteo_data' failed! No static meteo data may be handled!";
|
||||
return false; // Damit werden alle moeglicherweise erreichbaren MDU's nicht bearbeitet,
|
||||
// da die Initialisierung des Service im 'SCM' mit Error beendet wird.
|
||||
}
|
||||
@@ -47,7 +47,7 @@ bool HandlerStaticMeteoData::init()
|
||||
|
||||
m_dbStaticMeteoData.timeStamp = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
INFO_LOG() << "Insert into DB table 'mdm_static_meteo_data' successfully. id: "
|
||||
INFO_LOG(m_logger) << "Insert into DB table 'mdm_static_meteo_data' successfully. id: "
|
||||
<< m_dbStaticMeteoData.id;
|
||||
|
||||
onPublishData();
|
||||
@@ -56,7 +56,7 @@ bool HandlerStaticMeteoData::init()
|
||||
|
||||
if (dataVec.size() > 1)
|
||||
{
|
||||
WARNING_LOG() << "Invalid number of table entries for 'mdm_static_meteo_data' size:"
|
||||
WARNING_LOG(m_logger) << "Invalid number of table entries for 'mdm_static_meteo_data' size:"
|
||||
<< dataVec.size()
|
||||
<< " The first entry will be used only!";
|
||||
}
|
||||
@@ -70,7 +70,7 @@ bool HandlerStaticMeteoData::init()
|
||||
void HandlerStaticMeteoData::onStaticMeteoDataModifyRequest(const rti::core::SampleIdentity &cookie,
|
||||
const StaticMeteoDataModifyRequest &request)
|
||||
{
|
||||
INFO_LOG() << "onStaticMeteoDataModifyRequest: " << request;
|
||||
INFO_LOG(m_logger) << "onStaticMeteoDataModifyRequest: " << request;
|
||||
|
||||
Core::FunctionReplyObject rep(request.id());
|
||||
|
||||
@@ -93,7 +93,7 @@ bool HandlerStaticMeteoData::updateStaticMeteoDatainDB(const StaticMeteoDataModi
|
||||
{
|
||||
if (request.id() != m_dbStaticMeteoData.id)
|
||||
{
|
||||
WARNING_LOG() << "Invalid id for db-table 'mdm_static_meteo_data'"
|
||||
WARNING_LOG(m_logger) << "Invalid id for db-table 'mdm_static_meteo_data'"
|
||||
<< m_dbStaticMeteoData.id
|
||||
<< " correct id: " << m_dbStaticMeteoData.id;
|
||||
return false;
|
||||
@@ -119,10 +119,10 @@ void HandlerStaticMeteoData::onPublishData()
|
||||
ddsData.note(note);
|
||||
ddsData.weatherStationId(ddsData.id()); // MDUid == dbId
|
||||
|
||||
INFO_LOG() << "Publish static MeteoData to dds: " << ddsData;
|
||||
INFO_LOG(m_logger) << "Publish static MeteoData to dds: " << ddsData;
|
||||
|
||||
if (!m_ddsHandler->dts()->publish(ddsData))
|
||||
ERROR_LOG() << "Error publishing static MdmMeteoData to dds";
|
||||
ERROR_LOG(m_logger) << "Error publishing static MdmMeteoData to dds";
|
||||
|
||||
} // end of onPublishData()
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -141,7 +141,7 @@ bool HandlerStaticMeteoData::insertDefaultStaticMeteoDataEntry()
|
||||
|
||||
if (!m_db->insert(dbData))
|
||||
{
|
||||
ERROR_LOG() << "insertDefaultStaticMeteoDataEntry for db-table 'mdm_static_meteo_data' failed!";
|
||||
ERROR_LOG(m_logger) << "insertDefaultStaticMeteoDataEntry for db-table 'mdm_static_meteo_data' failed!";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
+2
@@ -24,6 +24,8 @@ public:
|
||||
bool init();
|
||||
|
||||
private: // methods
|
||||
|
||||
NGL::INGLLogger &m_logger;
|
||||
void onStaticMeteoDataModifyRequest(const rti::core::SampleIdentity &cookie,
|
||||
const StaticMeteoDataModifyRequest &request) override final;
|
||||
|
||||
|
||||
@@ -16,14 +16,13 @@
|
||||
namespace MeteoDataManagement
|
||||
{
|
||||
|
||||
MainHandler::MainHandler()
|
||||
: m_ddsHandler(nullptr)
|
||||
MainHandler::MainHandler() : m_ddsHandler(nullptr)
|
||||
, m_dbHandler(nullptr)
|
||||
, m_handlerMeteoDataUnits(nullptr)
|
||||
, m_handlerInfrastructureData(nullptr)
|
||||
, m_handlerStaticMeteoData(nullptr)
|
||||
, m_gnaService(nullptr)
|
||||
{
|
||||
, m_gnaService(nullptr),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
} // end of ctor()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -40,17 +39,17 @@ MainHandler::~MainHandler()
|
||||
|
||||
bool MainHandler::init(int domainId)
|
||||
{
|
||||
INFO_LOG() << "Start MeteoDataManagement MainHandler.";
|
||||
INFO_LOG(m_logger) << "Start MeteoDataManagement MainHandler.";
|
||||
const QString errStr = initInternal(domainId);
|
||||
if (!errStr.isEmpty())
|
||||
{
|
||||
ERROR_LOG() << errStr;
|
||||
ERROR_LOG(m_logger) << errStr;
|
||||
if (m_ddsHandler && m_ddsHandler->pacemaker())
|
||||
m_ddsHandler->pacemaker()->setNewState(Core::RunningState::StartingError, errStr);
|
||||
return false;
|
||||
}
|
||||
m_ddsHandler->pacemaker()->setNewState(Core::RunningState::Running);
|
||||
INFO_LOG() << "MeteoDataManagement MainHandler initialized.";
|
||||
INFO_LOG(m_logger) << "MeteoDataManagement MainHandler initialized.";
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -68,7 +67,7 @@ QString MainHandler::initInternal(int domainId)
|
||||
return QStringLiteral("Initialisation DbHandler failed.");
|
||||
|
||||
// create HandlerMeteoDataUnits
|
||||
INFO_LOG() << "create HandlerMeteoDataUnits.";
|
||||
INFO_LOG(m_logger) << "create HandlerMeteoDataUnits.";
|
||||
m_handlerMeteoDataUnits = std::make_shared<HandlerMeteoDataUnits>(this);
|
||||
if (!m_handlerMeteoDataUnits->init())
|
||||
return QStringLiteral("create HandlerMeteoDataUnits failed.");
|
||||
|
||||
@@ -41,6 +41,7 @@ public:
|
||||
std::shared_ptr<DatabaseInterface> db() const;
|
||||
std::shared_ptr<HandlerInfrastructureData> ism() const { return m_handlerInfrastructureData; }
|
||||
private:
|
||||
NGL::INGLLogger &m_logger;
|
||||
QString initInternal(int domainId);
|
||||
private: // attributes
|
||||
std::shared_ptr<DdsHandler> m_ddsHandler; ///< Pointer to DDS handler
|
||||
|
||||
@@ -48,6 +48,8 @@ protected Q_SLOTS:
|
||||
void onRequestTimeout();
|
||||
|
||||
protected:
|
||||
|
||||
NGL::INGLLogger &m_logger;
|
||||
/**
|
||||
* pure virtual function from TcpSocket to initialize the especially sensor device
|
||||
*/
|
||||
|
||||
@@ -26,7 +26,7 @@ TcpSocket::TcpSocket(const char *logName, QObject *parent)
|
||||
, m_bSocketErrorWarnedOnce(false)
|
||||
, m_logger(getLogger(logName))
|
||||
{
|
||||
DEBUG_LOG() << "CTOR TCP-Socket... " ;
|
||||
DEBUG_LOG(m_logger) << "CTOR TCP-Socket... " ;
|
||||
|
||||
doConnect();
|
||||
}
|
||||
@@ -43,7 +43,7 @@ TcpSocket::~TcpSocket()
|
||||
|
||||
void TcpSocket::doConnect()
|
||||
{
|
||||
DEBUG_LOG() << "doConnect TCP-Socket " ;
|
||||
DEBUG_LOG(m_logger) << "doConnect TCP-Socket " ;
|
||||
|
||||
if (m_socket)
|
||||
m_socket->deleteLater();
|
||||
@@ -60,7 +60,7 @@ void TcpSocket::doConnect()
|
||||
|
||||
if (m_tryReconnect)
|
||||
{
|
||||
INFO_LOG() << "Try reconnect to host " << m_hostName
|
||||
INFO_LOG(m_logger) << "Try reconnect to host " << m_hostName
|
||||
<< ":" << m_hostPort;
|
||||
m_socket->connectToHost(m_hostName, m_hostPort);
|
||||
}
|
||||
@@ -69,7 +69,7 @@ void TcpSocket::doConnect()
|
||||
|
||||
void TcpSocket::start(const QString &hostName, quint16 port)
|
||||
{
|
||||
INFO_LOG() << "Try connect to host: " << hostName
|
||||
INFO_LOG(m_logger) << "Try connect to host: " << hostName
|
||||
<< ": " << port;
|
||||
|
||||
m_hostName = hostName;
|
||||
@@ -81,7 +81,7 @@ void TcpSocket::start(const QString &hostName, quint16 port)
|
||||
|
||||
void TcpSocket::onConnected()
|
||||
{
|
||||
INFO_LOG() << "Connected to "
|
||||
INFO_LOG(m_logger) << "Connected to "
|
||||
<< m_socket->peerAddress().toString()
|
||||
<< ":" << m_socket->peerPort();
|
||||
m_bSocketErrorWarnedOnce = false;
|
||||
@@ -95,46 +95,46 @@ void TcpSocket::onConnected()
|
||||
// Das Setzen der Systemvariablen war ebenfalls ohne Auswirkung.
|
||||
// Da diese Programmteile unter Windows eh so nicht zu uebersetzen sind, ist der Codeteil hier in Kommentar gesetzt.
|
||||
|
||||
// INFO_LOG() << "----Set TCP_KEEPIDLE parameter ";
|
||||
// INFO_LOG(m_logger) << "----Set TCP_KEEPIDLE parameter ";
|
||||
|
||||
// const int keepAliveOption = 1; // on
|
||||
// if (setsockopt(m_socket->socketDescriptor(), SOL_SOCKET, SO_KEEPALIVE, &keepAliveOption, sizeof(keepAliveOption)) != 0)
|
||||
// {
|
||||
// ERROR_LOG() << "Error setting SO_KEEPALIVE: " << errno;
|
||||
// ERROR_LOG(m_logger) << "Error setting SO_KEEPALIVE: " << errno;
|
||||
// }
|
||||
|
||||
// const int idleTimeout = 5; // sec
|
||||
// if (setsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPIDLE, &idleTimeout, sizeof(idleTimeout)) != 0)
|
||||
// {
|
||||
// ERROR_LOG() << "Error setting TCP_KEEPIDLE: " << errno;
|
||||
// ERROR_LOG(m_logger) << "Error setting TCP_KEEPIDLE: " << errno;
|
||||
// }
|
||||
|
||||
// const int keepIntervalCnt = 10; // sec
|
||||
// if (setsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPINTVL, &keepIntervalCnt, sizeof(keepIntervalCnt)) != 0)
|
||||
// {
|
||||
// ERROR_LOG() << "Error setting TCP_KEEPINTVL: " << errno;
|
||||
// ERROR_LOG(m_logger) << "Error setting TCP_KEEPINTVL: " << errno;
|
||||
// }
|
||||
|
||||
// const int idlePaketCnt = 2; // 2 probes -> detection shoud be comes after 5s + 2 * 10s => 25 sec
|
||||
// if (setsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPCNT, &idlePaketCnt, sizeof(idlePaketCnt)) != 0)
|
||||
// {
|
||||
// ERROR_LOG() << "Error setting TCP_KEEPCNT: " << errno;
|
||||
// ERROR_LOG(m_logger) << "Error setting TCP_KEEPCNT: " << errno;
|
||||
// }
|
||||
|
||||
// //----- Testausgaben
|
||||
// int getOption = 0;
|
||||
// socklen_t optlen = sizeof(getOption);
|
||||
// getsockopt(m_socket->socketDescriptor(), SOL_SOCKET, SO_KEEPALIVE, &getOption, &optlen);
|
||||
// ERROR_LOG() << "...SO_KEEPALIVE set to: " << getOption;
|
||||
// ERROR_LOG(m_logger) << "...SO_KEEPALIVE set to: " << getOption;
|
||||
|
||||
// getsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPIDLE, &getOption, &optlen);
|
||||
// ERROR_LOG() << "...TCP_KEEPIDLE set to: " << getOption;
|
||||
// ERROR_LOG(m_logger) << "...TCP_KEEPIDLE set to: " << getOption;
|
||||
|
||||
// getsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPINTVL, &getOption, &optlen);
|
||||
// ERROR_LOG() << "...TCP_KEEPINTVL set to: " << getOption;
|
||||
// ERROR_LOG(m_logger) << "...TCP_KEEPINTVL set to: " << getOption;
|
||||
|
||||
// getsockopt(m_socket->socketDescriptor(), SOL_TCP, TCP_KEEPCNT, &getOption, &optlen);
|
||||
// ERROR_LOG() << "...TCP_KEEPCNT set to: " << getOption;
|
||||
// ERROR_LOG(m_logger) << "...TCP_KEEPCNT set to: " << getOption;
|
||||
|
||||
init(); // pure virtual function
|
||||
// Auspraegung mit spezieller Sensorinitialisierung durchfuehren
|
||||
@@ -143,14 +143,14 @@ void TcpSocket::onConnected()
|
||||
|
||||
void TcpSocket::onDisonnected()
|
||||
{
|
||||
INFO_LOG() << "Disconnected from " << m_socket->peerAddress().toString()
|
||||
INFO_LOG(m_logger) << "Disconnected from " << m_socket->peerAddress().toString()
|
||||
<< ":" << m_socket->peerPort();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
void TcpSocket::onError(QAbstractSocket::SocketError err)
|
||||
{
|
||||
ERROR_LOG() << "Socket error: " << err
|
||||
ERROR_LOG(m_logger) << "Socket error: " << err
|
||||
<< " \"" << m_socket->errorString() << "\""
|
||||
<< " Hostname: " << m_hostName
|
||||
<< " Serial Port:" << m_hostPort
|
||||
@@ -178,7 +178,7 @@ void TcpSocket::onReadyRead()
|
||||
while (m_socket->canReadLine())
|
||||
{
|
||||
const QByteArray line = m_socket->readLine();
|
||||
DEBUG_LOG() << "Read line from sensor: " << line;
|
||||
DEBUG_LOG(m_logger) << "Read line from sensor: " << line;
|
||||
|
||||
dataAvailable(line); // pure virtual function
|
||||
// Auspraegung mit spezieller Sensordatenauswertung durchfuehren
|
||||
@@ -190,14 +190,14 @@ bool TcpSocket::sendCommand(const QByteArray &qba)
|
||||
{
|
||||
bool bOk = true;
|
||||
|
||||
INFO_LOG() << "Send command: " << qba;
|
||||
INFO_LOG(m_logger) << "Send command: " << qba;
|
||||
|
||||
if (m_socket->state() != QTcpSocket::ConnectedState)
|
||||
{
|
||||
if (m_bSocketErrorWarnedOnce)
|
||||
{
|
||||
m_bSocketErrorWarnedOnce = true;
|
||||
WARNING_LOG() << "Error on sendCommand(). No socket connection estabilished."
|
||||
WARNING_LOG(m_logger) << "Error on sendCommand(). No socket connection estabilished."
|
||||
<< " Hostname: " << m_hostName;
|
||||
}
|
||||
return false;
|
||||
@@ -208,7 +208,7 @@ bool TcpSocket::sendCommand(const QByteArray &qba)
|
||||
if (trxBytes != qba.size())
|
||||
{
|
||||
bOk = false;
|
||||
ERROR_LOG() << "Insufficient number of tansfered bytes."
|
||||
ERROR_LOG(m_logger) << "Insufficient number of tansfered bytes."
|
||||
<< " Soll: " << trxBytes << " Ist: " << qba.size();
|
||||
}
|
||||
m_socket->flush();
|
||||
|
||||
@@ -23,6 +23,7 @@ public:
|
||||
~TcpSocket();
|
||||
|
||||
protected:
|
||||
NGL::INGLLogger &m_logger;
|
||||
/**
|
||||
* Connect to converter
|
||||
* @param[in] hostName Hostname or Ip address of the RS232-LAN Converter
|
||||
@@ -47,6 +48,7 @@ protected Q_SLOTS:
|
||||
bool sendCommand(const QByteArray &qba);
|
||||
|
||||
protected:
|
||||
NGL::INGLLogger &m_logger;
|
||||
/**
|
||||
* pure virtual function to initialize the especially sensor device
|
||||
*/
|
||||
|
||||
+8
-9
@@ -18,8 +18,7 @@ TcpWeatherStation::TcpWeatherStation(int id,
|
||||
const QString &converterIp,
|
||||
quint16 climatePort,
|
||||
quint16 windPort,
|
||||
QObject *parent)
|
||||
: QObject(parent)
|
||||
QObject *parent) : QObject(parent)
|
||||
, m_id(id)
|
||||
, m_converterIp(converterIp)
|
||||
, m_climatePort(climatePort)
|
||||
@@ -32,9 +31,9 @@ TcpWeatherStation::TcpWeatherStation(int id,
|
||||
, m_direction(0.0)
|
||||
, m_speed(0.0)
|
||||
, m_climateOk(false)
|
||||
, m_windOk(false)
|
||||
{
|
||||
INFO_LOG() << "Start TcpWeatherStation ip/(hostname): " << m_converterIp
|
||||
, m_windOk(false),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
INFO_LOG(m_logger) << "Start TcpWeatherStation ip/(hostname): " << m_converterIp
|
||||
<< " climatePort: " << m_climatePort
|
||||
<< " windPort: " << m_windPort;
|
||||
|
||||
@@ -42,7 +41,7 @@ TcpWeatherStation::TcpWeatherStation(int id,
|
||||
{
|
||||
m_tcpClimate = new TcpClimate(this);
|
||||
|
||||
INFO_LOG() << "m_tcpClimate->start(" << m_converterIp << ", "
|
||||
INFO_LOG(m_logger) << "m_tcpClimate->start(" << m_converterIp << ", "
|
||||
<< QString::number(m_climatePort) << ")";
|
||||
m_tcpClimate->start(m_converterIp, m_climatePort);
|
||||
|
||||
@@ -54,7 +53,7 @@ TcpWeatherStation::TcpWeatherStation(int id,
|
||||
{
|
||||
m_tcpWind = new TcpWind(this);
|
||||
|
||||
INFO_LOG() << "m_tcpWind->start(" << m_converterIp << ", "
|
||||
INFO_LOG(m_logger) << "m_tcpWind->start(" << m_converterIp << ", "
|
||||
<< QString::number(m_windPort) << ")";
|
||||
|
||||
m_tcpWind->start(m_converterIp, m_windPort);
|
||||
@@ -68,7 +67,7 @@ TcpWeatherStation::TcpWeatherStation(int id,
|
||||
|
||||
void TcpWeatherStation::onClimateDataChanged(float pressure, float temperature, float humidity, bool climateOk)
|
||||
{
|
||||
INFO_LOG() << "onClimateDataChanged()"
|
||||
INFO_LOG(m_logger) << "onClimateDataChanged()"
|
||||
<< " MDU AssetId: " << m_id
|
||||
<< " pressure: " << pressure
|
||||
<< " temperature: " << temperature
|
||||
@@ -87,7 +86,7 @@ void TcpWeatherStation::onClimateDataChanged(float pressure, float temperature,
|
||||
|
||||
void TcpWeatherStation::onWindDataChanged(float direction, float speed, bool windOk)
|
||||
{
|
||||
INFO_LOG() << "onWindDataChanged()"
|
||||
INFO_LOG(m_logger) << "onWindDataChanged()"
|
||||
<< " MDU AssetId: " << m_id
|
||||
<< " direction: " << direction
|
||||
<< " speed: " << speed
|
||||
|
||||
@@ -70,6 +70,7 @@ protected Q_SLOTS:
|
||||
|
||||
|
||||
protected:
|
||||
NGL::INGLLogger &m_logger;
|
||||
int m_id; ///< weatherstation id
|
||||
QString m_converterIp; ///< IP address of the RS232-LAN Converter
|
||||
quint16 m_climatePort; ///< Access port number of climate sensor on the RS232-LAN Converter
|
||||
|
||||
Reference in new issue
Block a user