diff --git a/Configuration/ZT.cfg b/Configuration/ZT.cfg index 27ad6a8..8f7f806 100644 --- a/Configuration/ZT.cfg +++ b/Configuration/ZT.cfg @@ -97,8 +97,19 @@ STATION=COTE_VERTU #Activation de la copie des fichiers sur le réseau (OUI ou NON) ACTIVER_SAMBA=OUI #Path du dossier cible sur le réseau -NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT +#NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT #Login pour accéder au drive -NETWORK_SHALRE_LOGIN=metro\service.ct +#NETWORK_SHARE_LOGIN=metro\service.ct #Mot de passe pour accéder au drive -NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240?TraNsf3Rt@ +#NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240TraNsf3Rt +#Nom de domaine du drive réseau. Commenter si aucun nom de domaine ne doit être spécifié +#NETWORK_SHARE_DOMAIN=METRO + +#Path du dossier cible sur le réseau +NETWORK_SHARE_PATH=//192.168.50.110/TestZT +#Login pour accéder au drive +NETWORK_SHARE_LOGIN=JF +#Mot de passe pour accéder au drive +NETWORK_SHARE_PASSWORD=signal77240 +#Nom de domaine du drive réseau +NETWORK_SHARE_DOMAIN=METRO diff --git a/UpdateZT.sh b/UpdateZT.sh index 253ddb0..5717d00 100755 --- a/UpdateZT.sh +++ b/UpdateZT.sh @@ -87,9 +87,11 @@ ACTIVER_SAMBA=OUI #Path du dossier cible sur le réseau NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT #Login pour accéder au drive -NETWORK_SHALRE_LOGIN=metro\service.ct +NETWORK_SHARE_LOGIN=metro\service.ct #Mot de passe pour accéder au drive -NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240?TraNsf3Rt@ +NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240TraNsf3Rt +#Nom de domaine du drive réseau. Commenter si aucun nom de domaine ne doit être spécifié +#NETWORK_SHARE_DOMAIN=METRO \n" >> $CONFIG_FILE_PATH echo "Modification du fichier de configuration OK" diff --git a/ZT b/ZT index c99f04f..4e16dd1 100755 Binary files a/ZT and b/ZT differ diff --git a/sources/GuiElements/GeneralSettingsPage.cpp b/sources/GuiElements/GeneralSettingsPage.cpp index 718e03f..4133da6 100644 --- a/sources/GuiElements/GeneralSettingsPage.cpp +++ b/sources/GuiElements/GeneralSettingsPage.cpp @@ -124,8 +124,13 @@ CGeneralSettingsPage::CGeneralSettingsPage(QGraphicsWidget *Parent) } -void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime) +void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime, bool DisableSignal) { + if(DisableSignal == true) + { + disconnect(mUseNetworkTimeChkBx,SIGNAL(stateChanged(int)),this,SLOT(NetworkTimeChkBxClicked(int))); + } + if(UseNetworkTime == true) { mUseNetworkTimeChkBx->setChecked(Qt::Checked); @@ -136,6 +141,12 @@ void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime) mUseNetworkTimeChkBx->setChecked(Qt::Unchecked); mApplyDateTimeBtn->show(); } + + if(DisableSignal == true) + { + connect(mUseNetworkTimeChkBx,SIGNAL(stateChanged(int)),this,SLOT(NetworkTimeChkBxClicked(int))); + } + } void CGeneralSettingsPage::resizeEvent(QGraphicsSceneResizeEvent *event) diff --git a/sources/GuiElements/GeneralSettingsPage.h b/sources/GuiElements/GeneralSettingsPage.h index 7592713..6e700ce 100644 --- a/sources/GuiElements/GeneralSettingsPage.h +++ b/sources/GuiElements/GeneralSettingsPage.h @@ -52,7 +52,7 @@ public: CZoneTest *mProgramHandle; - void UseNetworkTime(bool UseNetworkTime); + void UseNetworkTime(bool UseNetworkTime, bool DisableSignal = false); virtual void resizeEvent(QGraphicsSceneResizeEvent *event); virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); diff --git a/sources/NetDriveMgr.cpp b/sources/NetDriveMgr.cpp index 1880197..4d490d8 100644 --- a/sources/NetDriveMgr.cpp +++ b/sources/NetDriveMgr.cpp @@ -2,6 +2,8 @@ #include #include "GlobalDefine.h" #include +#include +#include @@ -33,6 +35,7 @@ CNetDriveMgr::CNetDriveMgr(QObject *parent) : CNetDriveMgr::~CNetDriveMgr() { + UnMountNetworkDrive(); delete mProcessTimer; delete mTransferProcess; } @@ -226,6 +229,7 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event) case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT: { qDebug("Failed to mount network drive within allowed period. Will retry later %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError())); + CEngLog::instance()->AddLogString(QString("Failed to mount network drive within allowed period. Will retry later %1 @ %2").arg(QString(mTransferProcess->readAllStandardOutput()).arg(QString(qPrintable(mTransferProcess->readAllStandardError()))))); QString stdout = QString(mTransferProcess->readAllStandardOutput()); QString stderr = QString(mTransferProcess->readAllStandardError()); @@ -239,18 +243,24 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event) } case NET_DRIVE_SM_PROCESS_FINISHED_EVENT: { - QString StdOut = mTransferProcess->readAllStandardOutput(); - qDebug("%s",qPrintable(StdOut)); + //QString StdOut = mTransferProcess->readAllStandardOutput(); + //CEngLog::instance()->AddLogString(StdOut); + // qDebug("%s",qPrintable(StdOut)); mProcessTimer->stop(); if(IsNetworkDriveMounted()) { - qDebug("Drive mounted successfuly"); + CZTLog::instance()->AddLogString("Répertoire réseau monté avec succès"); +// qDebug("Drive mounted successfuly"); mNetDriveSMState = NET_DRIVE_STANDBY_STATE; } else { - qDebug("Mount command failed: %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError())); + QString Line = QString("Echec de la commande mount : %1 - %2").arg(QString(mTransferProcess->readAllStandardOutput())).arg(QString(mTransferProcess->readAllStandardError())); + CEngLog::instance()->AddLogString(Line,1); + // qDebug("Mount command failed: %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError())); + + mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE; mProcessTimer->start(MOUNT_TIMEOUT); } @@ -267,7 +277,8 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event) { case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT: { - qDebug("Retrying to mount net drive"); + CEngLog::instance()->AddLogString("Tentative de remonter le drive réseau"); + // qDebug("Retrying to mount net drive"); MountNetworkDrive(); break; } @@ -291,7 +302,8 @@ void CNetDriveMgr::ProcessFinished(int exitCode, QProcess::ExitStatus exitStatus Q_UNUSED(exitCode) Q_UNUSED(exitStatus) - qDebug("Process finished %d - %d",exitCode,exitStatus); + CEngLog::instance()->AddLogString(QString("Process finished %1 - %2").arg(exitCode).arg(exitStatus)); + // qDebug("Process finished %d - %d",exitCode,exitStatus); NetworkDriveStateMachine(NET_DRIVE_SM_PROCESS_FINISHED_EVENT); } @@ -327,6 +339,7 @@ int CNetDriveMgr::MountNetworkDrive() if(IsNetworkDriveMounted()) { + CZTLog::instance()->AddLogString("Répertoire réseau déjà monté"); qDebug("Network drive already mounted, aborting mount operation"); mNetDriveSMState = NET_DRIVE_STANDBY_STATE; return RET_ERROR; //drive already mounted. @@ -334,6 +347,7 @@ int CNetDriveMgr::MountNetworkDrive() if(IsNetworkDriveAvailable() == false) //Network is disconnected... retry later. { + CEngLog::instance()->AddLogString("Interface réseau ETH0 déconnectée. Impossible de monter le NAS"); qDebug("Network interface not connected. Cannot mount network drive. Will retry later"); mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE; mProcessTimer->start(MOUNT_TIMEOUT); @@ -341,13 +355,16 @@ int CNetDriveMgr::MountNetworkDrive() } //sudo mount -t cifs -o domain=TID,user=JF,password=signal77240,vers=2.1 //192.168.50.110/TestZT /home/zonetest/ZT/NetDrive + CEngLog::instance()->AddLogString("Montage du drive réseau"); qDebug("Trying to mount network drive"); QString Cmd; if(mRemoteDriveDomain.isEmpty()) - Cmd = QString("mount -t cifs -o user=%2,password=%3,vers=2.1 %4 %5").arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT); + Cmd = QString("mount -t cifs -o user=%1,password=%2,vers=2.1 %3 %4").arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT); else Cmd = QString("mount -t cifs -o domain=%1,user=%2,password=%3,vers=2.1 %4 %5").arg(mRemoteDriveDomain).arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT); + CEngLog::instance()->AddLogString(Cmd); + qDebug("%s",qPrintable(Cmd)); mTransferProcess->start(Cmd); mNetDriveSMState = NET_DRIVE_MOUNTING_STATE; mProcessTimer->start(MOUNT_TIMEOUT); diff --git a/sources/ZTconfigmgr.cpp b/sources/ZTconfigmgr.cpp index bb17e9f..c779797 100644 --- a/sources/ZTconfigmgr.cpp +++ b/sources/ZTconfigmgr.cpp @@ -62,6 +62,7 @@ CZTConfigMgr::CZTConfigMgr() //SAMBA drive parameters mActivateSAMBADrive = false; + mSAMBADomain.clear(); } ZTConfigResult CZTConfigMgr::LoadZTConfig() @@ -271,7 +272,7 @@ ZTConfigResult CZTConfigMgr::LoadZTConfig() } else if(string.mid(pos) == "NON") { - mActivateSAMBADrive = true; + mActivateSAMBADrive = false; CEngLog::instance()->AddLogString(QString().sprintf("Copie sur répertoire SAMBA désactivée"),1); } } @@ -290,6 +291,11 @@ ZTConfigResult CZTConfigMgr::LoadZTConfig() mSAMBAPassword = string.mid(pos); CEngLog::instance()->AddLogString(QString("Password SAMBA: %1").arg(mSAMBAPassword),1); } + else if(string.contains("NETWORK_SHARE_DOMAIN")) + { + mSAMBADomain = string.mid(pos); + CEngLog::instance()->AddLogString(QString("Domaine SAMBA: %1").arg(mSAMBADomain),1); + } } } } @@ -384,3 +390,8 @@ QString CZTConfigMgr::GetSAMBAPassword() { return mSAMBAPassword; } + +QString CZTConfigMgr::GetSAMBADomain() +{ + return mSAMBADomain; +} diff --git a/sources/ZTconfigmgr.h b/sources/ZTconfigmgr.h index a9f92f9..5fffec0 100644 --- a/sources/ZTconfigmgr.h +++ b/sources/ZTconfigmgr.h @@ -101,6 +101,7 @@ public: QString GetSAMBAMountPoint(); QString GetSAMBALogin(); QString GetSAMBAPassword(); + QString GetSAMBADomain(); @@ -132,6 +133,7 @@ private: QString mSAMBAMountPoint; QString mSAMBALogin; QString mSAMBAPassword; + QString mSAMBADomain; }; #endif // ZTCONFIGMGR_H diff --git a/sources/Zonetest.cpp b/sources/Zonetest.cpp index 28fb3d2..a26a589 100644 --- a/sources/Zonetest.cpp +++ b/sources/Zonetest.cpp @@ -646,7 +646,8 @@ unsigned int CZoneTest::InitZT() QString SAMBAMountPoint = CZTConfigMgr::instance()->GetSAMBAMountPoint(); QString SAMBALogin = CZTConfigMgr::instance()->GetSAMBALogin(); QString SAMBAPassword = CZTConfigMgr::instance()->GetSAMBAPassword(); - mNetworkDriveMgr.InitNetDriveMgr(UseNetworkDrive,SAMBAMountPoint,SAMBALogin,SAMBAPassword,"",mZTStation->GetStationShortName()); + QString SAMBADomain = CZTConfigMgr::instance()->GetSAMBADomain(); + mNetworkDriveMgr.InitNetDriveMgr(UseNetworkDrive,SAMBAMountPoint,SAMBALogin,SAMBAPassword,SAMBADomain,mZTStation->GetStationShortName()); // mNetworkDriveMgr.InitNetDriveMgr(true,"//192.168.50.50/TestZT","JF","signal77240","",mZTStation->GetStationShortName()); @@ -732,7 +733,7 @@ unsigned int CZoneTest::InitZT() mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK")); mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV); mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV); - panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime); + panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime,true); panel.mLogsListPage->BindPointers(mUSBDriveInterface); mUSBDriveInterface->Start(); // if(mDI710Module != 0)