/ src / msgpackrequest.h
msgpackrequest.h
 1  #ifndef NEOVIM_QT_REQUEST
 2  #define NEOVIM_QT_REQUEST
 3  
 4  #include <QObject>
 5  #include <QTimer>
 6  
 7  namespace NeovimQt {
 8  
 9  class MsgpackIODevice;
10  class MsgpackRequest: public QObject {
11  	Q_OBJECT
12  public:
13  	MsgpackRequest(quint32 id, MsgpackIODevice *dev, QObject *parent=0);
14  	void setFunction(quint64);
15  	quint64 function();
16  	void setTimeout(int msec);
17  	/** The identifier for this Msgpack request */
18  	const quint32 id;
19  signals:
20  	void finished(quint32 msgid, quint64 fun, const QVariant& resp);
21  	void error(quint32 msgid, quint64 fun, const QVariant& err);
22  	void timeout(quint32 id);
23  protected slots:
24  	void requestTimeout();
25  
26  private:
27  	MsgpackIODevice *m_dev;
28  	quint64 m_function;
29  	QTimer m_timer;
30  };
31  } // Namespace
32  
33  #endif