From 41c69690d866414cf90d603629fd488ba9a981b5 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 7 Apr 2017 14:58:02 +0200 Subject: Detect maildir resource errors --- common/domain/applicationdomaintype.h | 1 + common/synchronizer.cpp | 3 +++ examples/maildirresource/maildirresource.cpp | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index d84bda4..e5aa46e 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h @@ -99,6 +99,7 @@ enum SINK_EXPORT ErrorCode { NoServerError, ConnectionError, LoginError, + ConfigurationError, TransmissionError, }; diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp index 9451488..fcd135c 100644 --- a/common/synchronizer.cpp +++ b/common/synchronizer.cpp @@ -315,6 +315,9 @@ void Synchronizer::setStatusFromResult(const KAsync::Error &error, const QString if (error.errorCode == ApplicationDomain::ConnectionError) { //Couldn't connect, so we assume we don't have a network connection. setStatus(ApplicationDomain::OfflineStatus, s, requestId); + } else if (error.errorCode == ApplicationDomain::ConfigurationError) { + //There is an error with the configuration. + setStatus(ApplicationDomain::ErrorStatus, s, requestId); } else if (error.errorCode == ApplicationDomain::LoginError) { //If we failed to login altough we could connect that indicates a problem with our setup. setStatus(ApplicationDomain::ErrorStatus, s, requestId); diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp index a2a2f05..9a1d2b8 100644 --- a/examples/maildirresource/maildirresource.cpp +++ b/examples/maildirresource/maildirresource.cpp @@ -360,12 +360,12 @@ public: KAsync::Job synchronizeWithSource(const Sink::QueryBase &query) Q_DECL_OVERRIDE { - auto job = KAsync::start([this] { + auto job = KAsync::start([this] { KPIM::Maildir maildir(mMaildirPath, true); if (!maildir.isValid(false)) { - return KAsync::error(1, "Maildir path doesn't point to a valid maildir: " + mMaildirPath); + return KAsync::error(ApplicationDomain::ConfigurationError, "Maildir path doesn't point to a valid maildir: " + mMaildirPath); } - return KAsync::null(); + return KAsync::null(); }); if (query.type() == ApplicationDomain::getTypeName()) { -- cgit v1.2.3