source: flair-src/trunk/tools/FlairGCS/src/DataRemote.h @ 437

Last change on this file since 437 was 437, checked in by Sanahuja Guillaume, 3 months ago

prepare for graphs buffering

File size: 1.2 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5#ifndef DATAREMOTE_H
6#define DATAREMOTE_H
7
8#include <stdint.h>
9#include "XmlWidget.h"
10#include <QPoint>
11
12class QMenu;
13class QAction;
14
15class DataRemote : public XmlWidget {
16public:
17  DataRemote(QString name, QString type, XmlWidget *parent, bool enabled,
18             uint16_t period, uint16_t nb_buffering=1);
19  ~DataRemote();
20  uint16_t RefreshRate_ms(void);
21  bool IsEnabled(void);
22  int ReceiveSize(void);
23  virtual void BufEvent(char **buf, int *buf_size, uint16_t period,
24                        bool big_endian) = 0;
25  void appendmenu(QMenu *menu);
26  QAction *execmenu(QWidget *parent, QMenu *menu, QPoint point);
27
28protected:
29  bool auto_refresh;
30  bool is_logging;
31  double refresh_rate; // en s
32  int receivesize;
33  uint16_t nb_buffering;
34
35  void XmlSetup(QDomElement *dom);
36
37private:
38  void SendPeriod(uint16_t period, bool auto_refresh);
39  void SendNbBuffering(uint16_t nb_buffering);
40  QAction *SetAutoRefresh, *setRefreshRate,*setNbBuffering;
41  //QAction **log;//todo implement this feature (log directly in gcs, in case of uav program crash)
42};
43
44#endif // DATAREMOTE_H
Note: See TracBrowser for help on using the repository browser.