on b76b31e help sign in
55 lines 1.5 kB history raw
1/*
2 * Copyright (C) 2017 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include <QObject>
19// This is a mock implementation
21class UalWrapper: public QObject
23 Q_OBJECT
24public:
25 struct AppInfo {
26 QString appId;
27 bool valid = false;
28 QString name;
29 QString icon;
30 QStringList keywords;
31 uint popularity = 0;
32 };
34 UalWrapper(QObject* parent = nullptr);
36 static QStringList installedApps();
37 static AppInfo getApplicationInfo(const QString &appId);
39 // for testing:
40 static UalWrapper* instance();
41 void addMockApp(const QString &appId);
42 void removeMockApp(const QString &appId);
44Q_SIGNALS:
45 void appAdded(const QString &appId);
46 void appRemoved(const QString &appId);
47 void appInfoChanged(const QString &appId);
50private:
51 static QStringList s_list;
52 static UalWrapper *s_instance;
54 friend class AppDrawerModelTest;
55};