summaryrefslogtreecommitdiff
path: root/gatoatt.h
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2013-12-05 21:08:48 +0100
committerJavier S. Pedro <maemo@javispedro.com>2013-12-05 21:08:48 +0100
commite3ef07dd34b1d8d39d32fa1e43351b7d54c61336 (patch)
tree9249e42422a4a01c05da77c015a5866c8f94a4f6 /gatoatt.h
parent5d8428e4f9801fa02df50091954f9d87ccb8a207 (diff)
downloadlibgato-e3ef07dd34b1d8d39d32fa1e43351b7d54c61336.tar.gz
libgato-e3ef07dd34b1d8d39d32fa1e43351b7d54c61336.zip
Rename GatoAtt to GatoAttClient and add WriteType support
Diffstat (limited to 'gatoatt.h')
-rw-r--r--gatoatt.h97
1 files changed, 0 insertions, 97 deletions
diff --git a/gatoatt.h b/gatoatt.h
deleted file mode 100644
index 27cea3e..0000000
--- a/gatoatt.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef GATOATTSOCKET_H
-#define GATOATTSOCKET_H
-
-#include <QtCore/QObject>
-#include <QtCore/QQueue>
-#include "gatosocket.h"
-#include "gatouuid.h"
-
-class GatoAtt : public QObject
-{
- Q_OBJECT
-
-public:
- explicit GatoAtt(QObject *parent = 0);
- ~GatoAtt();
-
- GatoSocket::State state() const;
-
- bool connectTo(const GatoAddress& addr);
- void close();
-
- struct InformationData
- {
- GatoHandle handle;
- GatoUUID uuid;
- };
- struct HandleInformation
- {
- GatoHandle start;
- GatoHandle end;
- };
- struct AttributeData
- {
- GatoHandle handle;
- QByteArray value;
- };
- struct AttributeGroupData
- {
- GatoHandle start;
- GatoHandle end;
- QByteArray value;
- };
-
- uint request(int opcode, const QByteArray &data, QObject *receiver, const char *member);
- uint requestExchangeMTU(quint8 client_mtu, QObject *receiver, const char *member);
- uint requestFindInformation(GatoHandle start, GatoHandle end, QObject *receiver, const char *member);
- uint requestFindByTypeValue(GatoHandle start, GatoHandle end, const GatoUUID &uuid, const QByteArray& value, QObject *receiver, const char *member);
- uint requestReadByType(GatoHandle start, GatoHandle end, const GatoUUID &uuid, QObject *receiver, const char *member);
- uint requestRead(GatoHandle handle, QObject *receiver, const char *member);
- uint requestReadByGroupType(GatoHandle start, GatoHandle end, const GatoUUID &uuid, QObject *receiver, const char *member);
- uint requestWrite(GatoHandle handle, const QByteArray &value, QObject *receiver, const char *member);
- void cancelRequest(uint id);
-
- void command(int opcode, const QByteArray &data);
-
-signals:
- void connected();
- void disconnected();
-
- void attributeUpdated(GatoHandle handle, const QByteArray &value, bool confirmed);
-
-private:
- struct Request
- {
- uint id;
- quint8 opcode;
- QByteArray pkt;
- QObject *receiver;
- QByteArray member;
- };
-
- void sendARequest();
- bool handleEvent(const QByteArray &event);
- bool handleResponse(const Request& req, const QByteArray &response);
-
- void writeUuid16or128(QDataStream& s, const GatoUUID& uuid);
-
- QList<InformationData> parseInformationData(const QByteArray &data);
- QList<HandleInformation> parseHandleInformation(const QByteArray &data);
- QList<AttributeData> parseAttributeData(const QByteArray &data);
- QList<AttributeGroupData> parseAttributeGroupData(const QByteArray &data);
-
-private slots:
- void handleSocketConnected();
- void handleSocketDisconnected();
- void handleSocketReadyRead();
-
- void handleServerMTU(uint req, quint8 server_mtu);
-
-private:
- GatoSocket *socket;
- quint8 mtu;
- uint next_id;
- QQueue<Request> pending_requests;
-};
-
-#endif // GATOATTSOCKET_H