on abc03e9 help sign in
unity8/plugins/Unity/Launcher/ualwrapper.cpp
48 lines 1.2 kB history raw
1#include <QDebug>
3#include "ualwrapper.h"
5#include <ubuntu-app-launch/registry.h>
6using namespace ubuntu::app_launch;
8UalWrapper::UalWrapper(QObject *parent):
9 QObject(parent)
14QStringList UalWrapper::installedApps()
16 QStringList appIds;
17 Registry::installedApps();
18 for (std::shared_ptr<Application> app : Registry::installedApps()) {
19 appIds << QString::fromStdString(app->appId().package) + "_" + QString::fromStdString(app->appId().appname);
20 }
21 return appIds;
24UalWrapper::AppInfo UalWrapper::getApplicationInfo(const QString &appId)
26 AppInfo info;
28 AppID ualAppId = AppID::find(Registry::getDefault(), appId.toStdString());
29 if (ualAppId.empty()) {
30 return info;
31 }
33 std::shared_ptr<Application> ualApp;
34 try
35 {
36 ualApp = Application::create(ualAppId, Registry::getDefault());
37 }
38 catch (std::runtime_error &e)
39 {
40 qWarning() << "Couldn't find application info for" << appId << "-" << e.what();
41 return info;
42 }
44 info.valid = true;
45 info.name = QString::fromStdString(ualApp->info()->name());
46 info.icon = QString::fromStdString(ualApp->info()->iconPath());
47 return info;