Drive SAMBA, correction de bugs

This commit is contained in:
jfmartel 2023-05-07 07:54:06 -04:00
parent 07f31a7e28
commit e81602d763
9 changed files with 72 additions and 17 deletions

View File

@ -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

View File

@ -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"

BIN
ZT

Binary file not shown.

View File

@ -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)

View File

@ -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);

View File

@ -2,6 +2,8 @@
#include <QFile>
#include "GlobalDefine.h"
#include <QDate>
#include <ZTLog.h>
#include <EngLog.h>
@ -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);

View File

@ -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;
}

View File

@ -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

View File

@ -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)