diff options
Diffstat (limited to 'examples/imapresource/imapserverproxy.cpp')
-rw-r--r-- | examples/imapresource/imapserverproxy.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp index dabdd8e..0cc43b8 100644 --- a/examples/imapresource/imapserverproxy.cpp +++ b/examples/imapresource/imapserverproxy.cpp | |||
@@ -69,7 +69,7 @@ static KAsync::Job<T> runJob(KJob *job, const std::function<T(KJob*)> &f) | |||
69 | QObject::connect(job, &KJob::result, [&future, f](KJob *job) { | 69 | QObject::connect(job, &KJob::result, [&future, f](KJob *job) { |
70 | SinkTrace() << "Job done: " << job->metaObject()->className(); | 70 | SinkTrace() << "Job done: " << job->metaObject()->className(); |
71 | if (job->error()) { | 71 | if (job->error()) { |
72 | SinkWarning() << "Job failed: " << job->errorString(); | 72 | SinkWarning() << "Job failed: " << job->errorString() << job->metaObject()->className(); |
73 | future.setError(job->error(), job->errorString()); | 73 | future.setError(job->error(), job->errorString()); |
74 | } else { | 74 | } else { |
75 | future.setValue(f(job)); | 75 | future.setValue(f(job)); |
@@ -87,7 +87,7 @@ static KAsync::Job<void> runJob(KJob *job) | |||
87 | QObject::connect(job, &KJob::result, [&future](KJob *job) { | 87 | QObject::connect(job, &KJob::result, [&future](KJob *job) { |
88 | SinkTrace() << "Job done: " << job->metaObject()->className(); | 88 | SinkTrace() << "Job done: " << job->metaObject()->className(); |
89 | if (job->error()) { | 89 | if (job->error()) { |
90 | SinkWarning() << "Job failed: " << job->errorString(); | 90 | SinkWarning() << "Job failed: " << job->errorString() << job->metaObject()->className(); |
91 | future.setError(job->error(), job->errorString()); | 91 | future.setError(job->error(), job->errorString()); |
92 | } else { | 92 | } else { |
93 | future.setFinished(); | 93 | future.setFinished(); |
@@ -159,6 +159,16 @@ KAsync::Job<void> ImapServerProxy::login(const QString &username, const QString | |||
159 | // SinkTrace() << "Found personal namespaces: " << mNamespaces.personal; | 159 | // SinkTrace() << "Found personal namespaces: " << mNamespaces.personal; |
160 | // SinkTrace() << "Found shared namespaces: " << mNamespaces.shared; | 160 | // SinkTrace() << "Found shared namespaces: " << mNamespaces.shared; |
161 | // SinkTrace() << "Found user namespaces: " << mNamespaces.user; | 161 | // SinkTrace() << "Found user namespaces: " << mNamespaces.user; |
162 | }).then([=] (const KAsync::Error &error) { | ||
163 | if (error) { | ||
164 | if (error.errorCode == KIMAP2::LoginJob::ErrorCode::ERR_COULD_NOT_CONNECT) { | ||
165 | return KAsync::error(CouldNotConnectError, "Failed to connect: " + error.errorMessage); | ||
166 | } else if (error.errorCode == KIMAP2::LoginJob::ErrorCode::ERR_SSL_HANDSHAKE_FAILED) { | ||
167 | return KAsync::error(SslHandshakeError, "Ssl handshake failed: " + error.errorMessage); | ||
168 | } | ||
169 | return KAsync::error(error); | ||
170 | } | ||
171 | return KAsync::null(); | ||
162 | }); | 172 | }); |
163 | } | 173 | } |
164 | 174 | ||