summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/appmanager.cpp15
-rw-r--r--daemon/appmanager.h20
-rw-r--r--daemon/daemon.cpp3
-rw-r--r--daemon/daemon.pro6
-rw-r--r--daemon/manager.cpp6
-rw-r--r--daemon/manager.h4
6 files changed, 47 insertions, 7 deletions
diff --git a/daemon/appmanager.cpp b/daemon/appmanager.cpp
new file mode 100644
index 0000000..b4a3d68
--- /dev/null
+++ b/daemon/appmanager.cpp
@@ -0,0 +1,15 @@
+#include <QStandardPaths>
+#include <QUuid>
+#include "appmanager.h"
+
+AppManager::AppManager(QObject *parent)
+ : QObject(parent)
+{
+}
+
+QString AppManager::getAppDir(const QUuid& uuid) const
+{
+ return QStandardPaths::locate(QStandardPaths::DataLocation,
+ QString("apps/%1").arg(uuid.toString()),
+ QStandardPaths::LocateDirectory);
+}
diff --git a/daemon/appmanager.h b/daemon/appmanager.h
new file mode 100644
index 0000000..59d0bd7
--- /dev/null
+++ b/daemon/appmanager.h
@@ -0,0 +1,20 @@
+#ifndef APPMANAGER_H
+#define APPMANAGER_H
+
+#include <QObject>
+
+class AppManager : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit AppManager(QObject *parent = 0);
+
+ bool installPebbleApp(const QString &pbwFile);
+
+ QList<QUuid> allInstalledApps() const;
+
+ QString getAppDir(const QUuid &uuid) const;
+};
+
+#endif // APPMANAGER_H
diff --git a/daemon/daemon.cpp b/daemon/daemon.cpp
index 9d89980..80ae667 100644
--- a/daemon/daemon.cpp
+++ b/daemon/daemon.cpp
@@ -82,7 +82,8 @@ int main(int argc, char *argv[])
DBusConnector dbus;
VoiceCallManager voice(&settings);
NotificationManager notifications(&settings);
- Manager manager(&watch, &dbus, &voice, &notifications, &settings);
+ AppManager apps(&settings);
+ Manager manager(&watch, &dbus, &voice, &notifications, &apps, &settings);
signal(SIGINT, signalhandler);
signal(SIGTERM, signalhandler);
diff --git a/daemon/daemon.pro b/daemon/daemon.pro
index 0528ec9..78091e0 100644
--- a/daemon/daemon.pro
+++ b/daemon/daemon.pro
@@ -22,7 +22,8 @@ SOURCES += \
watchconnector.cpp \
dbusconnector.cpp \
dbusadaptor.cpp \
- watchcommands.cpp
+ watchcommands.cpp \
+ appmanager.cpp
HEADERS += \
manager.h \
@@ -33,7 +34,8 @@ HEADERS += \
dbusconnector.h \
dbusadaptor.h \
watchcommands.h \
- settings.h
+ settings.h \
+ appmanager.h
OTHER_FILES += \
org.pebbled.xml \
diff --git a/daemon/manager.cpp b/daemon/manager.cpp
index b01006c..7761864 100644
--- a/daemon/manager.cpp
+++ b/daemon/manager.cpp
@@ -5,9 +5,9 @@
#include <QtContacts/QContact>
#include <QtContacts/QContactPhoneNumber>
-Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications, Settings *settings) :
- QObject(0), watch(watch), dbus(dbus), voice(voice), notifications(notifications), commands(new WatchCommands(watch, this)),
- settings(settings), notification(MNotification::DeviceEvent)
+Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications, AppManager *apps, Settings *settings) :
+ QObject(0), watch(watch), dbus(dbus), voice(voice), notifications(notifications), apps(apps),
+ commands(new WatchCommands(watch, this)), settings(settings), notification(MNotification::DeviceEvent)
{
connect(settings, SIGNAL(valueChanged(QString)), SLOT(onSettingChanged(const QString&)));
connect(settings, SIGNAL(valuesChanged()), SLOT(onSettingsChanged()));
diff --git a/daemon/manager.h b/daemon/manager.h
index 9de5667..5946bf0 100644
--- a/daemon/manager.h
+++ b/daemon/manager.h
@@ -5,6 +5,7 @@
#include "dbusconnector.h"
#include "voicecallmanager.h"
#include "notificationmanager.h"
+#include "appmanager.h"
#include "watchcommands.h"
#include "settings.h"
@@ -38,6 +39,7 @@ class Manager :
DBusConnector *dbus;
VoiceCallManager *voice;
NotificationManager *notifications;
+ AppManager *apps;
WatchCommands *commands;
@@ -55,7 +57,7 @@ class Manager :
QScopedPointer<icu::Transliterator> transliterator;
public:
- explicit Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications, Settings *settings);
+ explicit Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications, AppManager *apps, Settings *settings);
Q_INVOKABLE QString findPersonByNumber(QString number);
Q_INVOKABLE QString getCurrentProfile();