Configuration des paramètres réseau
+ Options de configuration de l'adresse IP du réseau exploitation. + Option d'activation du réseau Modbus CC
This commit is contained in:
@@ -108,7 +108,7 @@ void CModbusCCMgr::NewModbusConnection()
|
||||
connect(mModbusTCPSocketHandle,SIGNAL(readyRead()),this,SLOT(ModbusDataReady()));
|
||||
connect(mModbusTCPSocketHandle,SIGNAL(disconnected()),this,SLOT(ConnectionLost()));
|
||||
//qDebug("ModbusCC: Connection with CC established");
|
||||
CZTLog::instance()->AddLogString(QString("Connection Modbus avec la CC établie. IP[%1]").arg(mModbusTCPSocketHandle->peerAddress().toString()),true);
|
||||
CZTLog::instance()->AddLogString(QString("Connection Modbus avec la CC établie. IP locale [%1] - IP HPC [%2]").arg(mModbusTCPSocketHandle->localAddress().toString()).arg(mModbusTCPSocketHandle->peerAddress().toString()),true);
|
||||
mZTWatchdogTimer->start();
|
||||
mCCWatchdogTimer->start(MODBUS_CC_WATCHDOG_TIMEOUT*2); //Allow twice the time for the first watchdog reset.
|
||||
mCCLinkState = true;
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#include "NetworkCfgMgr.h"
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
#include "ZTLog.h"
|
||||
|
||||
CNetworkCfgMgr::CNetworkCfgMgr()
|
||||
{
|
||||
}
|
||||
|
||||
int CNetworkCfgMgr::SetTRCPNetworkAddress(QHostAddress Address)
|
||||
{
|
||||
if(QFile::exists("./interfaces") == false)
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: Le fichier template de configuration réseau est inexistant",true);
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
//Open the template file
|
||||
QFile *TemplateFile = new QFile("./interfaces");
|
||||
if(TemplateFile)
|
||||
{
|
||||
if(TemplateFile->open(QIODevice::ReadOnly | QIODevice::Unbuffered | QIODevice::Text) == false)
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: impossible d'ouvrir le fichier template de configuration réseau",true);
|
||||
delete TemplateFile;
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: impossible d'ouvrir le fichier template de configuration réseau",true);
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
|
||||
//Create a temporary file
|
||||
QFile *TempInterfaceFile = new QFile("./interfaces_tmp");
|
||||
if(TempInterfaceFile)
|
||||
{
|
||||
if(TempInterfaceFile->open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text | QIODevice::Unbuffered) == false)
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: impossible de créer le fichier temporaire de configuration réseau",true);
|
||||
delete TempInterfaceFile;
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: impossible de créer le fichier temporaire de configuration réseau",true);
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
QString ConfigText(TemplateFile->readAll());
|
||||
QString WorkString;
|
||||
QHostAddress Gateway(Address.toIPv4Address() & 0xFFFFFF01);
|
||||
|
||||
WorkString = ConfigText.replace("[TELETRANS_IP]",Address.toString());
|
||||
ConfigText = WorkString.replace("[TELETRANS_GATEWAY]",Gateway.toString());
|
||||
|
||||
if(TempInterfaceFile->write(ConfigText.toAscii()) < 0)
|
||||
{
|
||||
CZTLog::instance()->AddLogString("ERREUR: impossible de créer le fichier temporaire de configuration réseau",true);
|
||||
}
|
||||
|
||||
TemplateFile->close();
|
||||
delete TemplateFile;
|
||||
|
||||
TempInterfaceFile->close();
|
||||
delete TempInterfaceFile;
|
||||
|
||||
|
||||
system("cp -f ./interfaces_tmp /etc/network/interfaces");
|
||||
|
||||
|
||||
return RET_OK;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#ifndef NETWORKCFGMGR_H
|
||||
#define NETWORKCFGMGR_H
|
||||
|
||||
#include <QHostAddress>
|
||||
|
||||
class CNetworkCfgMgr
|
||||
{
|
||||
public:
|
||||
CNetworkCfgMgr();
|
||||
|
||||
int SetTRCPNetworkAddress(QHostAddress Address);
|
||||
};
|
||||
|
||||
#endif // NETWORKCFGMGR_H
|
||||
Reference in New Issue
Block a user