diff options
author | Javier <dev.git@javispedro.com> | 2015-03-28 21:06:07 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-03-28 21:06:07 +0100 |
commit | 1cd1d83ee243db6f3ee929de1346c8e385b2148f (patch) | |
tree | 6943fe89c2d64e262ee0114378f8700ff8ae2c08 /saltoqd/fmsmanager.h | |
parent | 08d36eb82a9cc7ef9cc3efe40f26e1a732c8c602 (diff) | |
download | saltoq-1cd1d83ee243db6f3ee929de1346c8e385b2148f.tar.gz saltoq-1cd1d83ee243db6f3ee929de1346c8e385b2148f.zip |
implement fms file transfer (via bt obex push)
Diffstat (limited to 'saltoqd/fmsmanager.h')
-rw-r--r-- | saltoqd/fmsmanager.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/saltoqd/fmsmanager.h b/saltoqd/fmsmanager.h new file mode 100644 index 0000000..3d2ab90 --- /dev/null +++ b/saltoqd/fmsmanager.h @@ -0,0 +1,48 @@ +#ifndef FMSMANAGER_H +#define FMSMANAGER_H + +#include <QtCore/QDateTime> +#include "toqmanager.h" + +class ObexTransfer; + +class FmsManager : public QObject, public ToqManager::EndpointHandler +{ + Q_OBJECT +public: + explicit FmsManager(ObexConnection *obex, ToqManager *toq); + + void handleMessage(const ToqConnection::Message &msg) Q_DECL_OVERRIDE; + + void updateFile(const QString &path, const QByteArray &contents); + void deleteFile(const QString &path); + +private: + void handleTransferResult(const QJsonObject &msg); + +private slots: + void handleQueue(); + void handleToqDisconnected(); + void handleObexConnected(); + void handleObexDisconnected(); + void handleObexError(int response); + void cleanCurTransfer(); + +private: + struct File { + QDateTime mtime; + QByteArray contents; + quint32 checksum; + }; + +private: + ObexConnection *_obex; + ToqManager *_toq; + QMap<QString, File> _files; + QSet<QString> _pending; + ObexTransfer *_curTransfer; + int _curTransferTransactionId; + QString _curTransferPath; +}; + +#endif // FMSMANAGER_H |