summaryrefslogtreecommitdiff
path: root/daemon/bankmanager.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-07 01:31:51 +0100
committerJavier <dev.git@javispedro.com>2014-12-07 01:31:51 +0100
commit49c20eb7e2933ae6e9e4337fc0fe9b49a39efde8 (patch)
treeb12ba4e901ac602ce9f3b7cc003de4dd663e8200 /daemon/bankmanager.h
parentc7804f23412c14d6252bee6deb904d59ced835e2 (diff)
add bankmanager and ability to unload apps
Diffstat (limited to 'daemon/bankmanager.h')
-rw-r--r--daemon/bankmanager.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/daemon/bankmanager.h b/daemon/bankmanager.h
new file mode 100644
index 0000000..28729b9
--- /dev/null
+++ b/daemon/bankmanager.h
@@ -0,0 +1,51 @@
+#ifndef BANKMANAGER_H
+#define BANKMANAGER_H
+
+#include "watchconnector.h"
+#include "appmanager.h"
+
+class BankManager : public QObject
+{
+ Q_OBJECT
+ LOG4QT_DECLARE_QCLASS_LOGGER
+
+public:
+ explicit BankManager(WatchConnector *watch, AppManager *apps, QObject *parent = 0);
+
+ int numSlots() const;
+
+
+signals:
+ void slotsChanged();
+
+public slots:
+ bool uploadApp(const QUuid &uuid, int slot = -1);
+ bool unloadApp(int slot);
+
+ void refresh();
+
+private:
+ int findUnusedSlot() const;
+
+
+private slots:
+ void handleWatchConnected();
+
+private:
+ WatchConnector *watch;
+ AppManager *apps;
+
+ struct SlotInfo {
+ bool used;
+ quint32 id;
+ QString name;
+ QString company;
+ quint32 flags;
+ quint16 version;
+ QUuid uuid;
+ };
+
+ QVector<SlotInfo> _slots;
+};
+
+#endif // BANKMANAGER_H