[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ksecrets] src/api/ksecrets/fd.o: Removing fd.o related stuff for the moment
From:       Valentin Rusu <kde () rusu ! info>
Date:       2015-08-06 15:39:51
Message-ID: E1ZNNGp-0001VM-8Y () scm ! kde ! org
[Download RAW message or body]

Git commit e58489850798cdb0e39b5fe3458de76f6d6f2045 by Valentin Rusu.
Committed on 06/08/2015 at 15:37.
Pushed by vrusu into branch 'master'.

Removing fd.o related stuff for the moment

These files are not lost but they must be heavily rewritten.
They interfere with the first version release, that won't connect to fd.o
secret service. They'll be available on the fd.o branch.

D  +0    -18   src/api/ksecrets/fd.o/CMakeLists.txt
D  +0    -292  src/api/ksecrets/fd.o/dbusbackend.cpp
D  +0    -80   src/api/ksecrets/fd.o/dbusbackend.h
D  +0    -96   src/api/ksecrets/fd.o/ksecretscollectiondbus.cpp
D  +0    -47   src/api/ksecrets/fd.o/ksecretscollectiondbus_p.h
D  +0    -44   src/api/ksecrets/fd.o/ksecretsitemdbus.cpp
D  +0    -42   src/api/ksecrets/fd.o/ksecretsitemdbus_p.h
D  +0    -243  src/api/ksecrets/fd.o/ksecretsservicecodec.cpp
D  +0    -60   src/api/ksecrets/fd.o/ksecretsservicecodec.h
D  +0    -1157 src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.cpp
D  +0    -351  src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.h
D  +0    -289  src/api/ksecrets/fd.o/ksecretsservicecollectionjobs_p.h
D  +0    -83   src/api/ksecrets/fd.o/ksecretsservicedbustypes.h
D  +0    -331  src/api/ksecrets/fd.o/ksecretsserviceitemjobs.cpp
D  +0    -158  src/api/ksecrets/fd.o/ksecretsserviceitemjobs.h
D  +0    -130  src/api/ksecrets/fd.o/ksecretsserviceitemjobs_p.h
D  +0    -41   src/api/ksecrets/fd.o/ksecretsvaluedbus.cpp
D  +0    -36   src/api/ksecrets/fd.o/ksecretsvaluedbus_p.h
D  +0    -55   src/api/ksecrets/fd.o/org.freedesktop.Secret.Collection.xml
D  +0    -36   src/api/ksecrets/fd.o/org.freedesktop.Secret.Item.xml
D  +0    -19   src/api/ksecrets/fd.o/org.freedesktop.Secret.Prompt.xml
D  +0    -73   src/api/ksecrets/fd.o/org.freedesktop.Secret.Service.xml
D  +0    -10   src/api/ksecrets/fd.o/org.freedesktop.Secret.Session.xml
D  +0    -69   src/api/ksecrets/fd.o/promptjob.cpp
D  +0    -57   src/api/ksecrets/fd.o/promptjob.h

http://commits.kde.org/ksecrets/e58489850798cdb0e39b5fe3458de76f6d6f2045

diff --git a/src/api/ksecrets/fd.o/CMakeLists.txt b/src/api/ksecrets/fd.o/CMakeLists.txt
deleted file mode 100644
index b12f4f0..0000000
--- a/src/api/ksecrets/fd.o/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-set_source_files_properties(
-    ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Collection.xml
-    ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Item.xml
-    ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Prompt.xml
-    ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Service.xml
-    ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Session.xml
-    PROPERTIES INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/ksecretsservicedbustypes.h )
-
-qt5_add_dbus_interface(ksecrets_SRCS \
                ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Collection.xml \
                collection_interface)
-qt5_add_dbus_interface(ksecrets_SRCS \
                ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Item.xml item_interface)
-qt5_add_dbus_interface(ksecrets_SRCS \
                ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Prompt.xml prompt_interface)
-qt5_add_dbus_interface(ksecrets_SRCS \
                ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Service.xml \
                service_interface)
-qt5_add_dbus_interface(ksecrets_SRCS \
                ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Secret.Session.xml \
                session_interface)
-
-
-INSTALL(FILES
-    ${ksecretsservice_xml}
-    DESTINATION ${DBUS_INTERFACES_INSTALL_DIR})
diff --git a/src/api/ksecrets/fd.o/dbusbackend.cpp b/src/api/ksecrets/fd.o/dbusbackend.cpp
deleted file mode 100644
index 9d218d2..0000000
--- a/src/api/ksecrets/fd.o/dbusbackend.cpp
+++ /dev/null
@@ -1,292 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "dbusbackend.h"
-#include "service_interface.h"
-#include "collection_interface.h"
-#include "session_interface.h"
-#include "prompt_interface.h"
-#include "item_interface.h"
-#include "ksecretsservicecollection_p.h"
-
-#include <QDebug>
-#define TRANSLATION_DOMAIN "ksecretsservice_api"
-#include <klocalizedstring.h>
-#include <ktoolinvocation.h>
-
-#include <QDBusConnection>
-#include <QDBusMetaType>
-#include <fcntl.h>
-
-using namespace KSecrets;
-
-#define SERVICE_NAME QStringLiteral("org.freedesktop.secrets")
-
-const QString DBusSession::encryptionAlgorithm
-    = QStringLiteral("dh-ietf1024-aes128-cbc-pkcs7");
-OpenSessionJob* DBusSession::openSessionJob = 0;
-
-DBusSession::DBusSession() {}
-
-OpenSessionJob* DBusSession::openSession()
-{
-  if (0 == openSessionJob) {
-    openSessionJob = new OpenSessionJob(0);
-    openSessionJob->setAutoDelete(false);
-  }
-  return openSessionJob;
-}
-
-void OpenSessionJob::start()
-{
-  if (serviceIf && serviceIf->isValid() && sessionIf
-      && sessionIf->isValid()) {
-    setError(0);
-    emitResult();
-  }
-  else {
-    if (s_initQCA) {
-      s_initQCA = false;
-      static QCA::Initializer* dummy = s_qcaInitializer;
-      dummy = dummy; // suppress warning
-    }
-
-    qRegisterMetaType<KSecrets::DBusSecretStruct>();
-    qDBusRegisterMetaType<KSecrets::DBusSecretStruct>();
-
-    qRegisterMetaType<KSecrets::StringStringMap>();
-    qDBusRegisterMetaType<KSecrets::StringStringMap>();
-
-    qRegisterMetaType<KSecrets::DBusObjectPathSecretMap>();
-    qDBusRegisterMetaType<KSecrets::DBusObjectPathSecretMap>();
-
-    qRegisterMetaType<KSecrets::DBusStringVariantMap>();
-    qDBusRegisterMetaType<KSecrets::DBusStringVariantMap>();
-
-    // NOTE: this is already registered by Qt in qtextratypes.h
-    // qRegisterMetaType< QList<QDBusObjectPath> >();
-    // qDBusRegisterMetaType< QList<QDBusObjectPath> >();
-
-    // launch the daemon if it's not yet started
-    if (!QDBusConnection::sessionBus().interface()->isServiceRegistered(
-            SERVICE_NAME)) {
-      QString error;
-
-      int ret = KToolInvocation::startServiceByDesktopPath(
-          QStringLiteral("ksecretsserviced.desktop"), QStringList(), &error);
-      if (ret != 0) {
-        qDebug() << "KToolInvocation cannot start ksecretsserviced";
-        setError(1); // FIXME: use error codes here
-        emitResult();
-        return;
-      }
-
-      if (!QDBusConnection::sessionBus().interface()->isServiceRegistered(
-              SERVICE_NAME)) {
-        qDebug() << "Secret Service was started but the " << SERVICE_NAME
-                 << " is not registered on the DBus!";
-        setError(1); // FIXME: use error codes here
-        emitResult();
-        return;
-      }
-    }
-
-    serviceIf = new OrgFreedesktopSecretServiceInterface(SERVICE_NAME,
-        QStringLiteral("/org/freedesktop/secrets"),
-        QDBusConnection::sessionBus());
-
-    if (serviceIf->isValid()) {
-      QDBusConnectionInterface* serviceInfo
-          = QDBusConnection::sessionBus().interface();
-      QDBusReply<QString> ownerReply
-          = serviceInfo->serviceOwner(SERVICE_NAME);
-      QDBusReply<uint> pidReply = serviceInfo->servicePid(SERVICE_NAME);
-      if (ownerReply.isValid() && pidReply.isValid()) {
-        qDebug() << "SERVICE owner is " << (QString)ownerReply
-                 << ", PID = " << (uint)pidReply;
-      }
-      else {
-        qDebug() << "Cannot get SERVICE information";
-      }
-
-      QCA::KeyGenerator keygen;
-
-      dhDlgroup = new QCA::DLGroup(keygen.createDLGroup(QCA::IETF_1024));
-      if (dhDlgroup->isNull()) {
-        QString errorTxt
-            = i18n("Cannot create DL Group for dbus session open");
-        qDebug() << errorTxt;
-        setError(1); // FIXME: use error codes here
-        setErrorText(errorTxt);
-        emitResult();
-      }
-      else {
-        dhPrivkey = new QCA::PrivateKey(keygen.createDH(*dhDlgroup));
-        QCA::PublicKey dhPubkey(*dhPrivkey);
-        QByteArray dhBytePub(dhPubkey.toDH().y().toArray().toByteArray());
-
-        QDBusPendingReply<QDBusVariant, QDBusObjectPath> openSessionReply
-            = serviceIf->OpenSession(
-                DBusSession::encryptionAlgorithm, QDBusVariant(dhBytePub));
-        QDBusPendingCallWatcher* openSessionWatcher
-            = new QDBusPendingCallWatcher(openSessionReply, this);
-        connect(openSessionWatcher,
-            SIGNAL(finished(QDBusPendingCallWatcher*)), this,
-            SLOT(slotOpenSessionFinished(QDBusPendingCallWatcher*)));
-      }
-    }
-    else {
-      qDebug() << "ERROR when trying to bind to " << SERVICE_NAME
-               << " daemon";
-      setError(3); // FIXME: use error codes here
-      setErrorText(ki18n("ERROR when trying to bind to %1 daemon. Check dbus "
-                         "configuration.")
-                       .subs(SERVICE_NAME)
-                       .toString());
-      emitResult();
-    }
-  }
-}
-
-void OpenSessionJob::slotOpenSessionFinished(QDBusPendingCallWatcher* watcher)
-{
-  Q_ASSERT(watcher->isFinished());
-  QDBusPendingReply<QDBusVariant, QDBusObjectPath> reply = *watcher;
-  if (watcher->isError()) {
-    qDebug() << "ERROR when attempting to open a session "
-             << reply.error().message();
-    setError(2); // FIXME: use error codes here
-    setErrorText(reply.error().message());
-    emitResult();
-  }
-  else {
-    QVariant dhOutputVar = reply.argumentAt<0>().variant();
-    QByteArray dhOutput = dhOutputVar.toByteArray();
-    QCA::DHPublicKey dhServiceKey(
-        *dhDlgroup, QCA::BigInteger(QCA::SecureArray(dhOutput)));
-    QCA::SymmetricKey dhSharedKey(dhPrivkey->deriveKey(dhServiceKey));
-    // QCA::Cipher *dhCipher = new QCA::Cipher("aes128", QCA::Cipher::CBC,
-    // QCA::Cipher::PKCS7);
-
-    QDBusObjectPath sessionPath = reply.argumentAt<1>();
-    qDebug() << "SESSION path is " << sessionPath.path();
-    sessionIf = new OrgFreedesktopSecretSessionInterface(
-        SERVICE_NAME, sessionPath.path(), QDBusConnection::sessionBus());
-
-    connect(serviceIf, SIGNAL(CollectionChanged(const QDBusObjectPath&)),
-        this, SLOT(slotCollectionChanged(const QDBusObjectPath&)));
-    connect(serviceIf, SIGNAL(CollectionCreated(const QDBusObjectPath&)),
-        this, SLOT(slotCollectionCreated(const QDBusObjectPath&)));
-    connect(serviceIf, SIGNAL(CollectionDeleted(const QDBusObjectPath&)),
-        this, SLOT(slotCollectionDeleted(const QDBusObjectPath&)));
-
-    setError(0);
-    setErrorText(i18n("OK"));
-    emitResult();
-  }
-  watcher->deleteLater();
-}
-
-OrgFreedesktopSecretServiceInterface* OpenSessionJob::serviceInterface() const
-{
-  Q_ASSERT(serviceIf != 0); // you should call openSession first and start the
-                            // job it returns before calling this method
-  return serviceIf;
-}
-
-OrgFreedesktopSecretSessionInterface* OpenSessionJob::sessionInterface() const
-{
-  Q_ASSERT(sessionIf != 0); // you should call openSession first and start the
-                            // job it returns before calling this method
-  return sessionIf;
-}
-
-void OpenSessionJob::slotCollectionChanged(const QDBusObjectPath& path)
-{
-  CollectionPrivate::notifyCollectionChanged(path);
-}
-
-void OpenSessionJob::slotCollectionCreated(const QDBusObjectPath&)
-{
-  // TODO: use this notification
-}
-
-void OpenSessionJob::slotCollectionDeleted(const QDBusObjectPath& path)
-{
-  CollectionPrivate::notifyCollectionDeleted(path);
-}
-
-OrgFreedesktopSecretPromptInterface* DBusSession::createPromptIf(
-    const QDBusObjectPath& path)
-{
-  return new OrgFreedesktopSecretPromptInterface(
-      SERVICE_NAME, path.path(), QDBusConnection::sessionBus());
-}
-
-OrgFreedesktopSecretCollectionInterface* DBusSession::createCollectionIf(
-    const QDBusObjectPath& path)
-{
-  return new OrgFreedesktopSecretCollectionInterface(
-      SERVICE_NAME, path.path(), QDBusConnection::sessionBus());
-}
-
-OrgFreedesktopSecretItemInterface* DBusSession::createItemIf(
-    const QDBusObjectPath& path)
-{
-  return new OrgFreedesktopSecretItemInterface(
-      SERVICE_NAME, path.path(), QDBusConnection::sessionBus());
-}
-
-QDBusObjectPath DBusSession::sessionPath()
-{
-  Q_ASSERT(openSessionJob->sessionInterface()->isValid());
-  return QDBusObjectPath(openSessionJob->sessionInterface()->path());
-}
-
-bool DBusSession::encrypt(
-    const QVariant& value, DBusSecretStruct& secretStruct)
-{
-  QCA::SecureArray valueArray(value.toByteArray());
-  QCA::SecureArray encryptedArray;
-  bool result = openSessionJob->secretCodec.encryptClient(
-      valueArray, encryptedArray, secretStruct.m_parameters);
-  if (result) {
-    secretStruct.m_value = encryptedArray.toByteArray();
-  }
-  return result;
-}
-
-bool DBusSession::decrypt(
-    const DBusSecretStruct& secretStruct, QVariant& value)
-{
-  QCA::SecureArray valueArray;
-  bool result = openSessionJob->secretCodec.decryptClient(
-      secretStruct.m_value, secretStruct.m_parameters, valueArray);
-  if (result) {
-    value = valueArray.toByteArray();
-  }
-  return result;
-}
-
-OrgFreedesktopSecretServiceInterface* DBusSession::serviceIf()
-{
-  Q_ASSERT(openSessionJob->serviceIf != 0);
-  return openSessionJob->serviceIf;
-}
diff --git a/src/api/ksecrets/fd.o/dbusbackend.h b/src/api/ksecrets/fd.o/dbusbackend.h
deleted file mode 100644
index 350dd06..0000000
--- a/src/api/ksecrets/fd.o/dbusbackend.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef DBUSBACKEND_H
-#define DBUSBACKEND_H
-
-#include "ksecretsservicedbustypes.h"
-#include "ksecretsservicecodec.h"
-
-#include <kjob.h>
-
-#include <QDBusObjectPath>
-#include <QEventLoopLocker>
-
-class OrgFreedesktopSecretCollectionInterface;
-class OrgFreedesktopSecretServiceInterface;
-class OrgFreedesktopSecretSessionInterface;
-class OrgFreedesktopSecretPromptInterface;
-class OrgFreedesktopSecretItemInterface;
-class QDBusPendingCallWatcher;
-
-namespace KSecrets {
-
-/**
- * Current implementation of the client API uses the public DBus interface exposed by the
- * daemon. As such, it'll allow this library to interface with gnome-keyring if needed
- *
- * NOTE: this class is not intended to be part of the client public API
- */
-class DBusSession {
-public:
-
-    /**
-     * This @return a job allowing connection to the KSecrets daemon via dbus
-     */
-    static QFuture<DBusSession*> openSession();
-
-    static OrgFreedesktopSecretPromptInterface * createPromptIf( const QDBusObjectPath &path \
                );
-    static OrgFreedesktopSecretCollectionInterface * createCollectionIf( const QDBusObjectPath \
                &path );
-    static OrgFreedesktopSecretItemInterface * createItemIf( const QDBusObjectPath &path );
-    static OrgFreedesktopSecretServiceInterface * serviceIf();
-    static QDBusObjectPath sessionPath();
-    /**
-     * @return true if the variant was successfully encrypted
-     */
-    static bool encrypt( const QVariant& value, DBusSecretStruct& secretStruct );
-    /**
-     * @return true if the secret struct was successfully decrypted
-     */
-    static bool decrypt( const DBusSecretStruct &secretStruct, QVariant& value );
-
-private:
-    DBusSession();
-
-    QEventLoopLocker locker;
-
-    static const QString        encryptionAlgorithm;
-    // static OpenSessionJob       *openSessionJob;
-};
-
-} // namespace
-
-#endif // DBUSBACKEND_H
diff --git a/src/api/ksecrets/fd.o/ksecretscollectiondbus.cpp \
b/src/api/ksecrets/fd.o/ksecretscollectiondbus.cpp deleted file mode 100644
index 81d95eb..0000000
--- a/src/api/ksecrets/fd.o/ksecretscollectiondbus.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-
-#include "ksecretscollectiondbus_p.h"
-
-namespace KSecrets {
-
-QMap<QDBusObjectPath, CollectionPrivate*>
-    CollectionPrivateDbus::collectionMap;
-
-CollectionPrivateDbus::CollectionPrivateDbus() :
-    collectionIf(0)
-{
-}
-
-CollectionPrivateDbus::~CollectionPrivateDbus()
-{
-  if (collectionMap.contains(dbusPath)) {
-    collectionMap.remove(dbusPath);
-  }
-}
-
-bool CollectionPrivateDbus::isValid()
-{
-  // NOTE: do not call collectionInterface() to get the interface pointer, if
-  // not you'll get an infinite recursive call
-  return collectionIf && collectionIf->isValid()
-      && (collectionStatus == Collection::FoundExisting
-             || collectionStatus == Collection::NewlyCreated);
-}
-
-void CollectionPrivateDbus::setDBusPath(const QDBusObjectPath& path)
-{
-  collectionIf = DBusSession::createCollectionIf(path);
-  if (collectionIf->isValid()) {
-    qDebug() << "SUCCESS opening collection " << path.path();
-    collectionMap.insert(path, this);
-    dbusPath = path;
-  }
-  else {
-    setStatus(Collection::NotFound);
-    qDebug() << "ERROR opening collection " << path.path();
-  }
-}
-
-OrgFreedesktopSecretCollectionInterface*
-CollectionPrivateDbus::collectionInterface()
-{
-  if ((collectionIf == 0) || (!collectionIf->isValid())) {
-  }
-  return collectionIf;
-}
-
-void CollectionPrivateDbus::notifyCollectionChanged(
-    const QDBusObjectPath& path)
-{
-  if (collectionMap.contains(path)) {
-    CollectionPrivate* cp = collectionMap[path];
-    cp->collection->emitContentsChanged();
-  }
-  else {
-    qDebug() << "Ignoring notifyCollectionChanged for " << path.path();
-  }
-}
-
-void CollectionPrivateDbus::notifyCollectionDeleted(
-    const QDBusObjectPath& path)
-{
-  if (collectionMap.contains(path)) {
-    CollectionPrivate* cp = collectionMap[path];
-    cp->collection->emitDeleted();
-  }
-  else {
-    qDebug() << "Ignoring notifyCollectionDeleted for " << path.path();
-  }
-}
-}
-
diff --git a/src/api/ksecrets/fd.o/ksecretscollectiondbus_p.h \
b/src/api/ksecrets/fd.o/ksecretscollectiondbus_p.h deleted file mode 100644
index 6b37138..0000000
--- a/src/api/ksecrets/fd.o/ksecretscollectiondbus_p.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-#ifndef KSECRETSCOLLECTIONDBUS_P
-#define KSECRETSCOLLECTIONDBUS_P
-
-#include "../ksecretscollection_p.h"
-
-namespace KSecrets {
-
-class CollectionPrivateDbus : public CollectionPrivate {
-  CollectionPrivateDbus();
-  virtual ~CollectionPrivateDbus();
-  void setDBusPath(const QDBusObjectPath& collPath);
-  bool isValid() const;
-
-  OrgFreedesktopSecretCollectionInterface* collectionInterface();
-  static void notifyCollectionDeleted(const QDBusObjectPath&);
-  static void notifyCollectionChanged(const QDBusObjectPath&);
-
-  static QMap<QDBusObjectPath, CollectionPrivate*> collectionMap;
-  QDBusObjectPath dbusPath;
-
-private:
-  OrgFreedesktopSecretCollectionInterface* collectionIf;
-};
-
-}
-
-#endif
diff --git a/src/api/ksecrets/fd.o/ksecretsitemdbus.cpp \
b/src/api/ksecrets/fd.o/ksecretsitemdbus.cpp deleted file mode 100644
index 1b84f78..0000000
--- a/src/api/ksecrets/fd.o/ksecretsitemdbus.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-
-#include "ksecretsitemdbus_p.h"
-
-SecretItemPrivateDbus::SecretItemPrivateDbus()
-    : _itemIf(0)
-{
-}
-
-SecretItemPrivateDbus::SecretItemPrivateDbus(const QDBusObjectPath& dbusPath)
-    : _itemIf(0)
-{
-  _itemIf = DBusSession::createItemIf(dbusPath);
-}
-
-SecretItemPrivateDbus::SecretItemPrivateDbus(
-    const SecretItemPrivateDbus& that)
-    : _itemIf(that.itemIf)
-{
-}
-
-bool SecretItemPrivateDbus::isValid() const
-{
-  return _itemIf && _itemIf->isValid();
-}
diff --git a/src/api/ksecrets/fd.o/ksecretsitemdbus_p.h \
b/src/api/ksecrets/fd.o/ksecretsitemdbus_p.h deleted file mode 100644
index 36bc9f6..0000000
--- a/src/api/ksecrets/fd.o/ksecretsitemdbus_p.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-#ifndef KSECRETSITEMDBUS_P_H
-#define KSECRETSITEMDBUS_P_H
-
-#include "../ksecretsitem_p.h"
-
-class OrgFreedesktopSecretItemInterface;
-namespace KSecrets {
-
-class SecretItemPrivateDbus : public KSecretsItemPrivate {
-  SecretItemPrivateDbus();
-  SecretItemPrivateDbus(const QDBusObjectPath& dbusPath);
-  SecretItemPrivateDbus(const SecretItemPrivate& that);
-  ~SecretItemPrivateDbus();
-  OrgFreedesktopSecretItemInterface* itemIf() const { return _itemIf; }
-  virtual bool isValid() const;
-
-  private:
-  OrgFreedesktopSecretItemInterface* _itemIf;
-};
-}
-
-#endif
diff --git a/src/api/ksecrets/fd.o/ksecretsservicecodec.cpp \
b/src/api/ksecrets/fd.o/ksecretsservicecodec.cpp deleted file mode 100644
index 273f861..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicecodec.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright 2010, Michael Leupold <lemma@confuego.org>
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include <QDebug>
-
-using namespace KSecrets;
-
-SecretCodec::SecretCodec() :
-    m_cipher(0),
-    m_mode(ModeUnitialized)
-{
-}
-
-SecretCodec::~SecretCodec()
-{
-    delete m_cipher;
-}
-
-bool SecretCodec::initServer(const QString& algorithm, const QVariant& input, QVariant& \
                output)
-{
-    if ( m_mode != ModeUnitialized ) {
-        qDebug() << "ERROR the code is already initialized";
-        Q_ASSERT(0);
-        return false;
-    }
-
-    m_mode = ModeServer;
-
-    if ( algorithm.compare( QString::fromLatin1( AlgorithmPlain ) ) == 0 ) {
-        qDebug() << "Initializing a PLAIN (noencrypting) server codec";
-    }
-    else {
-
-        static QRegExp rxAlgorithm( QStringLiteral( "^dh-ietf(\\d+)-([^-]+)-([^-]+)-([^-]+)$" \
                ),
-                                Qt::CaseInsensitive);
-
-        if(rxAlgorithm.exactMatch(algorithm) &&
-                input.type() == QVariant::ByteArray) {
-            QString encalgo = rxAlgorithm.cap(2).toLower();
-            QString blockmode = rxAlgorithm.cap(3).toLower();
-            QString padding = rxAlgorithm.cap(4).toLower();
-
-            QCA::KeyGenerator keygen;
-
-            // determine the discrete logarithm group to use
-            QCA::DLGroupSet groupnum;
-            switch(rxAlgorithm.cap(1).toInt()) {
-            case 768:
-                groupnum = QCA::IETF_768;
-                break;
-            case 1024:
-                groupnum = QCA::IETF_1024;
-                break;
-            case 1536:
-                groupnum = QCA::IETF_1536;
-                break;
-            case 2048:
-                groupnum = QCA::IETF_2048;
-                break;
-            case 3072:
-                groupnum = QCA::IETF_3072;
-                break;
-            case 4096:
-                groupnum = QCA::IETF_4096;
-                break;
-            case 6144:
-                groupnum = QCA::IETF_6144;
-                break;
-            case 8192:
-                groupnum = QCA::IETF_8192;
-                break;
-            default:
-                // no known discrete logarithm group
-                return false;
-            }
-            QCA::DLGroup dlgroup(keygen.createDLGroup(groupnum));
-            if(dlgroup.isNull()) {
-                return false;
-            }
-
-            // determine if we support (or want to support)
-            // the encryption algorithm.
-            if( ( encalgo == QStringLiteral( "blowfish" ) ||
-                  encalgo == QStringLiteral( "twofish" ) ||
-                  encalgo == QStringLiteral( "aes128" ) ||
-                  encalgo == QStringLiteral( "aes192" ) ||
-                  encalgo == QStringLiteral( "aes256" ) ) &&
-                QCA::isSupported( QStringLiteral( "%1-%2-%3" )
-                                  .arg( encalgo, blockmode, padding )
-                                  .toLatin1().constData())) {
-
-                // get client's public key
-                QCA::DHPublicKey clientKey(dlgroup,
-                                        \
                QCA::BigInteger(QCA::SecureArray(input.toByteArray())));
-                // generate own private key
-                QCA::PrivateKey privKey(keygen.createDH(dlgroup));
-                // generate the shared symmetric key
-                QCA::SymmetricKey sharedKey(privKey.deriveKey(clientKey));
-
-                QCA::Cipher::Mode cbm;
-                if( blockmode == QStringLiteral( "cbc" ) ) {
-                    cbm = QCA::Cipher::CBC;
-                } else {
-                    return false;
-                }
-
-                QCA::Cipher::Padding cp;
-                if(padding == QStringLiteral( "pkcs7" ) ) {
-                    cp = QCA::Cipher::PKCS7;
-                } else if(padding == QStringLiteral( "default" ) ) {
-                    cp = QCA::Cipher::DefaultPadding;
-                } else {
-                    return false;
-                }
-
-                QCA::Cipher *cipher = new QCA::Cipher(encalgo, cbm, cp);
-
-                // check if creating the cipher worked and if our shared
-                // key is longer than the minimum length required.
-                if(sharedKey.size() >= cipher->keyLength().minimum()) {
-                    output.setValue(privKey.toPublicKey().toDH().y().toArray().toByteArray());
-                    return true;
-                }
-            }
-        }
-    }
-
-    return false;
-}
-
-bool SecretCodec::initClient(const QString& algorithm, const QVariant serverOutput)
-{
-    Q_UNUSED( serverOutput )
-    if ( m_mode != ModeUnitialized ) {
-        qDebug() << "ERROR the code is already initialized";
-        Q_ASSERT(0);
-        return false;
-    }
-
-    m_mode = ModeClient;
-
-    if ( algorithm.compare( QString::fromLatin1( AlgorithmPlain ) ) == 0 ) {
-        qDebug() << "Initializing a PLAIN (noencrypting) client codec";
-    }
-    else {
-        // TODO: implement other cases here
-        Q_ASSERT(0);
-    }
-
-    return true;
-}
-
-bool SecretCodec::encryptServer(const QCA::SecureArray& value, QCA::SecureArray& encrypted, \
                QByteArray &encryptedParams)
-{
-    Q_ASSERT( m_mode == ModeServer );
-    if (m_cipher) {
-        QCA::InitializationVector iv(m_cipher->blockSize());
-        m_cipher->setup(QCA::Encode, m_symmetricKey, iv);
-        QCA::SecureArray encval = m_cipher->update(value);
-        if(!m_cipher->ok()) {
-            return false;
-        }
-        encval += m_cipher->final();
-        if(!m_cipher->ok()) {
-            return false;
-        }
-        encrypted = encval.toByteArray();
-        encryptedParams = iv.toByteArray();
-    }
-    else {
-        // unencrypted session
-        encrypted = value;
-    }
-    return true;
-}
-
-bool SecretCodec::decryptServer(const QCA::SecureArray& encrypted, const QByteArray \
                &encryptedParams, QCA::SecureArray& value)
-{
-    Q_ASSERT( m_mode == ModeServer );
-    if (m_cipher) {
-        if(encryptedParams.size() != m_cipher->blockSize()) {
-            return false;
-        }
-        QCA::InitializationVector iv(encryptedParams);
-        m_cipher->setup(QCA::Decode, m_symmetricKey, iv);
-        value = m_cipher->update(encrypted);
-        if(!m_cipher->ok()) {
-            return false;
-        }
-        value += m_cipher->final();
-        if(!m_cipher->ok()) {
-            return false;
-        }
-    }
-    else {
-        value = encrypted;
-    }
-    return true;
-}
-
-bool SecretCodec::encryptClient(const QCA::SecureArray& value, QCA::SecureArray& encrypted, \
                QByteArray& encryptedParams)
-{
-    Q_UNUSED( encryptedParams )
-    if ( m_cipher ) {
-        // TODO: implement client-side encryption
-        Q_ASSERT(0);
-    }
-    else {
-        encrypted = value;
-    }
-    return true;
-}
-
-bool SecretCodec::decryptClient(const QCA::SecureArray& encrypted, const QByteArray& \
                encryptedParams, QCA::SecureArray& value)
-{
-    Q_UNUSED( encryptedParams )
-    if ( m_cipher ) {
-        // TODO: implement client-side decryption
-        Q_ASSERT(0);
-    }
-    else {
-        value = encrypted;
-    }
-    return true;
-}
diff --git a/src/api/ksecrets/fd.o/ksecretsservicecodec.h \
b/src/api/ksecrets/fd.o/ksecretsservicecodec.h deleted file mode 100644
index 3114e08..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicecodec.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef KSECRETSCODEC_H
-#define KSECRETSCODEC_H
-
-namespace KSecrets {
-
-/**
- * @class SecretCodec
- * @internal
- *
- * This class is used internally by the KSecrets infrastructure for communicating between the
- * client API and the ksecretsserviced daemon. This communication is done over the DBus in the
- * current implementation. As such, messages payload need encryption to avoid eavesdropping.
- */
-class KSECRETS_EXPORT SecretCodec {
-public:
-    SecretCodec();
-    ~SecretCodec();
-
-    static const char* AlgorithmPlain;
-
-    bool initServer( const QString &algorithm, const QVariant &input, QVariant &output );
-    bool initClient( const QString &algorithm, const QVariant serverOutput );
-    // bool encryptServer( const QCA::SecureArray &value, QCA::SecureArray &encrypted, \
                QByteArray &encryptedParams );
-    // bool decryptServer( const QCA::SecureArray &encrypted, const QByteArray \
                &encryptedParams, QCA::SecureArray &value );
-    // bool encryptClient( const QCA::SecureArray &value, QCA::SecureArray &encrypted, \
                QByteArray &encryptedParams );
-    // bool decryptClient( const QCA::SecureArray &encrypted, const QByteArray \
                &encryptedParams, QCA::SecureArray &value );
-
-private:
-    enum Mode {
-        ModeUnitialized =0,
-        ModeServer,
-        ModeClient
-    };
-    // QCA::Cipher         *m_cipher;
-    // QCA::SymmetricKey   m_symmetricKey;
-    Mode                m_mode;
-};
-
-}; // namespace
-
-#endif // KSECRETSCODEC_H
diff --git a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.cpp \
b/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.cpp deleted file mode 100644
index cc76e6d..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.cpp
+++ /dev/null
@@ -1,1157 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "ksecretsservicecollectionjobs.h"
-#include "ksecretsservicecollectionjobs_p.h"
-#include "ksecretsservicecollection_p.h"
-#include "ksecretsitem_p.h"
-#include "service_interface.h"
-#include "collection_interface.h"
-#include "item_interface.h"
-#include "ksecretsservicedbustypes.h"
-#include "ksecretssecret_p.h"
-#include "promptjob.h"
-
-#include <QDBusPendingCallWatcher>
-#include <QDBusPendingReply>
-#include <QSharedDataPointer>
-#include <QDebug>
-#include <prompt_interface.h>
-#include <QWidget>
-#include <klocalizedstring.h>
-
-using namespace KSecrets;
-
-CollectionJobPrivate::CollectionJobPrivate() :
-    collection( 0 )
-{
-}
-
-CollectionJob::CollectionJob(Collection *collection, QObject* parent) :
-            KCompositeJob( parent ),
-            d( new CollectionJobPrivate() )
-{
-    d->collection = collection;
-}
-
-CollectionJob::~CollectionJob()
-{
-}
-
-Collection *CollectionJob::collection() const
-{
-    return d->collection;
-}
-
-void CollectionJob::finishedWithError( CollectionError err, const QString &errTxt )
-{
-    // FIXME: check that this will also abort the parent job
-    setError( err );
-    setErrorText( errTxt );
-    emitResult();
-}
-
-void CollectionJob::finishedOk()
-{
-    setError( NoError );
-    emitResult();
-}
-
-bool CollectionJob::addSubjob( KJob* theJob )
-{
-    return KCompositeJob::addSubjob( theJob );
-}
-
-void CollectionJob::startFindCollection()
-{
-    if ( !d->collection->d->isValid() ) {
-        FindCollectionJob *findJob = new FindCollectionJob( d->collection, this );
-        if ( addSubjob( findJob ) ) {
-            findJob->start();
-        }
-        else {
-            qDebug() << "FindCollectionJob failed to start";
-            setError( InternalError );
-            emitResult();
-        }
-    }
-    else {
-        // collection was already found or created, just trigger this
-        unlockCollection();
-    }
-}
-
-void CollectionJob::slotResult(KJob* job)
-{
-    KCompositeJob::slotResult(job);
-    if ( job->error() == 0 ) {
-        FindCollectionJob *findJob = qobject_cast< FindCollectionJob* >( job );
-        if ( findJob != 0 ) {
-            unlockCollection();
-        }
-        else {
-            UnlockCollectionJob *unlockJob = qobject_cast< UnlockCollectionJob* >( job );
-            if ( unlockJob != 0 ) {
-                onFindCollectionFinished();
-            }
-        }
-    }
-}
-
-void CollectionJob::unlockCollection()
-{
-    UnlockCollectionJob *unlockJob = new UnlockCollectionJob( collection(), 0 ); // FIXME: put \
                a real window id here
-    if ( addSubjob( unlockJob ) ) {
-        unlockJob->start();
-        // virtual method slotResult will be called upon job finish
-    }
-    else {
-        qDebug() << "Cannot add unlock subjob";
-        finishedWithError(InternalError, i18n("Cannot start secret collection unlocking") );
-    }
-}
-
-void CollectionJob::onFindCollectionFinished()
-{
-    // nothing to do in this base implementation
-}
-
-
-FindCollectionJob::FindCollectionJob(   Collection *collection,
-                                        QObject *parent ) :
-            CollectionJob( collection, parent ),
-            d( new FindCollectionJobPrivate( this, collection->d.data() ) )
-{
-    d->collectionName = collection->d->collectionName;
-    d->findCollectionOptions = collection->d->findOptions;
-}
-
-FindCollectionJob::~FindCollectionJob()
-{
-}
-
-void FindCollectionJob::start()
-{
-    // meanwhile another findJob instance would have already connected our collection object
-    if ( ! collection()->d->isValid() ) {
-        d->startCreateOrOpenCollection();
-    }
-    else {
-        setError( 0 );
-        emitResult();
-    }
-}
-
-void FindCollectionJob::foundCollection()
-{
-    d->collectionPrivate->setStatus( Collection::FoundExisting );
-    finishedOk();
-}
-
-void FindCollectionJob::createdCollection()
-{
-    d->collectionPrivate->setStatus( Collection::NewlyCreated );
-    finishedOk();
-}
-
-FindCollectionJobPrivate::FindCollectionJobPrivate(FindCollectionJob *fcj, CollectionPrivate \
                *cp ) :
-        findJob( fcj), collectionPrivate( cp )
-{
-}
-
-void FindCollectionJobPrivate::createFinished(QDBusPendingCallWatcher* watcher)
-{
-    QDBusPendingReply< QDBusObjectPath, QDBusObjectPath > createReply = *watcher;
-    Q_ASSERT( createReply.isFinished() ); // "on ne sait jamais"
-    if ( watcher->isError() ) {
-        qDebug() << "creating collection '" << collectionName << "' failed";
-        qDebug() << "DBusError.type = " << createReply.error().type();
-        qDebug() << "DBusError.name = " << createReply.error().name();
-        qDebug() << "DBusError.message = " << createReply.error().message();
-        findJob->finishedWithError( CollectionJob::CreateError, createReply.error().message() \
                );
-    }
-    else {
-        QDBusObjectPath collPath = createReply.argumentAt<0>();
-        QDBusObjectPath promptPath = createReply.argumentAt<1>();
-
-        if ( collPath.path().compare( QStringLiteral( "/" ) ) == 0 ) {
-            // we need prompting
-            Q_ASSERT( promptPath.path().compare( QStringLiteral( "/" ) ) ); // we should have \
                a prompt path here other than "/"
-            PromptJob *promptJob = new PromptJob( promptPath, \
                collectionPrivate->promptParentId(), this );
-            if ( findJob->addSubjob( promptJob ) ) {
-                connect( promptJob, SIGNAL(finished(KJob*)), this, \
                SLOT(createPromptFinished(KJob*)) );
-                promptJob->start();
-            }
-            else {
-                promptJob->deleteLater();
-                qDebug() << "cannot add prompt subjob!";
-                findJob->finishedWithError( CollectionJob::InternalError, i18n("Cannot add \
                prompt job") );
-            }
-        }
-        else {
-            findJob->d->collectionPrivate->setDBusPath( collPath );
-            findJob->createdCollection();
-        }
-    }
-    watcher->deleteLater();
-}
-
-void FindCollectionJobPrivate::createPromptFinished( KJob* job )
-{
-    PromptJob *promptJob = dynamic_cast< PromptJob* >( job );
-    if ( promptJob->error() == 0 ) {
-        if ( !promptJob->isDismissed() ) {
-            QDBusVariant promptResult = promptJob->result();
-            QDBusObjectPath collPath = promptResult.variant().value< QDBusObjectPath >();
-            findJob->d->collectionPrivate->setDBusPath( collPath );
-            findJob->createdCollection();
-        }
-        else {
-            findJob->finishedWithError( CollectionJob::OperationCancelledByTheUser, i18n("The \
                operation was cancelled by the user") );
-        }
-    }
-    else {
-        findJob->finishedWithError( CollectionJob::InternalError, i18n("Error encountered when \
                trying to prompt the user") );
-    }
-    job->deleteLater();
-}
-
-
-void FindCollectionJobPrivate::startCreateOrOpenCollection()
-{
-    OpenSessionJob *openSessionJob = DBusSession::openSession();
-    if ( findJob->addSubjob( openSessionJob ) ) {
-        connect( openSessionJob, SIGNAL(finished(KJob*)), this, \
                SLOT(openSessionFinished(KJob*)) );
-        openSessionJob->start();
-    }
-    else {
-        qDebug() << "Cannot OpenSessionJob subjob";
-        findJob->finishedWithError( CollectionJob::InternalError, i18n("Cannot open session") \
                );
-    }
-}
-
-void FindCollectionJobPrivate::openSessionFinished(KJob* theJob)
-{
-    if ( !theJob->error() ) {
-
-        QList< QDBusObjectPath > collPaths = DBusSession::serviceIf()->collections();
-        foreach ( const QDBusObjectPath &collPath, collPaths ) {
-            OrgFreedesktopSecretCollectionInterface *coll = DBusSession::createCollectionIf( \
                collPath );
-            coll->deleteLater();
-            if ( coll->label() == collectionName ) {
-                findJob->d->collectionPrivate->setDBusPath( collPath );
-                findJob->foundCollection();
-                return; // sometimes middle method returns are awfully handy :-)
-            }
-        }
-
-        // we get here because collection doesn't exist
-
-        if ( collectionPrivate->findOptions == Collection::CreateCollection ) {
-            OpenSessionJob *openSessionJob = dynamic_cast< OpenSessionJob * >( theJob );
-            QVariantMap creationProperties = collectionPrivate->collectionProperties;
-            creationProperties.insert( QStringLiteral( \
                "org.freedesktop.Secret.Collection.Label" ), collectionName);
-            QDBusPendingReply< QDBusObjectPath, QDBusObjectPath > createReply = \
                openSessionJob->serviceInterface()->CreateCollection(
-                creationProperties, collectionName );
-            QDBusPendingCallWatcher *createReplyWatch = new QDBusPendingCallWatcher( \
                createReply, this );
-            connect( createReplyWatch, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(createFinished(QDBusPendingCallWatcher*)) );
-        }
-        else {
-            findJob->finishedWithError( CollectionJob::CollectionNotFound, i18n("Cannot find a \
                secret collection named '%1'", collectionName) );
-        }
-    }
-}
-
-
-ListCollectionsJob::ListCollectionsJob() :
-    d( new ListCollectionsJobPrivate( this ) )
-{
-    connect( d.data(), SIGNAL(listingDone()), this, SLOT(slotListCollectionsDone()) );
-    connect( d.data(), SIGNAL(listingError()), this, SLOT(slotListCollectionsError()) );
-}
-
-ListCollectionsJob::~ListCollectionsJob()
-{
-}
-
-bool ListCollectionsJob::addSubjob(KJob* job)
-{
-    return KCompositeJob::addSubjob( job );
-}
-
-void ListCollectionsJob::start()
-{
-    d->startListingCollections();
-}
-
-void ListCollectionsJob::slotListCollectionsDone()
-{
-    setError(0);
-    emitResult();
-}
-
-void ListCollectionsJob::slotListCollectionsError()
-{
-    setError(1);
-    setErrorText( i18n("Cannot list collections because a backend communication error") );
-    emitResult();
-}
-
-const QStringList &ListCollectionsJob::collections() const
-{
-    return d->collections;
-}
-
-ListCollectionsJobPrivate::ListCollectionsJobPrivate( ListCollectionsJob *job ) :
-    listCollectionsJob(job)
-{
-}
-
-void ListCollectionsJobPrivate::startListingCollections()
-{
-    OpenSessionJob *openSessionJob = DBusSession::openSession();
-    if (listCollectionsJob->addSubjob( openSessionJob )) {
-        connect( openSessionJob, SIGNAL(finished(KJob*)), this, \
                SLOT(slotOpenSessionFinished(KJob*)) );
-        openSessionJob->start();
-    }
-    else {
-        qDebug() << "Cannot add OpenSessionJob!";
-        emit listingError();
-    }
-}
-
-void ListCollectionsJobPrivate::slotOpenSessionFinished(KJob* job) {
-    OpenSessionJob *openSessionJob = qobject_cast< OpenSessionJob* >(job);
-    Q_ASSERT(openSessionJob != 0);
-    if (openSessionJob->error() == 0) {
-        QList<QDBusObjectPath> collPaths = DBusSession::serviceIf()->collections();
-        foreach( const QDBusObjectPath &path, collPaths ) {
-            OrgFreedesktopSecretCollectionInterface *coll = DBusSession::createCollectionIf( \
                path );
-            if (coll->isValid()) {
-                collections.append( coll->label() );
-            }
-            else {
-                qDebug() << "Cannot bind to collection " << path.path();
-                emit listingError();
-            }
-            coll->deleteLater();
-        }
-        emit listingDone();
-    }
-    else {
-        qDebug() << "OpenSessionJob returned error " << openSessionJob->errorString();
-        emit listingError();
-    }
-}
-
-DeleteCollectionJob::DeleteCollectionJob( Collection* collection, QObject* parent ) :
-        CollectionJob( collection, parent),
-        d( new DeleteCollectionJobPrivate( collection->d.data(), this ) )
-{
-}
-
-DeleteCollectionJob::~DeleteCollectionJob()
-{
-}
-
-void DeleteCollectionJob::start()
-{
-    // ensure we have the connection to the daemon and we have a valid collection
-    // this will trigger onFindCollectionFinished
-    startFindCollection();
-}
-
-void DeleteCollectionJob::onFindCollectionFinished()
-{
-    connect( d.data(), SIGNAL(deleteIsDone(CollectionJob::CollectionError,QString)), this, \
                SLOT(deleteIsDone(CollectionJob::CollectionError,QString)) );
-    // now performe the real delete operation on the backend
-    d->startDelete();
-}
-
-void KSecrets::DeleteCollectionJob::deleteIsDone(CollectionError err, const QString& errMsg )
-{
-    finishedWithError( err, errMsg );
-    d->cp->setStatus( Collection::Deleted );
-}
-
-DeleteCollectionJobPrivate::DeleteCollectionJobPrivate( CollectionPrivate* collp, QObject* \
                parent ) :
-        QObject( parent ),
-        cp( collp )
-{
-}
-
-void DeleteCollectionJobPrivate::startDelete()
-{
-    QDBusPendingReply<QDBusObjectPath> deleteReply = cp->collectionInterface()->Delete();
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( deleteReply, this );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(callFinished(QDBusPendingCallWatcher*)) );
-}
-
-void DeleteCollectionJobPrivate::callFinished( QDBusPendingCallWatcher*  watcher )
-{
-    Q_ASSERT( watcher->isFinished() );
-
-    QDBusPendingReply< QDBusObjectPath > deleteReply = *watcher;
-    CollectionJob::CollectionError err = CollectionJob::NoError;
-    QString msg;
-
-    if ( deleteReply.isError() ) {
-        err = CollectionJob::DeleteError;
-        const QDBusError &dbusErr = deleteReply.error();
-        msg = QStringLiteral("d-bus error %1 (%2)").arg( QDBusError::errorString( \
                dbusErr.type() ) ).arg( dbusErr.message() );
-    }
-
-    qDebug() << "callFinished with err=" << (int)err << " and msg='" << msg << "'";
-    emit deleteIsDone( err, msg );
-    watcher->deleteLater();
-}
-
-
-RenameCollectionJob::RenameCollectionJob( Collection *coll, const QString &newName, QObject \
                *parent ) :
-            CollectionJob( coll, parent ),
-            d( new RenameCollectionJobPrivate( coll->d.data(), this ) )
-{
-    d->newName = newName;
-}
-
-RenameCollectionJob::~RenameCollectionJob()
-{
-}
-
-void RenameCollectionJob::start()
-{
-    startFindCollection(); // this will trigger onFindCollectionFinished if collection exists
-}
-
-void RenameCollectionJob::onFindCollectionFinished()
-{
-    connect( d.data(), SIGNAL(renameIsDone(CollectionJob::CollectionError,QString)), this, \
                SLOT(renameIsDone(CollectionJob::CollectionError,QString)) );
-    d->startRename();
-}
-
-void RenameCollectionJob::renameIsDone( CollectionJob::CollectionError err, const QString& \
                msg)
-{
-    finishedWithError( err, msg );
-    // FIXME: should we change the status of newly created collections here? consider the \
                opened status, for example.
-}
-
-RenameCollectionJobPrivate::RenameCollectionJobPrivate( CollectionPrivate *collPrivate, \
                QObject *parent ) :
-            QObject( parent ),
-            collectionPrivate( collPrivate )
-{
-}
-
-void RenameCollectionJobPrivate::startRename()
-{
-    if ( collectionPrivate->collectionInterface()->setProperty( "Label", QVariant( newName ) ) \
                ) {
-        emit renameIsDone( CollectionJob::NoError, QStringLiteral( "" ) );
-    }
-    else {
-        emit renameIsDone( CollectionJob::RenameError, QStringLiteral( "Cannot rename secret \
                collection to %1" ).arg( newName ) );
-    }
-}
-
-SearchCollectionItemsJob::SearchCollectionItemsJob( Collection *collection,
-                                const QStringStringMap &attributes,
-                                QObject *parent ) :
-    CollectionJob( collection, parent ),
-    d( new SearchCollectionItemsJobPrivate( collection->d.data(), this ) )
-{
-    d->attributes = attributes;
-}
-
-SearchCollectionItemsJob::~SearchCollectionItemsJob()
-{
-}
-
-void SearchCollectionItemsJob::start()
-{
-    startFindCollection(); // this will trigger onFindCollectionFinished
-}
-
-SearchCollectionItemsJob::ItemList SearchCollectionItemsJob::items() const
-{
-    QList< QExplicitlySharedDataPointer< SecretItem > > items;
-    foreach( QSharedDataPointer< SecretItemPrivate > ip, d->items ) {
-        items.append( QExplicitlySharedDataPointer< SecretItem>( new SecretItem(  ip ) ) );
-    }
-    return items;
-}
-
-void SearchCollectionItemsJob::onFindCollectionFinished()
-{
-    d->startSearchItems();
-}
-
-SearchCollectionItemsJobPrivate::SearchCollectionItemsJobPrivate( CollectionPrivate* cp, \
                SearchCollectionItemsJob *job ) :
-    QObject( job ),
-    collectionPrivate( cp ),
-    searchItemJob( job )
-{
-}
-
-void SearchCollectionItemsJobPrivate::startSearchItems()
-{
-    QDBusPendingReply< QList< QDBusObjectPath > > reply = \
                collectionPrivate->collectionInterface()->SearchItems( attributes );
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(searchFinished(QDBusPendingCallWatcher*)) );
-}
-
-void SearchCollectionItemsJobPrivate::searchFinished(QDBusPendingCallWatcher* watcher)
-{
-    Q_ASSERT(watcher != 0);
-    QDBusPendingReply< QList< QDBusObjectPath > > reply = *watcher;
-    if ( !reply.isError() ) {
-        QList< QDBusObjectPath > itemList = reply.argumentAt<0>();
-        foreach( QDBusObjectPath itemPath, itemList ) {
-            items.append( QSharedDataPointer<SecretItemPrivate>( new SecretItemPrivate( \
                itemPath ) ) );
-        }
-        searchItemJob->finishedOk();
-    }
-    else {
-        qDebug() << "ERROR searching items";
-        searchItemJob->finishedWithError( CollectionJob::InternalError, i18n("ERROR searching \
                items") );
-    }
-    watcher->deleteLater();
-}
-
-
-SearchCollectionSecretsJob::SearchCollectionSecretsJob( Collection* collection, const \
                QStringStringMap &attributes, QObject* parent ) :
-    CollectionJob( collection, parent ),
-    d( new SearchCollectionSecretsJobPrivate( collection->d.data(), attributes ) )
-{
-}
-
-SearchCollectionSecretsJob::~SearchCollectionSecretsJob()
-{
-}
-
-QList< Secret > SearchCollectionSecretsJob::secrets() const
-{
-    QList< Secret > result;
-    foreach( QSharedDataPointer< SecretPrivate > sp, d->secretsList ) {
-        result.append( Secret( sp ) );
-    }
-    return result;
-}
-
-void SearchCollectionSecretsJob::start()
-{
-    startFindCollection(); // this will trigger onFindCollectionFinished
-}
-
-void SearchCollectionSecretsJob::onFindCollectionFinished()
-{
-    connect( d.data(), SIGNAL(searchIsDone(CollectionJob::CollectionError,QString)), this, \
                SLOT(searchIsDone(CollectionJob::CollectionError,QString)) );
-    d->startSearchSecrets();
-}
-
-void SearchCollectionSecretsJob::searchIsDone( CollectionJob::CollectionError err, const \
                QString& msg)
-{
-    finishedWithError( err, msg );
-}
-
-SearchCollectionSecretsJobPrivate::SearchCollectionSecretsJobPrivate( CollectionPrivate *cp, \
                const QStringStringMap &attrs, QObject *parent ) :
-    QObject( parent ),
-    collectionPrivate( cp ),
-    attributes( attrs )
-{
-}
-
-void SearchCollectionSecretsJobPrivate::startSearchSecrets()
-{
-    QDBusPendingReply<QList<QDBusObjectPath> > searchReply = \
                collectionPrivate->collectionInterface()->SearchItems( attributes );
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( searchReply, this );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(searchSecretsReply(QDBusPendingCallWatcher*)));
-}
-
-void SearchCollectionSecretsJobPrivate::searchSecretsReply( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT( watcher );
-    QDBusPendingReply<QList<QDBusObjectPath> > searchReply = *watcher;
-    if ( !searchReply.isError() ) {
-        QList< QDBusObjectPath > pathList = searchReply.value();
-        qDebug() << "FOUND " << pathList.count() << " secrets";
-        if ( pathList.count() >0 ) {
-            QDBusPendingReply<DBusObjectPathSecretMap> getReply = \
                DBusSession::serviceIf()->GetSecrets( pathList, DBusSession::sessionPath() );
-            QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( getReply );
-            connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(getSecretsReply(QDBusPendingCallWatcher*)) );
-        }
-        else {
-           emit searchIsDone( CollectionJob::NoError, QStringLiteral( "" ) );
-        }
-    }
-    else {
-        qDebug() << "ERROR searching items";
-        emit searchIsDone( CollectionJob::InternalError, QStringLiteral( "ERROR searching \
                items" ) );
-    }
-    watcher->deleteLater();
-}
-
-void SearchCollectionSecretsJobPrivate::getSecretsReply(QDBusPendingCallWatcher* watcher)
-{
-    Q_ASSERT(watcher != 0);
-    QDBusPendingReply<DBusObjectPathSecretMap> getReply = *watcher;
-    if ( !getReply.isError() ) {
-        foreach (DBusSecretStruct secret, getReply.value()) {
-            SecretPrivate *sp =0;
-            if ( SecretPrivate::fromSecretStruct( secret, sp ) ) {
-                secretsList.append( QSharedDataPointer<SecretPrivate>( sp ) );
-            }
-            else {
-                qDebug() << "ERROR decrypting the secret";
-                emit searchIsDone( CollectionJob::InternalError, QStringLiteral( "ERROR \
                decrypting the secret" ) );
-            }
-        }
-        emit searchIsDone( CollectionJob::NoError, QStringLiteral( "" ) );
-    }
-    else {
-        qDebug() << "ERROR trying to retrieve the secrets";
-        emit searchIsDone( CollectionJob::InternalError, QStringLiteral( "ERROR trying to \
                retrieve the secrets" ) );
-    }
-    watcher->deleteLater();
-}
-
-
-CreateCollectionItemJob::CreateCollectionItemJob( Collection *collection,
-                              const QString& label,
-                              const QMap< QString, QString >& attributes,
-                              const Secret& secret,
-                              CreateItemOptions options
-                            ) :
-            CollectionJob( collection, collection ),
-            d( new CreateCollectionItemJobPrivate( collection->d.data(), collection ) )
-{
-    d->createItemJob = this;
-    d->label = label;
-    d->attributes = attributes;
-    d->secretPrivate = secret.d;
-    d->options = options;
-}
-
-CreateCollectionItemJob::~CreateCollectionItemJob()
-{
-}
-
-SecretItem * CreateCollectionItemJob::item() const
-{
-    return d->item;
-}
-
-void CreateCollectionItemJob::start()
-{
-    if ( d->label.length() == 0) {
-        finishedWithError( CollectionJob::MissingParameterError, i18n("Please specify an item \
                properly") );
-    }
-    else
-        startFindCollection();
-}
-
-void CreateCollectionItemJob::onFindCollectionFinished()
-{
-    d->startCreateItem();
-}
-
-CreateCollectionItemJobPrivate::CreateCollectionItemJobPrivate( CollectionPrivate *cp, QObject \
                *parent ) :
-        QObject( parent ),
-        collectionPrivate( cp )
-{
-}
-
-void CreateCollectionItemJobPrivate::startCreateItem()
-{
-    QVariantMap varMap;
-    varMap[ QStringLiteral( "Label" ) ] = label;
-    attributes[ QStringLiteral( "Label" ) ] = label;
-    QVariant varAttrs;
-    varAttrs.setValue<StringStringMap>(attributes);
-    varMap[ QStringLiteral( "Attributes" ) ] = varAttrs;
-    DBusSecretStruct secretStruct;
-    if ( secretPrivate->toSecretStruct( secretStruct ) ) {
-        QDBusPendingReply<QDBusObjectPath, QDBusObjectPath> createReply = \
collectionPrivate->collectionInterface()->CreateItem( varMap, secretStruct, options == \
                ReplaceExistingItem );
-        QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( createReply );
-        connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(createItemReply(QDBusPendingCallWatcher*)) );
-    }
-    else {
-        qDebug() << "ERROR preparing DBusSecretStruct";
-        createItemJob->finishedWithError( CollectionJob::CreateError, i18n("Cannot prepare \
                secret structure") );
-    }
-}
-
-void CreateCollectionItemJobPrivate::createItemReply(QDBusPendingCallWatcher* watcher)
-{
-    QDBusPendingReply<QDBusObjectPath, QDBusObjectPath> createReply = *watcher;
-    if ( !createReply.isError() ) {
-        QDBusObjectPath itemPath = createReply.argumentAt<0>();
-        QDBusObjectPath promptPath = createReply.argumentAt<1>();
-        if ( itemPath.path().compare( QStringLiteral( "/" ) ) == 0 ) {
-            PromptJob *promptJob = new PromptJob( promptPath, \
                collectionPrivate->promptParentWindowId, this );
-            if ( createItemJob->addSubjob( promptJob ) ) {
-                connect( promptJob, SIGNAL(finished(KJob*)), this, \
                SLOT(createPromptFinished(KJob*)) );
-                promptJob->start();
-            }
-            else {
-                qDebug() << "ERROR creating prompt job for " << promptPath.path();
-                createItemJob->finishedWithError( CollectionJob::CreateError, i18n("Cannot \
                create prompt job!") );
-            }
-        }
-        else {
-            QSharedDataPointer< SecretItemPrivate > itemPrivate( new SecretItemPrivate( \
                itemPath ) );
-            if ( itemPrivate->isValid() ) {
-                item = new SecretItem( itemPrivate );
-                createItemJob->finishedOk();
-            }
-            else {
-                item = NULL;
-                qDebug() << "ERROR creating item, as it's invalid. path = " << \
                itemPath.path();
-                createItemJob->finishedWithError( CollectionJob::CreateError, i18n("The \
                backend returned an invalid item path or it's no longer present") );
-            }
-        }
-    }
-    else {
-        qDebug() << "ERROR trying to create item : " << createReply.error().message();
-        createItemJob->finishedWithError( CollectionJob::CreateError, i18n("Backend \
                communication error") );
-    }
-    watcher->deleteLater();
-}
-
-void CreateCollectionItemJobPrivate::createPromptFinished(KJob*)
-{
-    // TODO: implement this
-}
-
-
-ReadCollectionItemsJob::ReadCollectionItemsJob( Collection *collection,
-                                        QObject *parent ) :
-    CollectionJob( collection, parent ),
-    d( new ReadCollectionItemsJobPrivate( collection->d.data() ) )
-{
-}
-
-ReadCollectionItemsJob::~ReadCollectionItemsJob()
-{
-}
-
-void ReadCollectionItemsJob::start()
-{
-    startFindCollection();
-}
-
-void ReadCollectionItemsJob::onFindCollectionFinished()
-{
-    // this is a property read - Qt seems to read properties synchrounously
-    setError( 0 );
-    setErrorText( QStringLiteral( "" ) );
-    emitResult();
-}
-
-QList< QExplicitlySharedDataPointer< SecretItem > > ReadCollectionItemsJob::items() const
-{
-    QList< QExplicitlySharedDataPointer< SecretItem > > result;
-    foreach( QSharedDataPointer< SecretItemPrivate > ip, d->readItems() ) {
-        result.append( QExplicitlySharedDataPointer< SecretItem>( new SecretItem( ip ) ) );
-    }
-    return result;
-}
-
-ReadCollectionItemsJobPrivate::ReadCollectionItemsJobPrivate( CollectionPrivate *cp ) :
-    collectionPrivate( cp )
-{
-}
-
-QList< QSharedDataPointer< SecretItemPrivate > > ReadCollectionItemsJobPrivate::readItems() \
                const
-{
-    QList< QSharedDataPointer< SecretItemPrivate > > result;
-    if ( collectionPrivate->collectionInterface() ) {
-        foreach( QDBusObjectPath path, collectionPrivate->collectionInterface()->items() ) {
-            result.append( QSharedDataPointer<SecretItemPrivate>( new SecretItemPrivate( path \
                ) ) );
-        }
-    }
-    return result;
-}
-
-ReadCollectionPropertyJob::ReadCollectionPropertyJob( Collection *coll, const char *propName, \
                QObject *parent ) :
-    CollectionJob( coll, parent ),
-    d( new ReadCollectionPropertyJobPrivate( coll->d.data(), this ) ),
-    propertyReadMember(0)
-{
-    d->propertyName = propName;
-}
-
-ReadCollectionPropertyJob::~ReadCollectionPropertyJob()
-{
-}
-
-ReadCollectionPropertyJob::ReadCollectionPropertyJob( Collection *coll, void \
                (Collection::*propReadMember)( ReadCollectionPropertyJob* ), QObject *parent ) \
                :
-    CollectionJob( coll, parent ),
-    d( new ReadCollectionPropertyJobPrivate( coll->d.data(), this ) ),
-    propertyReadMember( propReadMember )
-{
-}
-
-void ReadCollectionPropertyJob::start()
-{
-    startFindCollection(); // this will trigger onFindCollectionFinished
-}
-
-void ReadCollectionPropertyJob::onFindCollectionFinished()
-{
-    if ( propertyReadMember ) {
-        (collection()->*propertyReadMember)( this );
-        finishedOk();
-    }
-    else {
-        d->startReadingProperty();
-    }
-}
-
-const QVariant& ReadCollectionPropertyJob::propertyValue() const
-{
-    return d->value;
-}
-
-ReadCollectionPropertyJobPrivate::ReadCollectionPropertyJobPrivate( CollectionPrivate *cp, \
                ReadCollectionPropertyJob *job ) :
-    collectionPrivate( cp ),
-    readPropertyJob( job )
-{
-}
-
-void ReadCollectionPropertyJobPrivate::startReadingProperty()
-{
-    value = collectionPrivate->collectionInterface()->property( propertyName );
-    readPropertyJob->finishedOk();
-}
-
-
-WriteCollectionPropertyJob::WriteCollectionPropertyJob( Collection *coll, const char \
                *propName, const QVariant& value, QObject *parent ) :
-    CollectionJob( coll, parent ),
-    d( new WriteCollectionPropertyJobPrivate( coll->d.data(), this ) )
-{
-    d->propertyName = propName;
-    d->value = value;
-}
-
-WriteCollectionPropertyJob::~WriteCollectionPropertyJob()
-{
-}
-
-void WriteCollectionPropertyJob::start()
-{
-    startFindCollection(); // this will trigger onFindCollectionFinished
-}
-
-void WriteCollectionPropertyJob::onFindCollectionFinished()
-{
-    d->startWritingProperty();
-}
-
-WriteCollectionPropertyJobPrivate::WriteCollectionPropertyJobPrivate( CollectionPrivate *cp, \
                WriteCollectionPropertyJob *job ) :
-    collectionPrivate( cp ),
-    writePropertyJob( job )
-{
-}
-
-void WriteCollectionPropertyJobPrivate::startWritingProperty()
-{
-    value = collectionPrivate->collectionInterface()->setProperty( propertyName, value );
-    writePropertyJob->finishedOk();
-}
-
-ChangeCollectionPasswordJob::ChangeCollectionPasswordJob(Collection* collection):
-    CollectionJob( collection ),
-    d( new ChangeCollectionPasswordJobPrivate( collection->d.data(), this ) )
-{
-}
-
-void ChangeCollectionPasswordJob::start()
-{
-    startFindCollection();
-}
-
-void ChangeCollectionPasswordJob::onFindCollectionFinished()
-{
-    d->startChangingPassword();
-}
-
-ChangeCollectionPasswordJobPrivate::ChangeCollectionPasswordJobPrivate( CollectionPrivate *cp, \
                ChangeCollectionPasswordJob *job ) :
-    collectionPrivate( cp ),
-    theJob( job )
-{
-}
-
-void ChangeCollectionPasswordJobPrivate::startChangingPassword()
-{
-    QDBusPendingReply< QDBusObjectPath > reply = \
                collectionPrivate->collectionInterface()->ChangePassword();
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(changePasswordStarted(QDBusPendingCallWatcher*)) );
-}
-
-void ChangeCollectionPasswordJobPrivate::changePasswordStarted( QDBusPendingCallWatcher \
                *watcher )
-{
-    Q_ASSERT(watcher != 0);
-    QDBusPendingReply< QDBusObjectPath > reply = *watcher;
-    if ( !reply.isError() ) {
-        QDBusObjectPath promptPath = reply.argumentAt<0>();
-        PromptJob *promptJob = new PromptJob( promptPath, collectionPrivate->promptParentId(), \
                this );
-        if ( theJob->addSubjob( promptJob ) ) {
-            connect( promptJob, SIGNAL(finished(KJob*)), this, SLOT(promptFinished(KJob*)) );
-            promptJob->start();
-        }
-        else {
-            promptJob->deleteLater();
-            qDebug() << "cannot add prompt subjob!";
-            theJob->finishedWithError( CollectionJob::InternalError, i18n("Cannot add prompt \
                job") );
-        }
-    }
-    else {
-        qDebug() << "ERROR when starting password change " << reply.error().message();
-        theJob->finishedWithError( CollectionJob::InternalError, reply.error().message() );
-    }
-    watcher->deleteLater();
-}
-
-void ChangeCollectionPasswordJobPrivate::promptFinished( KJob* pj )
-{
-    PromptJob *promptJob = dynamic_cast< PromptJob* >( pj );
-    if ( promptJob->error() == 0 ) {
-        if ( !promptJob->isDismissed() ) {
-            theJob->finishedOk();
-        }
-        else {
-            theJob->finishedWithError( CollectionJob::OperationCancelledByTheUser, i18n("The \
                operation was cancelled by the user") );
-        }
-    }
-    else {
-        theJob->finishedWithError( CollectionJob::InternalError, i18n("Error encountered when \
                trying to prompt the user") );
-    }
-    pj->deleteLater();
-}
-
-
-LockCollectionJob::LockCollectionJob( Collection *coll, const WId winId ) :
-    CollectionJob( coll ),
-    d( new LockCollectionJobPrivate( coll->d.data(), this ) )
-{
-    d->windowId = winId;
-}
-
-void LockCollectionJob::start()
-{
-    startFindCollection();
-}
-
-void LockCollectionJob::onFindCollectionFinished()
-{
-    d->startLockingCollection();
-}
-
-LockCollectionJobPrivate::LockCollectionJobPrivate( CollectionPrivate *cp, LockCollectionJob \
                *j ) :
-    collectionPrivate( cp ),
-    theJob( j )
-{
-}
-
-void LockCollectionJobPrivate::startLockingCollection()
-{
-    QList< QDBusObjectPath > lockList;
-    lockList.append( QDBusObjectPath( collectionPrivate->collectionInterface()->path() ) );
-    QDBusPendingReply<QList<QDBusObjectPath> , QDBusObjectPath> reply = \
                DBusSession::serviceIf()->Lock( lockList );
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(slotLockFinished(QDBusPendingCallWatcher*)) );
-}
-
-void LockCollectionJobPrivate::slotLockFinished( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT(watcher);
-    QDBusPendingReply<QList<QDBusObjectPath> , QDBusObjectPath> reply = *watcher;
-    if ( !reply.isError() ) {
-        QDBusObjectPath promptPath = reply.argumentAt<1>();
-        if ( promptPath.path().compare( QStringLiteral( "/" ) ) ) {
-            PromptJob *promptJob = new PromptJob( promptPath, windowId, this );
-            connect( promptJob, SIGNAL(finished(KJob*)), this, SLOT(slotPromptFinished(KJob*)) \
                );
-            if ( theJob->addSubjob( promptJob ) ) {
-                promptJob->start();
-            }
-            else {
-                promptJob->deleteLater();
-                qDebug() << "cannot add prompt subjob";
-                theJob->finishedWithError( CollectionJob::InternalError, i18n("Cannot add \
                prompt job") );
-            }
-        }
-        else {
-            QList< QDBusObjectPath > objList = reply.argumentAt<0>();
-            checkResult( objList );
-        }
-    }
-    else {
-        qDebug() << "ERROR when trying to lock collection " << reply.error().message();
-        theJob->finishedWithError( CollectionJob::InternalError, reply.error().message() );
-    }
-    watcher->deleteLater();
-}
-
-void LockCollectionJobPrivate::slotPromptFinished( KJob* j )
-{
-    PromptJob *promptJob = qobject_cast< PromptJob* >(j);
-    if ( promptJob->error() == 0 ) {
-        if ( !promptJob->isDismissed() ) {
-            QDBusVariant res = promptJob->result();
-            if (res.variant().canConvert< QList< QDBusObjectPath> >()) {
-                QList< QDBusObjectPath > objList = res.variant().value< QList< QDBusObjectPath \
>                 >();
-                checkResult( objList );
-            }
-            else {
-                theJob->finishedWithError( CollectionJob::InternalError, i18n("Unlock \
                operation returned unexpected result") );
-            }
-        }
-        else {
-            theJob->finishedWithError( CollectionJob::OperationCancelledByTheUser, i18n("The \
                operation was cancelled by the user") );
-        }
-    }
-    else {
-        theJob->finishedWithError( CollectionJob::InternalError, i18n("Error encountered when \
                trying to prompt the user") );
-    }
-}
-
-void LockCollectionJobPrivate::checkResult( const QList< QDBusObjectPath > & objList ) const
-{
-    if ( objList.count() == 1 && objList.first().path() == \
                collectionPrivate->collectionInterface()->path() ) {
-        theJob->finishedOk();
-    }
-    else {
-        qDebug() << "objList.count() = " << objList.count();
-        theJob->finishedWithError( CollectionJob::InternalError, i18n("Unlock operation \
                returned unexpected result") );
-    }
-}
-
-UnlockCollectionJob::UnlockCollectionJob( Collection* collection, const WId winId  ) :
-    CollectionJob( collection ),
-    d( new UnlockCollectionJobPrivate( collection->d.data(), this ) )
-{
-    d->windowId = winId;
-}
-
-void UnlockCollectionJob::start()
-{
-    startFindCollection();
-}
-
-void UnlockCollectionJob::unlockCollection()
-{
-    // do not call parent implementation to avoid weird situations as we're already
-    // un unlocking job. Call onFindCollectionFinished instead.
-    onFindCollectionFinished();
-}
-
-void UnlockCollectionJob::onFindCollectionFinished()
-{
-    d->startUnlockingCollection();
-}
-
-UnlockCollectionJobPrivate::UnlockCollectionJobPrivate( CollectionPrivate *cp, \
                UnlockCollectionJob *job ) :
-    collectionPrivate( cp ),
-    theJob( job )
-{
-}
-
-void UnlockCollectionJobPrivate::startUnlockingCollection()
-{
-    QList< QDBusObjectPath > unlockList;
-    unlockList.append( QDBusObjectPath( collectionPrivate->collectionInterface()->path() ) );
-    QDBusPendingReply<QList<QDBusObjectPath> , QDBusObjectPath> reply = \
                DBusSession::serviceIf()->Unlock(unlockList);
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(slotUnlockFinished(QDBusPendingCallWatcher*)) );
-}
-
-void UnlockCollectionJobPrivate::slotUnlockFinished( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT(watcher);
-    QDBusPendingReply<QList<QDBusObjectPath> , QDBusObjectPath> reply = *watcher;
-    if ( !reply.isError() ) {
-        QDBusObjectPath promptPath = reply.argumentAt<1>();
-        if ( promptPath.path().compare( QStringLiteral( "/" ) ) ) {
-            PromptJob *promptJob = new PromptJob( promptPath, windowId, this );
-            connect( promptJob, SIGNAL(finished(KJob*)), this, SLOT(slotPromptFinished(KJob*)) \
                );
-            if ( theJob->addSubjob( promptJob ) ) {
-                promptJob->start();
-            }
-            else {
-                promptJob->deleteLater();
-                qDebug() << "cannot add prompt subjob";
-                theJob->finishedWithError( CollectionJob::InternalError, i18n("Cannot add \
                prompt job") );
-            }
-        }
-        else {
-            QList< QDBusObjectPath > objList = reply.argumentAt<0>();
-            checkResult( objList );
-        }
-    }
-    else {
-        qDebug() << "ERROR when trying to lock collection " << reply.error().message();
-        theJob->finishedWithError( CollectionJob::InternalError, reply.error().message() );
-    }
-    watcher->deleteLater();
-}
-
-void UnlockCollectionJobPrivate::slotPromptFinished( KJob* j )
-{
-    PromptJob *promptJob = qobject_cast< PromptJob* >(j);
-    if ( promptJob->error() == 0 ) {
-        if ( !promptJob->isDismissed() ) {
-            QDBusVariant res = promptJob->result();
-            /**
-             * NOTE: thanks to randomguy3 for helping me figuring out that QtDbus
-             * puts here a QDBusArgument because it won't know how to demarshall
-             * directly the QList<QDBusObjectPath>.
-             * http://randomguy3.wordpress.com/2010/09/07/the-magic-of-qtdbus-and-the-propertychanged-signal/
                
-             */
-            if ( res.variant().canConvert< QDBusArgument >() ) {
-                QDBusArgument arg = res.variant().value< QDBusArgument >();
-                QList< QDBusObjectPath > objList;
-                arg >> objList;
-                checkResult( objList );
-            }
-            else {
-                theJob->finishedWithError( CollectionJob::InternalError, i18n("Unlock \
                operation returned unexpected result") );
-            }
-        }
-        else {
-            theJob->finishedWithError( CollectionJob::OperationCancelledByTheUser, i18n("The \
                operation was cancelled by the user") );
-        }
-    }
-    else {
-        theJob->finishedWithError( CollectionJob::InternalError, i18n("Error encountered when \
                trying to prompt the user") );
-    }
-}
-
-void UnlockCollectionJobPrivate::checkResult( const QList< QDBusObjectPath > & objList ) const
-{
-    if ( objList.count() == 1 && objList.first().path() == \
                collectionPrivate->collectionInterface()->path() ) {
-        theJob->finishedOk();
-    }
-    else {
-        qDebug() << "objList.count() = " << objList.count();
-        theJob->finishedWithError( CollectionJob::InternalError, i18n("Unlock operation \
                returned unexpected result") );
-    }
-}
-
-
-#include "ksecretsservicecollectionjobs.moc"
-//#include "ksecretsservicecollectionjobs_p.moc"
diff --git a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.h \
b/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.h deleted file mode 100644
index fbb94ac..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef KSECRETSCOLLECTIONJOBS_H
-#define KSECRETSCOLLECTIONJOBS_H
-
-#include "ksecretscollection.h"
-#include "ksecretsitem.h"
-#include "ksecretsserviceglobals.h"
-#include "ksecretsservicemacros.h"
-
-#include <kdeui_export.h>
-#include <kcompositejob.h>
-#include <qsharedpointer.h>
-
-
-namespace KSecrets {
-
-class CollectionJobPrivate;
-class DeleteCollectionJobPrivate;
-class FindCollectionJobPrivate;
-class ListCollectionsJobPrivate;
-class RenameCollectionJobPrivate;
-class SearchCollectionItemsJobPrivate;
-class CreateCollectionItemJobPrivate;
-class SearchCollectionSecretsJobPrivate;
-class ReadCollectionItemsJobPrivate;
-class ReadCollectionPropertyJobPrivate;
-class WriteCollectionPropertyJobPrivate;
-class ChangeCollectionPasswordJobPrivate;
-class LockCollectionJobPrivate;
-class UnlockCollectionJobPrivate;
-
-class Collection;
-typedef QMap< QString, QString > QStringStringMap;
-
-/**
- * Collection handling related jobs all inherit from this class.
- * It's main purpose it to get 'lazy connect' feature where a collection
- * object is firstly instantiated but not yet connected to the back-end waiting
- * for it's first real use, indicated by some method call. All these methods
- * calls would return a CollectionJob inheritor
- *
- * @note this class is for internal use only and should not be used by client applications
- */
-class KSECRETS_EXPORT CollectionJob : public KCompositeJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(CollectionJob)
-public:
-    explicit CollectionJob( Collection *collection, QObject* parent = 0 );
-    virtual ~CollectionJob();
-
-    // TODO: rename this to CollectionJobError
-    enum CollectionError {
-        UndefinedError =-1,             /// this error should never be encountered
-        NoError =0,
-        InternalError,
-        OperationCancelledByTheUser,    /// the user choose to cancel ther operation during a \
                message prompt
-        CollectionNotFound,
-        CreateError,
-        DeleteError,
-        RenameError,
-        MissingParameterError
-    };
-
-    /**
-     * Get a pointer to the collection which started this job
-     */
-    Collection *collection() const;
-
-    /**
-     * This override is intended to make it public and as such let subjob additions from other \
                classes in this client implementation
-     */
-    virtual bool addSubjob( KJob* ); // override
-
-protected:
-    /**
-     * Request job abort on error
-     * @param err is the error code
-     * @param errTxt is the internationalized error message user might see
-     */
-    void finishedWithError( CollectionError err, const QString &errTxt );
-
-    /**
-     * Request job finish without error condition
-     */
-    void finishedOk();
-
-    /**
-     * Start the actual collection search. Current implementation would trigger DBus \
                connection to the daemon
-     */
-    virtual void startFindCollection();
-    virtual void slotResult( KJob* job ); /// override  of the KCompositeJob::slotResult
-    virtual void unlockCollection();
-    virtual void onFindCollectionFinished();
-
-protected:
-    friend class FindCollectionJobPrivate;
-    friend class DeleteCollectionJobPrivate;
-    QSharedPointer< CollectionJobPrivate > d;
-};
-
-class KSECRETS_EXPORT DeleteCollectionJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(DeleteCollectionJob)
-public:
-    explicit DeleteCollectionJob( Collection* collection, QObject* parent =0 );
-    virtual ~DeleteCollectionJob();
-
-    virtual void start();
-
-protected Q_SLOTS:
-    virtual void onFindCollectionFinished();
-    void deleteIsDone( CollectionJob::CollectionError error, const QString &errorString );
-
-private:
-    QSharedPointer< DeleteCollectionJobPrivate > d;
-};
-
-class KSECRETS_EXPORT FindCollectionJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(FindCollectionJob)
-public:
-    explicit FindCollectionJob( Collection *collection, QObject *parent =0 );
-    virtual ~FindCollectionJob();
-
-    virtual void start();
-    virtual void foundCollection();
-    virtual void createdCollection();
-private:
-    friend class FindCollectionJobPrivate;
-    QSharedPointer< FindCollectionJobPrivate > d;
-};
-
-class KSECRETS_EXPORT ListCollectionsJob : public KCompositeJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(ListCollectionsJob)
-public:
-    ListCollectionsJob();
-    virtual ~ListCollectionsJob();
-
-    virtual void start();
-
-    const QStringList &collections() const;
-
-    /**
-     * This override is intended to make it public and as such let subjob additions from other \
                classes in this client implementation
-     */
-    virtual bool addSubjob( KJob* ); // override
-
-protected Q_SLOTS:
-    void slotListCollectionsDone();
-    void slotListCollectionsError();
-
-private:
-    friend class ListCollectionsJobPrivate;
-    QSharedPointer< ListCollectionsJobPrivate > d;
-};
-
-class KSECRETS_EXPORT RenameCollectionJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(RenameCollectionJob)
-public:
-    RenameCollectionJob( Collection *coll, const QString& newName, QObject *parent =0 );
-    virtual ~RenameCollectionJob();
-
-    virtual void start();
-
-protected:
-    virtual void onFindCollectionFinished();
-
-protected Q_SLOTS:
-    void renameIsDone( CollectionJob::CollectionError, const QString& );
-
-private:
-    friend class RenameCollectionJobPrivate;
-    QSharedPointer< RenameCollectionJobPrivate > d;
-};
-
-class KSECRETS_EXPORT SearchCollectionItemsJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(SearchCollectionItemsJob)
-public:
-    explicit SearchCollectionItemsJob( Collection* collection, const QStringStringMap \
                &attributes, QObject *parent =0 );
-    virtual ~SearchCollectionItemsJob();
-
-    typedef QExplicitlySharedDataPointer< SecretItem > Item;
-    typedef QList< Item > ItemList;
-    ItemList items() const;
-    virtual void start();
-
-protected:
-    virtual void onFindCollectionFinished();
-
-private:
-    friend class SearchCollectionItemsJobPrivate;
-    QSharedPointer<SearchCollectionItemsJobPrivate> d;
-};
-
-class KSECRETS_EXPORT SearchCollectionSecretsJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(SearchCollectionSecretsJob)
-public:
-    explicit SearchCollectionSecretsJob( Collection* collection, const QStringStringMap \
                &attributes, QObject* parent =0 );
-    virtual ~SearchCollectionSecretsJob();
-
-    virtual void start();
-    QList< Secret >  secrets() const;
-
-protected Q_SLOTS:
-    virtual void onFindCollectionFinished();
-    void searchIsDone( CollectionJob::CollectionError, const QString& );
-
-private:
-    friend class SearchCollectionSecretsJobPrivate;
-    QSharedPointer<SearchCollectionSecretsJobPrivate> d;
-};
-
-class KSECRETS_EXPORT CreateCollectionItemJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(CreateCollectionItemJob)
-public:
-    explicit CreateCollectionItemJob( Collection* collection, const QString& label, const \
QMap< QString, QString >& attributes, const Secret& secret, CreateItemOptions options = \
                DoNotReplaceExistingItem );
-    virtual ~CreateCollectionItemJob();
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-    SecretItem * item() const;
-
-private:
-    friend class CreateCollectionItemJobPrivate;
-    QSharedPointer< CreateCollectionItemJobPrivate > d;
-};
-
-class KSECRETS_EXPORT ReadCollectionItemsJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(ReadCollectionItemsJob)
-public:
-    explicit ReadCollectionItemsJob( Collection* collection,  QObject *parent =0 );
-    virtual ~ReadCollectionItemsJob();
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-
-    typedef QExplicitlySharedDataPointer< SecretItem > Item;
-    typedef QList< Item > ItemList;
-    ItemList items() const;
-
-private:
-    friend class ReadCollectionItemsJobPrivate;
-    QSharedPointer< ReadCollectionItemsJobPrivate > d;
-};
-
-class KSECRETS_EXPORT ReadCollectionPropertyJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(ReadCollectionPropertyJob)
-
-    explicit ReadCollectionPropertyJob( Collection *collection, const char *propName, QObject \
                *parent =0 );
-    ReadCollectionPropertyJob( Collection *collection, void (Collection::*propReadMember)( \
                ReadCollectionPropertyJob* ), QObject *parent =0 );
-    virtual ~ReadCollectionPropertyJob();
-    friend class Collection; // only Collection class can instantiated us
-public:
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-    const QVariant& propertyValue() const;
-
-private:
-    friend class ReadCollectionPropertyJobPrivate;
-    QSharedPointer< ReadCollectionPropertyJobPrivate > d;
-    void (Collection::*propertyReadMember)( ReadCollectionPropertyJob* );
-};
-
-class KSECRETS_EXPORT WriteCollectionPropertyJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(WriteCollectionPropertyJob)
-public:
-    explicit WriteCollectionPropertyJob( Collection *collection, const char *propName, const \
                QVariant& value, QObject *parent =0 );
-    virtual ~WriteCollectionPropertyJob();
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-
-private:
-    friend class WriteCollectionPropertyJobPrivate;
-    QSharedPointer< WriteCollectionPropertyJobPrivate > d;
-};
-
-class KSECRETS_EXPORT ChangeCollectionPasswordJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(ChangeCollectionPasswordJob)
-public:
-    explicit ChangeCollectionPasswordJob( Collection *collection );
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-
-private:
-    friend class ChangeCollectionPasswordJobPrivate;
-    QSharedPointer< ChangeCollectionPasswordJobPrivate > d;
-};
-
-class KSECRETS_EXPORT LockCollectionJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(LockCollectionJob)
-public:
-    LockCollectionJob( Collection *collection, const WId winId );
-
-    virtual void start();
-    virtual void onFindCollectionFinished();
-
-private:
-    friend class LockCollectionJobPrivate;
-    QSharedPointer< LockCollectionJobPrivate > d;
-};
-
-class KSECRETS_EXPORT UnlockCollectionJob : public CollectionJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(UnlockCollectionJob)
-public:
-    UnlockCollectionJob( Collection* collection, const WId winId );
-
-    virtual void start();
-    virtual void unlockCollection();
-    virtual void onFindCollectionFinished();
-
-private:
-    friend class UnlockCollectionJobPrivate;
-    QSharedPointer< UnlockCollectionJobPrivate > d;
-};
-
-}
-
-#endif // KSECRETSCOLLECTIONJOBS_H
diff --git a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs_p.h \
b/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs_p.h deleted file mode 100644
index fe9fc80..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicecollectionjobs_p.h
+++ /dev/null
@@ -1,289 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef KSECRETSCOLLECTIONJOBS_P_H
-#define KSECRETSCOLLECTIONJOBS_P_H
-
-#include "ksecretsservicecollectionjobs.h"
-#include "ksecretsservicedbustypes.h"
-
-#include <QObject>
-#include <QDBusPendingReply>
-
-namespace KSecrets {
-class SecretItem;
-
-class SecretPrivate;
-
-class CollectionJobPrivate {
-public:
-    CollectionJobPrivate();
-
-    Collection      *collection;
-};
-
-/**
- * Internal DeleteCollectionJob implementation, based on DBus
- */
-class DeleteCollectionJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(DeleteCollectionJobPrivate);
-public:
-    explicit DeleteCollectionJobPrivate( CollectionPrivate *coll, QObject *parent =0 );
-
-    void startDelete();
-
-    friend class DeleteCollectionJob;
-
-Q_SIGNALS:
-    void deleteIsDone( CollectionJob::CollectionError error, const QString& message );
-
-protected Q_SLOTS:
-    void callFinished( QDBusPendingCallWatcher* );
-
-public:
-    CollectionPrivate    *cp;
-};
-
-class FindCollectionJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(FindCollectionJobPrivate)
-public:
-    friend class FindCollectionJob;
-
-    FindCollectionJobPrivate( FindCollectionJob*, CollectionPrivate* );
-
-    void startCreateOrOpenCollection();
-
-private Q_SLOTS:
-    void openSessionFinished(KJob*);
-    void createFinished(QDBusPendingCallWatcher*);
-    void createPromptFinished(KJob*);
-
-public:
-    FindCollectionJob                                    *findJob;
-    QString                                              collectionName;
-    KSecrets::Collection::FindCollectionOptions   findCollectionOptions;
-    CollectionPrivate                                    *collectionPrivate;
-};
-
-class ListCollectionsJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(ListCollectionsJobPrivate)
-public:
-    ListCollectionsJobPrivate( ListCollectionsJob* );
-
-    void startListingCollections();
-
-private Q_SLOTS:
-    void slotOpenSessionFinished(KJob*);
-
-Q_SIGNALS:
-    void listingDone();
-    void listingError();
-
-public:
-    ListCollectionsJob  *listCollectionsJob;
-    QStringList         collections;
-};
-
-class RenameCollectionJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(RenameCollectionJobPrivate)
-public:
-    friend class RenameCollectionJob;
-
-    explicit RenameCollectionJobPrivate( CollectionPrivate*, QObject *parent =0 );
-    void startRename();
-
-Q_SIGNALS:
-    void renameIsDone( CollectionJob::CollectionError error, const QString& message );
-
-public:
-    CollectionPrivate   *collectionPrivate;
-    QString             newName;
-};
-
-class SearchCollectionItemsJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(SearchCollectionItemsJobPrivate)
-public:
-    SearchCollectionItemsJobPrivate( CollectionPrivate*, SearchCollectionItemsJob* );
-
-    void startSearchItems();
-
-Q_SIGNALS:
-    void searchIsDone(CollectionJob::CollectionError, const QString& );
-
-protected Q_SLOTS:
-    void searchFinished(QDBusPendingCallWatcher*);
-
-public:
-    CollectionPrivate                   *collectionPrivate;
-    SearchCollectionItemsJob            *searchItemJob;
-    QStringStringMap                    attributes;
-    QList< QSharedDataPointer< SecretItemPrivate > >    items;
-};
-
-class CreateCollectionItemJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(CreateCollectionItemJobPrivate)
-public:
-    explicit CreateCollectionItemJobPrivate( CollectionPrivate*, QObject *parent =0 );
-
-    void startCreateItem();
-
-protected Q_SLOTS:
-    void createItemReply(QDBusPendingCallWatcher*);
-    void createPromptFinished(KJob*);
-
-public:
-    CollectionPrivate                   *collectionPrivate;
-    CreateCollectionItemJob             *createItemJob;
-    QString                             label;
-    QMap< QString, QString >            attributes;
-    QSharedDataPointer< SecretPrivate > secretPrivate;
-    CreateItemOptions                   options;
-    SecretItem                          *item;
-};
-
-class SearchCollectionSecretsJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(SearchCollectionSecretsJobPrivate)
-public:
-    explicit SearchCollectionSecretsJobPrivate( CollectionPrivate*, const QStringStringMap \
                &attrs, QObject *parent =0);
-
-    void startSearchSecrets();
-
-protected Q_SLOTS:
-    void searchSecretsReply(QDBusPendingCallWatcher*);
-    void getSecretsReply(QDBusPendingCallWatcher*);
-
-Q_SIGNALS:
-    void searchIsDone( CollectionJob::CollectionError, const QString& );
-
-public:
-    CollectionPrivate   *collectionPrivate;
-    QStringStringMap    attributes;
-    QList< QSharedDataPointer<SecretPrivate> > secretsList;
-};
-
-class ReadCollectionItemsJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(ReadCollectionItemsJobPrivate)
-public:
-    explicit ReadCollectionItemsJobPrivate( CollectionPrivate* );
-
-    QList< QSharedDataPointer< SecretItemPrivate > > readItems() const;
-
-public:
-    CollectionPrivate   *collectionPrivate;
-};
-
-class ReadCollectionPropertyJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(ReadCollectionPropertyJobPrivate)
-public:
-    ReadCollectionPropertyJobPrivate( CollectionPrivate* cp, ReadCollectionPropertyJob* );
-
-    void startReadingProperty();
-
-    CollectionPrivate *collectionPrivate;
-    ReadCollectionPropertyJob *readPropertyJob;
-    const char *propertyName;
-    QVariant value;
-};
-
-class WriteCollectionPropertyJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(WriteCollectionPropertyJobPrivate)
-public:
-    WriteCollectionPropertyJobPrivate( CollectionPrivate *cp, WriteCollectionPropertyJob* );
-
-    void startWritingProperty();
-
-    CollectionPrivate *collectionPrivate;
-    WriteCollectionPropertyJob *writePropertyJob;
-    const char *propertyName;
-    QVariant value;
-};
-
-class ChangeCollectionPasswordJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(ChangeCollectionPasswordJobPrivate)
-public:
-    explicit ChangeCollectionPasswordJobPrivate( CollectionPrivate *cp, \
                ChangeCollectionPasswordJob* );
-
-    void startChangingPassword();
-
-protected Q_SLOTS:
-    void changePasswordStarted( QDBusPendingCallWatcher* );
-    void promptFinished( KJob* );
-
-public:
-    CollectionPrivate            *collectionPrivate;
-    ChangeCollectionPasswordJob  *theJob;
-};
-
-class LockCollectionJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(LockCollectionJobPrivate)
-public:
-    explicit LockCollectionJobPrivate( CollectionPrivate *cp, LockCollectionJob* );
-
-    void startLockingCollection();
-
-protected Q_SLOTS:
-    void slotLockFinished( QDBusPendingCallWatcher* );
-    void slotPromptFinished( KJob* );
-
-private:
-    void checkResult( const QList< QDBusObjectPath > & ) const;
-
-public:
-    CollectionPrivate *collectionPrivate;
-    LockCollectionJob *theJob;
-    WId                windowId;
-};
-
-class UnlockCollectionJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(UnlockCollectionJobPrivate)
-public:
-    explicit UnlockCollectionJobPrivate( CollectionPrivate *cp, UnlockCollectionJob* );
-
-    void startUnlockingCollection();
-
-protected Q_SLOTS:
-    void slotUnlockFinished( QDBusPendingCallWatcher* );
-    void slotPromptFinished( KJob* );
-
-private:
-    void checkResult( const QList< QDBusObjectPath > & ) const;
-
-public:
-    CollectionPrivate   *collectionPrivate;
-    UnlockCollectionJob *theJob;
-    WId                 windowId;
-};
-
-} // namespace
-
-#endif // KSECRETSCOLLECTIONJOBS_P_H
diff --git a/src/api/ksecrets/fd.o/ksecretsservicedbustypes.h \
b/src/api/ksecrets/fd.o/ksecretsservicedbustypes.h deleted file mode 100644
index 23c794a..0000000
--- a/src/api/ksecrets/fd.o/ksecretsservicedbustypes.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2010, Michael Leupold <lemma@confuego.org>
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of version 3 of the license.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef KSECRETSDBUSTYPES_H
-#define KSECRETSDBUSTYPES_H
-
-#include <QtDBus/QDBusObjectPath>
-#include <QtDBus/QDBusArgument>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-
-namespace KSecrets {
-
-/**
- * @internal
- * This is the basic Secret structure exchanged via the dbus API
- * See the spec for more details
- */
-struct DBusSecretStruct {
-    QDBusObjectPath m_session;
-    QByteArray      m_parameters;
-    QByteArray      m_value;
-    QString         m_contentType;
-};
-
-typedef QMap<QString, QString> DBusStringStringMap;
-typedef QMap<QDBusObjectPath, DBusSecretStruct> DBusObjectPathSecretMap;
-typedef QMap<QString, QVariant> DBusStringVariantMap;
-
-
-/**
- * @internal
- */
-inline QDBusArgument &operator<<(QDBusArgument &argument, const DBusSecretStruct &secret)
-{
-    argument.beginStructure();
-    argument << secret.m_session << secret.m_parameters << secret.m_value << \
                secret.m_contentType;
-    argument.endStructure();
-    return argument;
-}
-
-/**
- * @internal
- */
-inline const QDBusArgument &operator>>(const QDBusArgument &argument, DBusSecretStruct \
                &secret)
-{
-    argument.beginStructure();
-    argument >> secret.m_session >> secret.m_parameters >> secret.m_value >> \
                secret.m_contentType;
-    argument.endStructure();
-    return argument;
-}
-
-} // namespace
-
-#ifndef STRINGSTRINGMAP_METATYPE_DEFINED
-Q_DECLARE_METATYPE( KSecrets::DBusStringStringMap );
-#define STRINGSTRINGMAP_METATYPE_DEFINED
-#endif // STRINGSTRINGMAP_METATYPE_DEFINED
-
-Q_DECLARE_METATYPE( KSecrets::DBusObjectPathSecretMap );
-Q_DECLARE_METATYPE( KSecrets::DBusStringVariantMap );
-Q_DECLARE_METATYPE( KSecrets::DBusSecretStruct )
-
-#endif // KSECRETSDBUSTYPES_H
-
diff --git a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.cpp \
b/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.cpp deleted file mode 100644
index 9c5f24d..0000000
--- a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "ksecretsserviceitemjobs.h"
-#include "ksecretsserviceitemjobs_p.h"
-#include "dbusbackend.h"
-
-#include <item_interface.h>
-#include <QDebug>
-#include <QDBusPendingCallWatcher>
-#include "promptjob.h"
-
-using namespace KSecrets;
-
-
-SecretItemJob::SecretItemJob(SecretItem* item) :
-    d( new SecretItemJobPrivate() )
-{
-    d->_item = item;
-}
-
-SecretItemJob::~SecretItemJob()
-{
-}
-
-SecretItem* SecretItemJob::secretItem() const
-{
-    return d->_item;
-}
-
-void SecretItemJob::setCustomData(const QVariant& data)
-{
-    d->_customData = data;
-}
-
-const QVariant& SecretItemJob::customData() const
-{
-    return d->_customData;
-}
-
-void SecretItemJob::finished(SecretItemJob::ItemJobError err, const QString& msg)
-{
-    KJob::setError( err );
-    KJob::setErrorText( msg );
-    emitResult();
-}
-
-SecretItemJobPrivate::SecretItemJobPrivate()
-{
-}
-
-GetSecretItemSecretJob::GetSecretItemSecretJob( SecretItem* item ) :
-    SecretItemJob( item ),
-    d( new GetSecretItemSecretJobPrivate( this ) )
-{
-}
-
-GetSecretItemSecretJob::~GetSecretItemSecretJob()
-{
-}
-
-void GetSecretItemSecretJob::start()
-{
-    d->start();
-}
-
-Secret GetSecretItemSecretJob::secret() const
-{
-    SecretPrivate *pr = 0;
-    if ( !SecretPrivate::fromSecretStruct( d->secret, pr ) ) {
-        qDebug() << "WARNING: decrypting secret FAILED";
-    }
-    return Secret( pr );
-}
-
-
-GetSecretItemSecretJobPrivate::GetSecretItemSecretJobPrivate(GetSecretItemSecretJob * j) :
-    job( j ),
-    secretItemPrivate( j->secretItem()->d )
-{
-}
-
-void GetSecretItemSecretJobPrivate::start()
-{
-    QDBusPendingReply<DBusSecretStruct> reply = \
                job->d->secretItemPrivate->itemIf()->GetSecret( DBusSession::sessionPath() );
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(getSecretReply(QDBusPendingCallWatcher*)) );
-}
-
-void GetSecretItemSecretJobPrivate::getSecretReply( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT(watcher != 0);
-    QDBusPendingReply<DBusSecretStruct> reply = *watcher;
-    if ( !reply.isError() ) {
-        secret = reply.argumentAt<0>();
-        qDebug() << "Received Secret size: " << secret.m_value.size();
-        job->finished( SecretItemJob::NoError );
-    }
-    else {
-        qDebug() << "ERROR calling GetSecret";
-        job->finished( SecretItemJob::InternalError, QStringLiteral( "ERROR calling GetSecret" \
                ) );
-    }
-    watcher->deleteLater();
-}
-
-
-SetSecretItemSecretJob::SetSecretItemSecretJob( SecretItem* item, const Secret &s ) :
-    SecretItemJob( item ),
-    d( new SetSecretItemSecretJobPrivate( this, s ) )
-{
-    d->secretItemPrivate = item->d;
-    d->secretPrivate = s.d;
-}
-
-SetSecretItemSecretJob::~SetSecretItemSecretJob()
-{
-}
-
-void SetSecretItemSecretJob::start()
-{
-    d->start();
-}
-
-SetSecretItemSecretJobPrivate::SetSecretItemSecretJobPrivate( SetSecretItemSecretJob *j, const \
                Secret &s ) :
-    job( j ),
-    secret( s )
-{
-}
-
-void SetSecretItemSecretJobPrivate::start()
-{
-    DBusSecretStruct secretStruct;
-    if ( secretPrivate->toSecretStruct( secretStruct ) ) {
-        QDBusPendingReply< void > reply = secretItemPrivate->itemIf()->SetSecret( secretStruct \
                );
-        QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-        connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(setSecretReply(QDBusPendingCallWatcher*)) );
-    }
-    else {
-        qDebug() << "ERROR building DBusSecretStruct";
-        job->finished( SecretItemJob::InternalError, QStringLiteral( "ERROR building \
                DBusSecretStruct" ) );
-    }
-}
-
-void SetSecretItemSecretJobPrivate::setSecretReply( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT(watcher != 0);
-    QDBusPendingReply< void > reply = *watcher;
-    if ( reply.isError() ) {
-        qDebug() << "ERROR calling setSecret : " << reply.error().message();
-        job->finished( SecretItemJob::InternalError, reply.error().message() );
-    }
-    else {
-        job->finished( SecretItemJob::NoError );
-    }
-}
-
-
-SecretItemDeleteJob::SecretItemDeleteJob( SecretItem * item, const WId &promptParentWindowId ) \
                :
-    SecretItemJob( item ),
-    d( new SecretItemDeleteJobPrivate( this ) )
-{
-    d->secretItemPrivate = item->d;
-    d->promptWinId = promptParentWindowId;
-}
-
-SecretItemDeleteJob::~SecretItemDeleteJob()
-{
-}
-
-void SecretItemDeleteJob::start()
-{
-    d->startDelete();
-}
-
-SecretItemDeleteJobPrivate::SecretItemDeleteJobPrivate( SecretItemDeleteJob *j ) :
-    job( j )
-{
-}
-
-void SecretItemDeleteJobPrivate::startDelete()
-{
-    QDBusPendingReply< QDBusObjectPath > reply =  secretItemPrivate->itemIf()->Delete();
-    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher( reply );
-    connect( watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, \
                SLOT(deleteItemReply(QDBusPendingCallWatcher*)) );
-}
-
-void SecretItemDeleteJobPrivate::deleteItemReply( QDBusPendingCallWatcher *watcher )
-{
-    Q_ASSERT( watcher );
-    QDBusPendingReply< QDBusObjectPath > reply = *watcher;
-    if ( ! reply.isError() ) {
-        QDBusObjectPath promptPath = reply.argumentAt<0>();
-        if ( promptPath.path().compare( QStringLiteral( "/" ) ) == 0 ) {
-            job->finished( SecretItemJob::NoError );
-        }
-        else {
-            PromptJob *promptjob = new PromptJob( promptPath, promptWinId, this );
-            if ( job->addSubjob( promptjob ) ) {
-                connect( promptjob, SIGNAL(finished(KJob*)), this, \
                SLOT(deletePromptFinished(KJob*)) );
-                promptjob->start();
-            }
-            else {
-                promptjob->deleteLater();
-                qDebug() << "Cannot add subjob for prompt " << promptPath.path();
-                job->finished( SecretItemJob::InternalError, QStringLiteral( "Cannot start \
                prompt job for the delete operation!" ) );
-            }
-        }
-    }
-    else {
-        qDebug() << "ERROR when calling item.Delete() : " << reply.error().message();
-        job->finished( SecretItemJob::InternalError, reply.error().message() );
-    }
-    watcher->deleteLater();
-}
-
-void SecretItemDeleteJobPrivate::deletePromptFinished( KJob* j)
-{
-    PromptJob *promptJob = dynamic_cast< PromptJob* >( j );
-    if ( promptJob->error() == 0 ) {
-        if ( !promptJob->isDismissed() ) {
-            // TODO: should we read some result here or simply checking isDismissed is enough \
                ?
-            job->finished( SecretItemJob::NoError );
-        }
-        else {
-            job->finished( SecretItemJob::OperationCancelledByTheUser, QStringLiteral( "The \
                operation was cancelled by the user" ) );
-        }
-    }
-    else {
-        job->finished( SecretItemJob::InternalError, QStringLiteral( "Error encountered when \
                trying to prompt the user" ) );
-    }
-}
-
-
-ReadItemPropertyJob::ReadItemPropertyJob( SecretItem *item, const char *propName ) :
-    SecretItemJob( item ),
-    d( new ReadItemPropertyJobPrivate( item->d, this ) ),
-    propertyReadMember(0)
-{
-    d->propertyName = propName;
-}
-
-ReadItemPropertyJob::ReadItemPropertyJob( SecretItem *item, void \
                (SecretItem::*propReadMember)( ReadItemPropertyJob* ) ) :
-    SecretItemJob( item ),
-    d( new ReadItemPropertyJobPrivate( item->d, this ) ),
-    propertyReadMember( propReadMember )
-{
-}
-
-ReadItemPropertyJob::~ReadItemPropertyJob()
-{
-}
-
-void ReadItemPropertyJob::start()
-{
-    if ( propertyReadMember ) {
-        (secretItem()->*propertyReadMember)( this );
-        finished( NoError );
-    }
-    else {
-        d->startReadingProperty();
-    }
-}
-
-const QVariant& ReadItemPropertyJob::propertyValue() const
-{
-    return d->value;
-}
-
-ReadItemPropertyJobPrivate::ReadItemPropertyJobPrivate( QSharedDataPointer<SecretItemPrivate> \
                it, ReadItemPropertyJob *job ) :
-    itemPrivate( it ),
-    readPropertyJob( job )
-{
-}
-
-void ReadItemPropertyJobPrivate::startReadingProperty()
-{
-    value = itemPrivate->itemIf()->property( propertyName );
-    readPropertyJob->finished( SecretItemJob::NoError );
-}
-
-
-WriteItemPropertyJob::WriteItemPropertyJob( SecretItem *item, const char *propName, const \
                QVariant& value ) :
-    SecretItemJob( item ),
-    d( new WriteItemPropertyJobPrivate( item->d, this ) )
-{
-    d->propertyName = propName;
-    d->value = value;
-}
-
-WriteItemPropertyJob::~WriteItemPropertyJob()
-{
-}
-
-void WriteItemPropertyJob::start()
-{
-    d->startWritingProperty();
-}
-
-WriteItemPropertyJobPrivate::WriteItemPropertyJobPrivate( \
                QSharedDataPointer<SecretItemPrivate> cp, WriteItemPropertyJob *job ) :
-    itemPrivate( cp ),
-    writePropertyJob( job )
-{
-}
-
-void WriteItemPropertyJobPrivate::startWritingProperty()
-{
-    value = itemPrivate->itemIf()->setProperty( propertyName, value );
-    writePropertyJob->finished( SecretItemJob::NoError );
-}
-
-
-
-#include "ksecretsserviceitemjobs.moc"
-//#include "ksecretsserviceitemjobs_p.moc"
diff --git a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.h \
b/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.h deleted file mode 100644
index fac1fff..0000000
--- a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef KSECRETSITEMJOBS_H
-#define KSECRETSITEMJOBS_H
-
-#include "ksecretsvalue.h"
-
-#include <QSharedPointer>
-#include <kcompositejob.h>
-#include <qwindowdefs.h>
-
-namespace KSecrets {
-
-class SecretItem;
-class SecretItemJobPrivate;
-class GetSecretItemSecretJobPrivate;
-class SetSecretItemSecretJobPrivate;
-class SecretItemDeleteJobPrivate;
-class ReadItemPropertyJobPrivate;
-class WriteItemPropertyJobPrivate;
-
-/**
- * @class SecretItemJob
- * @internal
- *
- * Base class for the SecretItem related jobs. Your application is not supposed
- * to use this class directly.
- */
-class KSECRETS_EXPORT SecretItemJob : public KCompositeJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(SecretItemJob)
-public:
-    enum ItemJobError {
-        UndefinedError =-1,             /// this error should never be encountered
-        NoError =0,
-        InternalError,
-        OperationCancelledByTheUser,    /// the user choose to cancel ther operation during a \
                message prompt
-        CollectionNotFound,
-        CreateError,
-        DeleteError,
-        RenameError,
-        MissingParameterError
-    };
-
-    explicit SecretItemJob( SecretItem * item );
-    virtual ~SecretItemJob();
-
-    SecretItem* secretItem() const;
-    /**
-     * Chaining asynchronous jobs may need you to pass data items around
-     * This member let you attach arbitrary data to this job
-     */
-    void setCustomData( const QVariant& data );
-    const QVariant& customData() const;
-
-protected:
-    void finished( ItemJobError, const QString& msg = QString() );
-
-private:
-    friend class SecretItemJobPrivate;
-    QSharedPointer< SecretItemJobPrivate > d;
-};
-
-class KSECRETS_EXPORT GetSecretItemSecretJob : public SecretItemJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(GetSecretItemSecretJob)
-public:
-    explicit GetSecretItemSecretJob( SecretItem* );
-    virtual ~GetSecretItemSecretJob();
-    virtual void start();
-    Secret secret() const;
-
-private:
-    friend class GetSecretItemSecretJobPrivate;
-    QSharedPointer< GetSecretItemSecretJobPrivate > d;
-};
-
-class KSECRETS_EXPORT SetSecretItemSecretJob : public SecretItemJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(SetSecretItemSecretJob)
-public:
-    SetSecretItemSecretJob( SecretItem*, const Secret& );
-    virtual ~SetSecretItemSecretJob();
-
-    virtual void start();
-
-private:
-    friend class SetSecretItemSecretJobPrivate;
-    QSharedPointer< SetSecretItemSecretJobPrivate > d;
-};
-
-class KSECRETS_EXPORT SecretItemDeleteJob : public SecretItemJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(SecretItemDeleteJob)
-public:
-    SecretItemDeleteJob( SecretItem*, const WId &promptParentWindowId );
-    virtual ~SecretItemDeleteJob();
-
-    virtual void start();
-
-private:
-    friend class SecretItemDeleteJobPrivate;
-    QSharedPointer< SecretItemDeleteJobPrivate > d;
-};
-
-class KSECRETS_EXPORT ReadItemPropertyJob : public SecretItemJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(ReadItemPropertyJob)
-public:
-    ReadItemPropertyJob( SecretItem *, const char *propName);
-    ReadItemPropertyJob( SecretItem *, void (SecretItem::*propReadMember)( ReadItemPropertyJob \
                * ) );
-    virtual ~ReadItemPropertyJob();
-
-    virtual void start();
-    const QVariant& propertyValue() const;
-
-private:
-    friend class ReadItemPropertyJobPrivate;
-    QSharedDataPointer<ReadItemPropertyJobPrivate> d;
-    void (SecretItem::*propertyReadMember)( ReadItemPropertyJob * );
-};
-
-class KSECRETS_EXPORT WriteItemPropertyJob : public SecretItemJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(WriteItemPropertyJob)
-public:
-    explicit WriteItemPropertyJob(SecretItem* item, const char *propName, const QVariant \
                &value);
-    virtual ~WriteItemPropertyJob();
-
-    virtual void start();
-
-private:
-    friend class WriteItemPropertyJobPrivate;
-    QSharedDataPointer<WriteItemPropertyJobPrivate> d;
-};
-
-
-}; // namespace
-
-#endif // KSECRETSITEMJOBS_H
diff --git a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs_p.h \
b/src/api/ksecrets/fd.o/ksecretsserviceitemjobs_p.h deleted file mode 100644
index 8501c11..0000000
--- a/src/api/ksecrets/fd.o/ksecretsserviceitemjobs_p.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef KSECRETSITEMJOBS_P_H
-#define KSECRETSITEMJOBS_P_H
-
-#include "ksecretsserviceitemjobs.h"
-#include "ksecretsservicedbustypes.h"
-#include "ksecretsitem_p.h"
-#include "ksecretsvalue_p.h"
-
-#include <qdbusconnection.h>
-#include <qwindowdefs.h>
-
-class QDBusPendingCallWatcher;
-
-namespace KSecrets {
-
-class GetSecretItemSecretJob;
-class SecretItemPrivate;
-
-class SecretItemJobPrivate {
-    Q_DISABLE_COPY(SecretItemJobPrivate)
-public:
-    SecretItemJobPrivate();
-
-    SecretItem  *_item;
-    QVariant    _customData;
-};
-
-class GetSecretItemSecretJobPrivate  : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(GetSecretItemSecretJobPrivate)
-public:
-    GetSecretItemSecretJobPrivate( GetSecretItemSecretJob * );
-
-    void start();
-
-private Q_SLOTS:
-    void getSecretReply( QDBusPendingCallWatcher* watcher );
-
-Q_SIGNALS:
-    void getSecretFinished( KSecrets::SecretItemJob::ItemJobError, const QString& );
-
-public:
-    GetSecretItemSecretJob *job;
-    DBusSecretStruct secret;
-    const QSharedDataPointer< SecretItemPrivate > secretItemPrivate;
-};
-
-class SetSecretItemSecretJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(SetSecretItemSecretJobPrivate)
-public:
-    SetSecretItemSecretJobPrivate( SetSecretItemSecretJob*, const Secret & );
-
-    void start();
-
-private Q_SLOTS:
-    void setSecretReply( QDBusPendingCallWatcher* watcher );
-
-public:
-    SetSecretItemSecretJob *job;
-    Secret secret;
-    QSharedDataPointer< SecretItemPrivate > secretItemPrivate;
-    QSharedDataPointer< SecretPrivate> secretPrivate;
-};
-
-class SecretItemDeleteJobPrivate : public QObject {
-    Q_OBJECT
-    Q_DISABLE_COPY(SecretItemDeleteJobPrivate)
-public:
-    SecretItemDeleteJobPrivate( SecretItemDeleteJob* );
-
-    void startDelete();
-
-private Q_SLOTS:
-    void deleteItemReply( QDBusPendingCallWatcher *watcher );
-    void deletePromptFinished(KJob*);
-
-public:
-    SecretItemDeleteJob *job;
-    QSharedDataPointer< SecretItemPrivate > secretItemPrivate;
-    WId                 promptWinId;
-};
-
-class ReadItemPropertyJobPrivate : public QSharedData {
-public:
-    explicit ReadItemPropertyJobPrivate( QSharedDataPointer< SecretItemPrivate> , \
                ReadItemPropertyJob* );
-
-    void startReadingProperty();
-
-    QSharedDataPointer< SecretItemPrivate > itemPrivate;
-    ReadItemPropertyJob *readPropertyJob;
-    const char *propertyName;
-    QVariant value;
-};
-
-class WriteItemPropertyJobPrivate : public QSharedData {
-public:
-    explicit WriteItemPropertyJobPrivate( QSharedDataPointer< SecretItemPrivate>, \
                WriteItemPropertyJob* );
-
-    void startWritingProperty();
-
-    QSharedDataPointer< SecretItemPrivate > itemPrivate;
-    WriteItemPropertyJob *writePropertyJob;
-    const char *propertyName;
-    QVariant value;
-};
-
-} // namespace
-
-#endif // KSECRETSITEMJOBS_P_H
diff --git a/src/api/ksecrets/fd.o/ksecretsvaluedbus.cpp \
b/src/api/ksecrets/fd.o/ksecretsvaluedbus.cpp deleted file mode 100644
index cf3905c..0000000
--- a/src/api/ksecrets/fd.o/ksecretsvaluedbus.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-bool SecretPrivate::toSecretStruct( DBusSecretStruct &secretStruct ) const
-{
-    secretStruct.m_session = DBusSession::sessionPath();
-    secretStruct.m_contentType = contentType;
-    return DBusSession::encrypt( value, secretStruct );
-}
-
-bool SecretPrivate::fromSecretStruct( const DBusSecretStruct &secretStruct, SecretPrivate*& \
                sp)
-{
-    bool result = false;
-    sp = 0;
-    QVariant value;
-    if ( DBusSession::decrypt( secretStruct, value ) ) {
-        sp = new SecretPrivate();
-        sp->value = value;
-        sp->contentType = secretStruct.m_contentType;
-        result = true;
-    }
-    return result;
-}
-
diff --git a/src/api/ksecrets/fd.o/ksecretsvaluedbus_p.h \
b/src/api/ksecrets/fd.o/ksecretsvaluedbus_p.h deleted file mode 100644
index d454f53..0000000
--- a/src/api/ksecrets/fd.o/ksecretsvaluedbus_p.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-    This file is part of the KDE Libraries
-
-    Copyright (C) 2015 Valentin Rusu (valir@kde.org)
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB. If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-#ifndef KSECRETSVALUE_P_H
-#define KSECRETSVALUE_P_H
-
-#include "../ksecretsvalue_p.h"
-
-namespace KSecrets {
-
-class SecretValuePrivate : public SecretValue {
-    bool SecretPrivate::toSecretStruct( DBusSecretStruct &secretStruct ) const;
-
-    bool SecretPrivate::fromSecretStruct( const DBusSecretStruct &secretStruct, \
                SecretPrivate*& sp);
-};
-
-} // namespace KSecrets
-
-#endif
diff --git a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Collection.xml \
b/src/api/ksecrets/fd.o/org.freedesktop.Secret.Collection.xml deleted file mode 100644
index 4ef860e..0000000
--- a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Collection.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-
-<node name="/org/freedesktop/Secrets/collection/xxxx">
-    <interface name="org.freedesktop.Secret.Collection">
-
-        <property name="Items" type="ao" access="read"/>
-
-        <property name="Label" type="s" access="readwrite"/>
-
-        <property name="Locked" type="b" access="read"/>
-
-        <property name="Created" type="t" access="read"/>
-
-        <property name="Modified" type="t" access="read"/>
-
-        <method name="Delete">
-            <arg name="prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="SearchItems">
-            <arg name="attributes" type="a{ss}" direction="in"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In0" \
                value="KSecrets::DBusStringStringMap"/>
-            <arg name="results" type="ao" direction="out"/>
-        </method>
-
-        <method name="CreateItem">
-            <arg name="properties" type="a{sv}" direction="in"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
-            <arg name="secret" type="(oayays)" direction="in"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="const \
                KSecrets::DBusSecretStruct&amp;"/>
-            <arg name="replace" type="b" direction="in"/>
-            <arg name="item" type="o" direction="out"/>
-            <arg name="prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="ChangePassword">
-            <arg name="prompt" type="o" direction="out"/>
-        </method>
-
-        <signal name="ItemCreated">
-            <arg name="item" type="o"/>
-        </signal>
-
-        <signal name="ItemDeleted">
-            <arg name="item" type="o"/>
-        </signal>
-
-        <signal name="ItemChanged">
-            <arg name="item" type="o"/>
-        </signal>
-
-    </interface>
-
-</node>
diff --git a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Item.xml \
b/src/api/ksecrets/fd.o/org.freedesktop.Secret.Item.xml deleted file mode 100644
index 8b15806..0000000
--- a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Item.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-
-<node name="/org/freedesktop/Secret/collection/xxxx/iiii">
-    <interface name="org.freedesktop.Secret.Item">
-
-        <property name="Locked" type="b" access="read"/>
-
-        <property name="Attributes" type="a{ss}" access="readwrite">
-            <annotation name="org.qtproject.QtDBus.QtTypeName" \
                value="KSecrets::DBusStringStringMap"/>
-        </property>
-
-        <property name="Label" type="s" access="readwrite"/>
-
-        <property name="Created" type="t" access="read"/>
-
-        <property name="Modified" type="t" access="read"/>
-
-        <method name="Delete">
-            <arg name="Prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="GetSecret">
-            <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" \
                value="KSecrets::DBusSecretStruct"/>
-            <arg name="session" type="o" direction="in"/>
-            <arg name="secret" type="(oayays)" direction="out"/>
-        </method>
-
-        <method name="SetSecret">
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In0" \
                value="KSecrets::DBusSecretStruct"/>
-            <arg name="secret" type="(oayays)" direction="in"/>
-        </method>
-
-    </interface>
-
-</node>
diff --git a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Prompt.xml \
b/src/api/ksecrets/fd.o/org.freedesktop.Secret.Prompt.xml deleted file mode 100644
index c672434..0000000
--- a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Prompt.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-
-<node name="/org/freedesktop/Secret/prompts/pppp">
-    <interface name="org.freedesktop.Secret.Prompt">
-
-        <method name="Prompt">
-            <arg name="windowId" type="s" direction="in"/>
-        </method>
-
-        <method name="Dismiss"/>
-
-        <signal name="Completed">
-            <arg name="dismissed" type="b"/>
-            <arg name="result" type="v"/>
-        </signal>
-
-    </interface>
-</node>
diff --git a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Service.xml \
b/src/api/ksecrets/fd.o/org.freedesktop.Secret.Service.xml deleted file mode 100644
index 669b595..0000000
--- a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Service.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-
-<node name="/org/freedesktop/Secrets">
-    <interface name="org.freedesktop.Secret.Service">
-
-        <property name="Collections" type="ao" access="read"/>
-
-        <method name="OpenSession">
-            <arg name="algorithm" type="s" direction="in"/>
-            <arg name="input" type="v" direction="in"/>
-            <arg name="output" type="v" direction="out"/>
-            <arg name="result" type="o" direction="out"/>
-        </method>
-
-        <method name="CreateCollection">
-            <arg name="properties" type="a{sv}" direction="in"/>
-            <arg name="alias" type="s" direction="in"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
-            <arg name="collection" type="o" direction="out"/>
-            <arg name="prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="SearchItems">
-            <arg name="attributes" type="a{ss}" direction="in"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.In0" \
                value="KSecrets::DBusStringStringMap"/>
-            <arg name="unlocked" type="ao" direction="out"/>
-            <arg name="locked" type="ao" direction="out"/>
-        </method>
-
-        <method name="Unlock">
-            <arg name="objects" type="ao" direction="in"/>
-            <arg name="unlocked" type="ao" direction="out"/>
-            <arg name="prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="Lock">
-            <arg name="objects" type="ao" direction="in"/>
-            <arg name="locked" type="ao" direction="out"/>
-            <arg name="Prompt" type="o" direction="out"/>
-        </method>
-
-        <method name="GetSecrets">
-            <arg name="items" type="ao" direction="in"/>
-            <arg name="session" type="o" direction="in"/>
-            <arg name="secrets" type="a{o(oayay)}" direction="out"/>
-            <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" \
                value="KSecrets::DBusObjectPathSecretMap"/>
-        </method>
-
-        <method name="ReadAlias">
-            <arg name="name" type='s' direction='in'/>
-            <arg name="collection" type='o' direction='out'/>
-        </method>
-
-        <method name="SetAlias">
-            <arg name="name" type='s' direction='in'/>
-            <arg name="collection" type='o' direction='in'/>
-        </method>
-
-        <signal name="CollectionCreated">
-            <arg name="collection" type="o"/>
-        </signal>
-
-        <signal name="CollectionDeleted">
-            <arg name="collection" type="o"/>
-        </signal>
-
-        <signal name="CollectionChanged">
-            <arg name="collection" type="o"/>
-        </signal>
-
-    </interface>
-</node>
diff --git a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Session.xml \
b/src/api/ksecrets/fd.o/org.freedesktop.Secret.Session.xml deleted file mode 100644
index 654d395..0000000
--- a/src/api/ksecrets/fd.o/org.freedesktop.Secret.Session.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-
-<node name="/org/freedesktop/Secret/session/ssss">
-    <interface name="org.freedesktop.Secret.Session">
-
-        <method name="Close" />
-
-    </interface>
-</node>
diff --git a/src/api/ksecrets/fd.o/promptjob.cpp b/src/api/ksecrets/fd.o/promptjob.cpp
deleted file mode 100644
index f7136b9..0000000
--- a/src/api/ksecrets/fd.o/promptjob.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "promptjob.h"
-#include "dbusbackend.h"
-
-#include "prompt_interface.h"
-
-#include <QDebug>
-#include <klocalizedstring.h>
-
-using namespace KSecrets;
-
-PromptJob::PromptJob( const QDBusObjectPath &path, const WId &parentId, QObject *parent ) :
-            KJob( parent ),
-            promptPath( path ),
-            parentWindowId( parentId )
-{
-}
-
-void PromptJob::start()
-{
-    promptIf = DBusSession::createPromptIf( promptPath );
-    if ( promptIf->isValid() ) {
-        connect( promptIf, SIGNAL(Completed(bool,QDBusVariant)), this, \
                SLOT(promptCompleted(bool,QDBusVariant)) );
-        // TODO: place a timer here to avoid hanging up if the prompt never calls \
                promptCompleted
-        // NOTE: however, care should be taken to avoid problems when user is too slow \
                interacting with the prompt.
-        //       a sensible timeout value should be chosen
-
-        QDBusPendingReply<> promptReply = promptIf->Prompt( QStringLiteral("%1").arg( \
                parentWindowId ) );
-        // NOTE: ne need to wait for promptReply to finish. The prompt will call \
                promptCompleted when user interaction takes end
-    }
-    else {
-        qDebug() << "ERROR instantiating prompt " << promptPath.path();
-        setError(1); // FIXME: use enumerated error codes here
-        setErrorText( i18n("ERROR instantiating prompt with path '%1'", promptPath.path() ) );
-        emitResult();
-    }
-}
-
-void PromptJob::promptCompleted(bool dism, const QDBusVariant &res)
-{
-    qDebug() << "dismissed = " << dism << ", result = " << res.variant().toString();
-    dismissed = dism;
-    opResult = res;
-    setError(0);
-    emitResult();
-}
-
-
-
-#include "promptjob.moc"
diff --git a/src/api/ksecrets/fd.o/promptjob.h b/src/api/ksecrets/fd.o/promptjob.h
deleted file mode 100644
index 2dba4a2..0000000
--- a/src/api/ksecrets/fd.o/promptjob.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2011 Valentin Rusu <valir@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef PROMPTJOB_H
-#define PROMPTJOB_H
-
-#include <kjob.h>
-#include <QDBusObjectPath>
-#include <qwindowdefs.h>
-
-class OrgFreedesktopSecretPromptInterface;
-
-namespace KSecrets {
-
-class PromptJob : public KJob {
-    Q_OBJECT
-    Q_DISABLE_COPY(PromptJob)
-public:
-    PromptJob( const QDBusObjectPath &path, const WId &parentWindowId, QObject *parent );
-
-    virtual void start();
-
-    bool isDismissed() const { return dismissed; }
-    const QDBusVariant & result() const { return opResult; }
-
-private Q_SLOTS:
-    void promptCompleted(bool dismissed, const QDBusVariant &result);
-
-private:
-    QDBusObjectPath promptPath;
-    WId             parentWindowId;
-    OrgFreedesktopSecretPromptInterface *promptIf;
-    bool            dismissed;
-    QDBusVariant    opResult;
-};
-
-} // namespace
-
-#endif // PROMPTJOB_H
-


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic