Index: sources/cloudsync/CloudSyncController.cpp =================================================================== diff -u -r2ff5c29049307261cbee39176631155e11722914 -r026721c53d9c1fe9bbf99ce184afdb6610553d1f --- sources/cloudsync/CloudSyncController.cpp (.../CloudSyncController.cpp) (revision 2ff5c29049307261cbee39176631155e11722914) +++ sources/cloudsync/CloudSyncController.cpp (.../CloudSyncController.cpp) (revision 026721c53d9c1fe9bbf99ce184afdb6610553d1f) @@ -539,7 +539,7 @@ case eError_LogNameEmpty : info = QString( "[%1:%2]" ).arg( vErrorID ).arg( item(0) ) ; break; case eError_NotRegistered : info = QString( "[%1:%2]" ).arg( vErrorID ).arg( item(0) ) ; break; case eError_LogRetentionNoParam : info = QString( "[%1:%2]" ).arg( vErrorID ).arg( item(0) ) ; break; - case eError_LogUploadRejected : info = QString( "[%1:%2]" ).arg( vErrorID ).arg( item(0) ) ; break; + case eError_LogUploadRejected : info = QString( "[%1:%2/%3]" ).arg( vErrorID ).arg( item(0) ).arg( item(1) ) ; break; } return info; } @@ -864,28 +864,28 @@ { bool ok = true; QString mLogName; - qint32 mAccepted; - qint32 mRejectReason = 0; - quint32 tmp; + quint32 mAccepted; + quint32 mRejectReason = eLogUpload_NoRejectReason; + QString tmp; // although it has been checked in the interpreter, we won't risk the crash and check the list empty. if ( vMessage.params.isEmpty() ) { toLog(eError_LogNameNoParam , {}); ok = false; goto lOut; } mLogName = vMessage.params[0].trimmed(); if ( mLogName.isEmpty() ) { toLog(eError_LogNameEmpty , {}); ok = false; goto lOut; } // DEBUG qDebug() << " ---------- " << mLogName; - tmp = vMessage.params[1]; + tmp = vMessage.params[1]; //Log upload Accepted/Rejected Flag mAccepted = tmp.toUInt(&ok); if ( ! ok ) { toLog(eError_ParamMismatch , {eError_LogUploadRejected, 1}); ok = false; goto lOut; } if ( ! mAccepted ) { - tmp = vMessage.params[2]; + tmp = vMessage.params[2];//Log upload Rejection Reason mRejectReason = tmp.toUInt(&ok); if ( ! ok ) { toLog(eError_ParamMismatch , {eError_LogUploadRejected, 2}); ok = false; goto lOut; } - toLog(eError_LogUploadRejected , {eError_LogUploadRejected, mRejectReason}); + toLog(eError_LogUploadRejected , {eError_LogUploadRejected, mLogName, mRejectReason}); ok = false; } - emit didLogUpload( mLogName , mAccepted , mRejReason); + emit didLogUpload( mLogName , mAccepted , mRejectReason); lOut: return ok; Index: sources/cloudsync/CloudSyncController.h =================================================================== diff -u -r2ff5c29049307261cbee39176631155e11722914 -r026721c53d9c1fe9bbf99ce184afdb6610553d1f --- sources/cloudsync/CloudSyncController.h (.../CloudSyncController.h) (revision 2ff5c29049307261cbee39176631155e11722914) +++ sources/cloudsync/CloudSyncController.h (.../CloudSyncController.h) (revision 026721c53d9c1fe9bbf99ce184afdb6610553d1f) @@ -253,7 +253,7 @@ signals: void didInitComplete (); void didTxCodeReceive (const QString &vTxCode ); - void didLogUpload (const QString &vFileName, const quint32 &vAccepted, const quint32 &vRejectReason); + void didLogUpload (const QString &vFileName, const quint32 vAccepted, const quint32 vRejectReason); void didLogRetention (quint16 vLogsCount, quint32 vLogsSize); void didRegisterStart (bool vOK ); @@ -344,4 +344,12 @@ // CloudSync log retention void sendRetentionLog ( quint8 vMaxUsePercent ); // eMessageID_SendLogRetention bool rcvdRetentionLog (const Message &vMessage ); // eMessageID_SendLogRetention + +public: + enum LogUploadRejectReason_Enum { + eLogUpload_NoRejectReason = 0, // + eLogUpload_NoConnectivity = 1, // Log Upload Rejection due to no connectivity to the cloud + eLogUpload_NoCredentials = 2, // Log Upload Rejection due to Invalid Credentials + eLogUpload_Duplicate = 3, // Log Upload Rejection due to received log is a Duplicate on the Cloud + }; }; Index: sources/device/DeviceController.cpp =================================================================== diff -u -r2ff5c29049307261cbee39176631155e11722914 -r026721c53d9c1fe9bbf99ce184afdb6610553d1f --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 2ff5c29049307261cbee39176631155e11722914) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 026721c53d9c1fe9bbf99ce184afdb6610553d1f) @@ -1063,10 +1063,9 @@ if (vAccepted) ok = logUpload( vFileName); else{ switch (vRejectReason){ - case 1 : ok = false; break; //Connectivity Error - case 2 : ok = false; break; //Credential Error - case 3 : logUpload( vFileName);; break; //Duplicate Error - default : break; + case CloudSyncController::LogUploadRejectReason_Enum::eLogUpload_NoConnectivity : ok = false; break; //Connectivity Error + case CloudSyncController::LogUploadRejectReason_Enum::eLogUpload_NoCredentials : ok = false; break; //Credential Error + case CloudSyncController::LogUploadRejectReason_Enum::eLogUpload_Duplicate : logUpload( vFileName); break; //Duplicate Error } } emit didLogUpload(ok, vFileName);