Flair
Framework Libre Air
FrameworkManager.h
Go to the documentation of this file.
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}
13 #ifndef FRAMEWORKMANAGER_H
14 #define FRAMEWORKMANAGER_H
15 
16 #include <Object.h>
17 
18 class FrameworkManager_impl;
19 
20 namespace flair {
21  namespace gui {
22  class TabWidget;
23  class SendData;
24  }
25 }
26 namespace flair {
27 namespace core {
28 class IODevice;
29 
45 class FrameworkManager : public Object {
46 public:
56  FrameworkManager(std::string name);
57 
66 
79  void SetupConnection(std::string address, uint16_t port,Time watchdogTimeout=(Time)1000000000,
80  size_t rcv_buf_size = 10000);
81 
93  void SetupUserInterface(std::string xml_file);
94 
100  gui::TabWidget *GetTabWidget(void) const;
101 
110  void SetupLogger(std::string log_path);
111 
119  std::string GetLogPath(void) const;
120 
131  void AddDeviceToLog(IODevice *device);
132 
141  bool IsDeviceLogged(const IODevice *device) const;
142 
150  void StartLog(void);
151 
157  void StopLog(void);
158 
164  bool IsLogging(void) const;
165 
175  void UpdateSendData(const gui::SendData *obj);
176 
187  void BlockCom(void);
188 
199  void UnBlockCom(void);
200 
210  bool ConnectionLost(void) const;
211 
220  void DisableErrorsDisplay(bool value);
221 
228  bool IsDisplayingErrors(void) const;
229 
230 private:
231  class FrameworkManager_impl *pimpl_;
232 };
233 
240 
246 bool IsBigEndian(void);
247 
248 } // end namespace core
249 } // end namespace flair
250 
251 #endif // FRAMEWORKMANAGER_H
Base class for all Framework's classes.
Definition: Object.h:77
Abstract class for input/ouput system.
Definition: IODevice.h:45
namespace of the flair Framework
Definition: Ahrs.h:19
unsigned long long Time
Time definition, in ns.
Definition: Object.h:49
std::string GetLogPath(void) const
Get log path.
bool IsDeviceLogged(const IODevice *device) const
Is device logged.
bool IsDisplayingErrors(void) const
Is displaying errors?
Main class of the Framework library.
Definition: FrameworkManager.h:45
bool ConnectionLost(void) const
Is connection lost?
bool IsBigEndian(void)
is big endian?
Class displaying a QTabWidget on the ground station.
Definition: TabWidget.h:29
void StartLog(void)
Start logging.
FrameworkManager(std::string name)
Constructor.
Base class for all Framework's classes.
void StopLog(void)
Stop logging.
void AddDeviceToLog(IODevice *device)
Add log element.
void SetupConnection(std::string address, uint16_t port, Time watchdogTimeout=(Time) 1000000000, size_t rcv_buf_size=10000)
Setup the connection with ground station.
FrameworkManager * getFrameworkManager(void)
get FrameworkManager
void SetupLogger(std::string log_path)
Logger setup.
void UnBlockCom(void)
Unblock communication.
gui::TabWidget * GetTabWidget(void) const
Get TabWidget.
void DisableErrorsDisplay(bool value)
Disable errors display.
void SetupUserInterface(std::string xml_file)
Setup the user interface.
Abstract class for sending datas to ground station.
Definition: SendData.h:29
void UpdateSendData(const gui::SendData *obj)
Notify that SendData's period has changed.
void BlockCom(void)
Block communication.
bool IsLogging(void) const
Is logging?