on b95cb03 help sign in
unity8/plugins/Unity/Launcher/ualwrapper.cpp
47 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 for (const std::shared_ptr<Application> &app : Registry::installedApps()) {
18 appIds << QString::fromStdString(app->appId().package) + QStringLiteral("_") + QString::fromStdString(app->appId().appname);
19 }
20 return appIds;
23UalWrapper::AppInfo UalWrapper::getApplicationInfo(const QString &appId)
25 AppInfo info;
27 AppID ualAppId = AppID::find(appId.toStdString());
28 if (ualAppId.empty()) {
29 return info;
30 }
32 std::shared_ptr<Application> ualApp;
33 try
34 {
35 ualApp = Application::create(ualAppId, Registry::getDefault());
36 }
37 catch (std::runtime_error &e)
38 {
39 qWarning() << "Couldn't find application info for" << appId << "-" << e.what();
40 return info;
41 }
43 info.valid = true;
44 info.name = QString::fromStdString(ualApp->info()->name());
45 info.icon = QString::fromStdString(ualApp->info()->iconPath());
46 return info;