configuration option for kernel's multiboot-compliance
[quarnos.git] / modules / main_mmanager.h
blob8b13f09db56aa3bb55e670e0a3f449ba203654a5
1 #ifndef _MAIN_MMANAGER_H_
2 #define _MAIN_MMANAGER_H_
5 #include "libs/list.h"
6 #include "module.h"
7 #include "module_manager.h"
8 #include "manes/type.h"
9 #include "libs/delegate.h"
11 namespace modules {
12 class main_mmanager : public module_manager {
13 private:
14 list<module *> loaded_modules;
16 manes::kernel_state *kstate;
18 services::service_manager *srv_man;
19 resources::resource_manager *res_man;
20 actors::actor_manager *act_man;
22 arch::lowlevel *llevel;
24 main_mmanager();
25 static main_mmanager *instance;
26 public:
27 static module_manager *get_instance();
29 bool require(const char *);
31 manes::kernel_state *get_state();
33 services::service_manager *get_services();
34 resources::resource_manager *get_resources();
35 actors::actor_manager *get_actors();
37 arch::lowlevel *get_lowlevel();
39 void *get_memory(unsigned int);
43 #endif