summaryrefslogtreecommitdiff
path: root/daemon/appmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/appmanager.h')
-rw-r--r--daemon/appmanager.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/daemon/appmanager.h b/daemon/appmanager.h
index 59d0bd7..5e150ab 100644
--- a/daemon/appmanager.h
+++ b/daemon/appmanager.h
@@ -2,19 +2,46 @@
#define APPMANAGER_H
#include <QObject>
+#include <QHash>
+#include <QUuid>
+#include <QFileSystemWatcher>
+#include <Log4Qt/Logger>
class AppManager : public QObject
{
Q_OBJECT
+ LOG4QT_DECLARE_QCLASS_LOGGER
public:
explicit AppManager(QObject *parent = 0);
+ struct AppInfo {
+ QUuid uuid;
+ QString shortName;
+ QString longName;
+ QString company;
+ int versionCode;
+ QString versionLabel;
+ bool isWatchface;
+ bool isJSKit;
+ QHash<QString, int> appKeys;
+ QString path;
+ };
+
+ QStringList appPaths() const;
+
bool installPebbleApp(const QString &pbwFile);
- QList<QUuid> allInstalledApps() const;
+public slots:
+ void rescan();
+
+private:
+ void scanApp(const QString &path);
- QString getAppDir(const QUuid &uuid) const;
+private:
+ QFileSystemWatcher *_watcher;
+ QHash<QUuid, AppInfo> _apps;
+ QHash<QString, QUuid> _names;
};
#endif // APPMANAGER_H