From 8ca0635fea4739f2f53b8ab847567bb6fd672f5a Mon Sep 17 00:00:00 2001 From: Peter L Jones Date: Sat, 18 Apr 2020 23:12:20 +0100 Subject: [PATCH] Log server registration flow --- src/main.cpp | 2 +- src/serverdlg.cpp | 25 +++++-------------------- src/serverlist.cpp | 31 +++++++++++++++++-------------- src/serverlist.h | 1 + src/util.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 35 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index d90355a5..f65d058c 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -545,7 +545,7 @@ int main ( int argc, char** argv ) eLicenceType ); if ( bUseGUI ) { - // special case for the GUI mode: we want the licenct type to be + // special case for the GUI mode: we want the licence type to be // creative commons per default (if not given in the settings file) Server.SetLicenceType ( LT_CREATIVECOMMONS ); diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index 639e6105..9330191b 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -545,36 +545,21 @@ void CServerDlg::UpdateGUIDependencies() edtCentralServerAddress->setEnabled ( !bCurUseDefCentServAddr && bCurSerListEnabled ); - QString strStatus; + QString strStatus = svrRegStatusToString ( eSvrRegStatus ); switch ( eSvrRegStatus ) { - case SRS_UNREGISTERED: - strStatus = "Unregistered"; - break; - case SRS_BAD_ADDRESS: - strStatus = "Bad address"; - break; - - case SRS_REQUESTED: - strStatus = "Registration requested"; - break; - case SRS_TIME_OUT: - strStatus = "Registration failed"; - break; - - case SRS_UNKNOWN_RESP: - strStatus = "Check server version"; + case SRS_CENTRAL_SVR_FULL: + strStatus = "" + strStatus + ""; break; case SRS_REGISTERED: - strStatus = "Registered"; + strStatus = "" + strStatus + ""; break; - case SRS_CENTRAL_SVR_FULL: - strStatus = "Central Server full"; + default: break; } lblRegSvrStatus->setText ( strStatus ); diff --git a/src/serverlist.cpp b/src/serverlist.cpp index 6b754163..7a8f5f4e 100755 --- a/src/serverlist.cpp +++ b/src/serverlist.cpp @@ -479,6 +479,8 @@ void CServerListManager::CentralServerQueryServerList ( const CHostAddress& Inet /* Slave server functionality *************************************************/ void CServerListManager::StoreRegistrationResult ( ESvrRegResult eResult ) { + qInfo() << "Server Registration Result received:" << svrRegResultToString ( eResult ); + // we need the lock since the user might change the server properties at // any time so another response could arrive QMutexLocker locker ( &Mutex ); @@ -486,20 +488,18 @@ void CServerListManager::StoreRegistrationResult ( ESvrRegResult eResult ) // we got some response, so stop the retry timer TimerCLRegisterServerResp.stop(); - eSvrRegStatus = ESvrRegStatus::SRS_UNKNOWN_RESP; - switch ( eResult ) { case ESvrRegResult::SRR_REGISTERED: - eSvrRegStatus = ESvrRegStatus::SRS_REGISTERED; - break; + SetSvrRegStatus ( ESvrRegStatus::SRS_REGISTERED ); + return; case ESvrRegResult::SRR_CENTRAL_SVR_FULL: - eSvrRegStatus = ESvrRegStatus::SRS_CENTRAL_SVR_FULL; - break; + SetSvrRegStatus ( ESvrRegStatus::SRS_CENTRAL_SVR_FULL ); + return; } - emit SvrRegStatusChanged(); + SetSvrRegStatus ( ESvrRegStatus::SRS_UNKNOWN_RESP ); } void CServerListManager::OnTimerPingCentralServer() @@ -525,8 +525,7 @@ void CServerListManager::OnTimerCLRegisterServerResp() if ( iSvrRegRetries >= REGISTER_SERVER_RETRY_LIMIT ) { - eSvrRegStatus = SRS_TIME_OUT; - emit SvrRegStatusChanged(); + SetSvrRegStatus ( SRS_TIME_OUT ); } else { @@ -565,8 +564,7 @@ void CServerListManager::SlaveServerRegisterServer ( const bool bIsRegister ) if ( bIsRegister ) { // register server - eSvrRegStatus = SRS_REQUESTED; - emit SvrRegStatusChanged(); + SetSvrRegStatus ( SRS_REQUESTED ); pConnLessProtocol->CreateCLRegisterServerMes ( SlaveCurCentServerHostAddress, SlaveCurLocalHostAddress, @@ -575,15 +573,20 @@ void CServerListManager::SlaveServerRegisterServer ( const bool bIsRegister ) else { // unregister server - eSvrRegStatus = SRS_UNREGISTERED; - emit SvrRegStatusChanged(); + SetSvrRegStatus ( SRS_UNREGISTERED ); pConnLessProtocol->CreateCLUnregisterServerMes ( SlaveCurCentServerHostAddress ); } } else { - eSvrRegStatus = SRS_BAD_ADDRESS; + SetSvrRegStatus ( SRS_BAD_ADDRESS ); emit SvrRegStatusChanged(); } } +void CServerListManager::SetSvrRegStatus ( ESvrRegStatus eNSvrRegStatus ) +{ + qInfo() << "Server Registration Status update:" << svrRegStatusToString ( eNSvrRegStatus ); + eSvrRegStatus = eNSvrRegStatus; + emit SvrRegStatusChanged(); +} diff --git a/src/serverlist.h b/src/serverlist.h index 79a9b30a..2c77055f 100755 --- a/src/serverlist.h +++ b/src/serverlist.h @@ -177,6 +177,7 @@ public: protected: void SlaveServerRegisterServer ( const bool bIsRegister ); + void SetSvrRegStatus ( ESvrRegStatus eNSvrRegStatus ); QTimer TimerPollList; QTimer TimerRegistering; diff --git a/src/util.h b/src/util.h index 2282078e..2b8797c9 100755 --- a/src/util.h +++ b/src/util.h @@ -584,6 +584,35 @@ enum ESvrRegStatus SRS_CENTRAL_SVR_FULL = 6 }; +inline QString svrRegStatusToString ( ESvrRegStatus eSvrRegStatus ) +{ + switch ( eSvrRegStatus ) + { + case SRS_UNREGISTERED: + return "Unregistered"; + + case SRS_BAD_ADDRESS: + return "Bad address"; + + case SRS_REQUESTED: + return "Registration requested"; + + case SRS_TIME_OUT: + return "Registration failed"; + + case SRS_UNKNOWN_RESP: + return "Check server version"; + + case SRS_REGISTERED: + return "Registered"; + + case SRS_CENTRAL_SVR_FULL: + return "Central Server full"; + } + + return QString("Unknown value ").append( eSvrRegStatus ); +} + // Central server registration outcome ----------------------------------------- enum ESvrRegResult @@ -593,6 +622,19 @@ enum ESvrRegResult SRR_CENTRAL_SVR_FULL = 1 }; +inline QString svrRegResultToString ( ESvrRegResult eSvrRegResult ) +{ + switch ( eSvrRegResult ) + { + case SRR_REGISTERED: + return "Registered"; + case SRR_CENTRAL_SVR_FULL: + return "Central Server full"; + } + + return QString("Unknown value ").append( eSvrRegResult ); +} + // Skill level enum ------------------------------------------------------------ enum ESkillLevel