1 #ifndef PENDING_COMMAND_H
2 #define PENDING_COMMAND_H
3 
4 #include "pb/commands.pb.h"
5 #include "pb/response.pb.h"
6 
7 #include <QVariant>
8 
9 class PendingCommand : public QObject
10 {
11     Q_OBJECT
12 signals:
13     void finished(const Response &response, const CommandContainer &commandContainer, const QVariant &extraData);
14     void finished(Response::ResponseCode respCode);
15 
16 private:
17     CommandContainer commandContainer;
18     QVariant extraData;
19     int ticks;
20 
21 public:
22     PendingCommand(const CommandContainer &_commandContainer, QVariant _extraData = QVariant());
23     CommandContainer &getCommandContainer();
24     void setExtraData(const QVariant &_extraData);
25     QVariant getExtraData() const;
26     void processResponse(const Response &response);
27     int tick();
28 };
29 
30 #endif
31