summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/domain/applicationdomaintype.h3
-rw-r--r--common/resourceaccess.cpp4
-rw-r--r--common/resourcecontrol.cpp7
3 files changed, 11 insertions, 3 deletions
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h
index de2b5c9..dc4cbe1 100644
--- a/common/domain/applicationdomaintype.h
+++ b/common/domain/applicationdomaintype.h
@@ -102,7 +102,8 @@ enum SINK_EXPORT ErrorCode {
102 ConfigurationError, 102 ConfigurationError,
103 TransmissionError, 103 TransmissionError,
104 ConnectionLostError, 104 ConnectionLostError,
105 MissingCredentialsError 105 MissingCredentialsError,
106 ResourceCrashedError
106}; 107};
107 108
108enum SINK_EXPORT SuccessCode { 109enum SINK_EXPORT SuccessCode {
diff --git a/common/resourceaccess.cpp b/common/resourceaccess.cpp
index a3478e6..8b70684 100644
--- a/common/resourceaccess.cpp
+++ b/common/resourceaccess.cpp
@@ -526,6 +526,10 @@ void ResourceAccess::connectionError(QLocalSocket::LocalSocketError error)
526 Sink::Notification n; 526 Sink::Notification n;
527 n.type = Sink::Notification::Status; 527 n.type = Sink::Notification::Status;
528 emit notification(n); 528 emit notification(n);
529 Sink::Notification crashNotification;
530 crashNotification.type = Sink::Notification::Error;
531 crashNotification.code = Sink::ApplicationDomain::ResourceCrashedError;
532 emit notification(crashNotification);
529 d->abortPendingOperations(); 533 d->abortPendingOperations();
530 } else if (error == QLocalSocket::PeerClosedError) { 534 } else if (error == QLocalSocket::PeerClosedError) {
531 SinkLog() << "The resource closed the connection."; 535 SinkLog() << "The resource closed the connection.";
diff --git a/common/resourcecontrol.cpp b/common/resourcecontrol.cpp
index b6a4c0b..a69b7fa 100644
--- a/common/resourcecontrol.cpp
+++ b/common/resourcecontrol.cpp
@@ -101,10 +101,13 @@ KAsync::Job<void> ResourceControl::flush(Flush::FlushType type, const QByteArray
101 SinkTrace() << "Waiting for flush completion notification " << id; 101 SinkTrace() << "Waiting for flush completion notification " << id;
102 notifier->registerHandler([&future, id](const Notification &notification) { 102 notifier->registerHandler([&future, id](const Notification &notification) {
103 SinkTrace() << "Received notification: " << notification.type << notification.id; 103 SinkTrace() << "Received notification: " << notification.type << notification.id;
104 if (notification.id == id) { 104 if (notification.type == Notification::Error && notification.code == ApplicationDomain::ResourceCrashedError) {
105 SinkWarning() << "Error during flush";
106 future.setError(-1, "Error during flush: " + notification.message);
107 } else if (notification.id == id) {
105 SinkTrace() << "FlushComplete"; 108 SinkTrace() << "FlushComplete";
106 if (notification.code) { 109 if (notification.code) {
107 SinkWarning() << "Flush return an error"; 110 SinkWarning() << "Flush returned an error";
108 future.setError(-1, "Flush returned an error: " + notification.message); 111 future.setError(-1, "Flush returned an error: " + notification.message);
109 } else { 112 } else {
110 future.setFinished(); 113 future.setFinished();