LoveBrains  1.0.0
plugin_manager.h
1 /*
2 ** plugin_manager.h for LoveBrains in /home/robin_f/Programming/Git/CPP/LoveBrains
3 **
4 ** Made by Guillaume ROBIN
5 ** Login <robin_f@epitech.eu>
6 **
7 ** Started on Thu Jul 30 11:47:22 2015 Guillaume ROBIN
8 ** Last update Fri Aug 21 14:04:47 2015 Guillaume ROBIN
9 */
10 
11 #ifndef PLUGIN_MANAGER_H_
12 # define PLUGIN_MANAGER_H_
13 
14 # include <vector>
15 
16 # include "Plugin/i_plugin.h"
17 # include "Plugin/plugin_exception.h"
18 # include "Graphics/physics.h"
19 # include "Graphics/factory_object.h"
20 
21 namespace Plugin
22 {
28  {
29  public:
33  PluginManager(void) throw();
37  ~PluginManager(void) throw();
38 
39  /*
40  ** Methods.
41  */
42 
47  void LoadPlugins(void);
52  void LoadObjects(void);
57  void LoadColliders(Graphics::Physics& physics);
58 
63  void LoadSensors(Graphics::Physics& physics);
68  void ClosePlugins(void);
69 
70  private:
71  std::vector<IPlugin *> _plugs;
72  std::vector<void *> _handlers;
73  };
74 }
75 
76 #endif /* !PLUGIN_MANAGER_H_ */
Manage the plugins loading.
Definition: plugin_manager.h:27
void LoadSensors(Graphics::Physics &physics)
Load all the sensors contained in the plugin.
Definition: plugin_manager.cc:126
void LoadColliders(Graphics::Physics &physics)
Load all the colliders contained in the plugin.
Definition: plugin_manager.cc:111
~PluginManager(void)
Destructor.
Definition: plugin_manager.cc:31
void ClosePlugins(void)
Close all the plugins.
Definition: plugin_manager.cc:141
void LoadPlugins(void)
Load all the plugins contained in the "mods" directory.
Definition: plugin_manager.cc:51
void LoadObjects(void)
Load all the objects contained in the plugin.
Definition: plugin_manager.cc:93
PluginManager(void)
Constructor.
Definition: plugin_manager.cc:27
Define the physics engine used by the environment.
Definition: physics.h:28
Contains all the objects and the interfaces of the plugin management.