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);
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() {

View File

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

View File

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

View File

@ -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
{