From c09f6fb9fa68e5c266bc4d2af2be871423c5e764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 21 Mar 2018 20:44:07 +0100 Subject: [PATCH] Add a function to stop KAuth helper daemon. --- src/backend/corebackendmanager.cpp | 6 ++++++ src/backend/corebackendmanager.h | 5 +++++ test/helpers.cpp | 5 +++++ test/helpers.h | 1 + 4 files changed, 17 insertions(+) diff --git a/src/backend/corebackendmanager.cpp b/src/backend/corebackendmanager.cpp index 219a899..195bbf6 100644 --- a/src/backend/corebackendmanager.cpp +++ b/src/backend/corebackendmanager.cpp @@ -79,7 +79,13 @@ void CoreBackendManager::startExternalCommandHelper() auto conn = QObject::connect(job(), &KAuth::ExecuteJob::newData, exitLoop); loop.exec(); QObject::disconnect(conn); +} +void CoreBackendManager::stopExternalCommandHelper() +{ + QDBusInterface iface(QStringLiteral("org.kde.kpmcore.helperinterface"), QStringLiteral("/Helper"), QStringLiteral("org.kde.kpmcore.externalcommand"), QDBusConnection::systemBus()); + if (iface.isValid()) + iface.call(QStringLiteral("exit"), CoreBackendManager::self()->Uuid()); } KAuth::ExecuteJob* CoreBackendManager::job() { diff --git a/src/backend/corebackendmanager.h b/src/backend/corebackendmanager.h index ed04bd7..d6b843a 100644 --- a/src/backend/corebackendmanager.h +++ b/src/backend/corebackendmanager.h @@ -100,6 +100,11 @@ public: */ KAuth::ExecuteJob* job(); + /** + * stop ExternalCommand Helper + */ + static void stopExternalCommandHelper(); + private: void startExternalCommandHelper(); diff --git a/test/helpers.cpp b/test/helpers.cpp index de1b73f..e562fce 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -56,3 +56,8 @@ KPMCoreInitializer::KPMCoreInitializer( const QString& backendName ) : KPMCoreInitializer::KPMCoreInitializer( const char* backend ) : KPMCoreInitializer( QString::fromLatin1( backend ) ) { } + +KPMCoreInitializer::~KPMCoreInitializer() +{ + CoreBackendManager::stopExternalCommandHelper(); +} diff --git a/test/helpers.h b/test/helpers.h index 0900418..eae46b0 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -32,6 +32,7 @@ public: KPMCoreInitializer(); /// Default backend KPMCoreInitializer( const QString& backend ); /// Use named backend KPMCoreInitializer( const char* backend ); /// Use named backend + ~KPMCoreInitializer(); bool isValid() const {