It has been a while since I last worked on Aesalon proper.
[aesalon.git] / visualizer / src / module / Module.h
blob982258ba470b42f6ac43a7c77b1b37e46baf3700
1 #ifndef Module_H
2 #define Module_H
4 #include <QString>
6 #include "renderer/Controller.h"
7 #include "renderer/DataRange.h"
9 class Visualization;
11 class Module {
12 public:
13 Module(const char *name);
14 ~Module();
15 private:
16 QString m_name;
17 void *m_moduleHandle;
18 RendererController *m_controller;
19 public:
20 const QString &name() const { return m_name; }
21 RendererController *controller() const { return m_controller; }
22 Timestamp latestHeartbeat() const;
24 void processIncoming(DataPacket *packet);
25 Renderer *renderer(std::string name);
26 private:
27 QString modulePath(QString filename);
30 #endif