Successfully implemented a cpuTime marshaller.
[aesalon.git] / include / monitor / module / Module.h
blob78dfc6f0cee49746731660903ae7350532b19a0f
1 /**
2 Aesalon, a tool to visualize a program's behaviour at run-time.
3 Copyright (C) 2010, Aesalon Development Team.
5 Aesalon is distributed under the terms of the GNU GPLv3. For more
6 licensing information, see the file LICENSE included with the distribution.
8 @file include/monitor/module/Module.h
12 #ifndef AesalonMonitor_Module_Module_H
13 #define AesalonMonitor_Module_Module_H
15 #include <string>
17 #include "config/Vault.h"
18 #include "common/MarshallerInterface.h"
20 namespace Monitor {
21 namespace Module {
23 class Module {
24 private:
25 std::string m_moduleName;
26 ModuleID m_moduleID;
27 void *m_marshallerHandle;
28 void *m_preprocessorHandle;
29 Common::MarshallerInterface *m_instance;
30 public:
31 Module(const std::string &moduleName);
32 ~Module();
34 ModuleID moduleID() const { return m_moduleID; }
36 const std::string &moduleName() const { return m_moduleName; }
37 Common::MarshallerInterface *marshallerInterface() const { return m_instance; }
38 private:
39 void loadMarshaller();
40 void loadPreprocessor();
43 } // namespace Module
44 } // namespace Monitor
46 #endif