diff options
Diffstat (limited to 'src/dbus-lib/packagemanagerdbuscontextadaptor.cpp')
-rw-r--r-- | src/dbus-lib/packagemanagerdbuscontextadaptor.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dbus-lib/packagemanagerdbuscontextadaptor.cpp b/src/dbus-lib/packagemanagerdbuscontextadaptor.cpp index 2f5217a6..c6d78fff 100644 --- a/src/dbus-lib/packagemanagerdbuscontextadaptor.cpp +++ b/src/dbus-lib/packagemanagerdbuscontextadaptor.cpp @@ -7,6 +7,7 @@ #include "package.h" #include "packagemanager.h" #include "packagemanager_adaptor.h" +#include "applicationmanager.h" #include "dbuspolicy.h" #include "exception.h" #include "logging.h" @@ -61,6 +62,17 @@ PackageManagerAdaptor::PackageManagerAdaptor(QObject *parent) const QVariantMap &packageExtraSignedMetaData) { auto map = PackageManager::instance()->get(package); map.remove(qSL("package")); // cannot marshall QObject * + + const auto apps = package->applications(); // these are QObject * (legacy API) + QVariantList appList; + appList.reserve(apps.size()); + for (const auto *obj : apps) { + QVariantMap app = ApplicationManager::instance()->get(obj->property("id").toString()); + app.remove(qSL("application")); // cannot marshall QObject * + appList.append(app); + } + map.insert(qSL("applications"), appList); + emit taskRequestingInstallationAcknowledge(taskId, map, packageExtraMetaData, packageExtraSignedMetaData); }); |