Add a function to stop KAuth helper daemon.

This commit is contained in:
Andrius Štikonas 2018-03-21 20:44:07 +01:00
parent bd54ba7c5d
commit c09f6fb9fa
4 changed files with 17 additions and 0 deletions

View File

@ -79,7 +79,13 @@ void CoreBackendManager::startExternalCommandHelper()
auto conn = QObject::connect(job(), &KAuth::ExecuteJob::newData, exitLoop); auto conn = QObject::connect(job(), &KAuth::ExecuteJob::newData, exitLoop);
loop.exec(); loop.exec();
QObject::disconnect(conn); 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() { KAuth::ExecuteJob* CoreBackendManager::job() {

View File

@ -100,6 +100,11 @@ public:
*/ */
KAuth::ExecuteJob* job(); KAuth::ExecuteJob* job();
/**
* stop ExternalCommand Helper
*/
static void stopExternalCommandHelper();
private: private:
void startExternalCommandHelper(); void startExternalCommandHelper();

View File

@ -56,3 +56,8 @@ KPMCoreInitializer::KPMCoreInitializer( const QString& backendName ) :
KPMCoreInitializer::KPMCoreInitializer( const char* backend ) : KPMCoreInitializer( QString::fromLatin1( backend ) ) KPMCoreInitializer::KPMCoreInitializer( const char* backend ) : KPMCoreInitializer( QString::fromLatin1( backend ) )
{ {
} }
KPMCoreInitializer::~KPMCoreInitializer()
{
CoreBackendManager::stopExternalCommandHelper();
}

View File

@ -32,6 +32,7 @@ public:
KPMCoreInitializer(); /// Default backend KPMCoreInitializer(); /// Default backend
KPMCoreInitializer( const QString& backend ); /// Use named backend KPMCoreInitializer( const QString& backend ); /// Use named backend
KPMCoreInitializer( const char* backend ); /// Use named backend KPMCoreInitializer( const char* backend ); /// Use named backend
~KPMCoreInitializer();
bool isValid() const bool isValid() const
{ {