#ifndef SMARTPENSYNCER_H #define SMARTPENSYNCER_H #include #include #include "smartpen.h" class SmartpenSyncer : public QThread { Q_OBJECT public: explicit SmartpenSyncer(const Smartpen::Address &addr, QObject *parent = 0); ~SmartpenSyncer(); Smartpen::Address penAddress() const; QString penName() const; signals: void penNameChanged(); public slots: void abort(); private: void run(); bool syncPen(); bool syncNotebook(const Smartpen::ChangeReport &change); bool syncPaperReplay(); bool extractZip(QByteArray &zipData, QDir &dir); private: Smartpen::Address _addr; Smartpen *_pen; bool _errored; bool _aborted; QString _penSerial; QString _penName; QDir _penDataDir; }; #endif // SMARTPENSYNCER_H