LoveBrains  1.0.0
app.h
Go to the documentation of this file.
1 /*
2 ** app.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 Fri Jul 31 11:35:32 2015 Guillaume ROBIN
8 ** Last update Mon Aug 24 13:42:36 2015 Guillaume ROBIN
9 */
10 
11 #ifndef APP_H_
12 # define APP_H_
13 
22 # include "App/app_exception.h"
23 # include "App/config_manager.h"
24 # include "Simulator/simulator.h"
25 # include "Plugin/plugin_manager.h"
26 
27 namespace App
28 {
37  class App
38  {
39  public:
43  App(void) throw();
47  ~App(void) throw();
48 
49  /*
50  ** Getters.
51  */
52 
56  ConfigManager const& getConfigManager(void) const throw();
60  const Simulator::Simulator *getSimulator(void) const throw();
61 
62  /*
63  ** Methods.
64  */
71  void Init(const char *simulator_file, const char *environment_file);
77  void Run(const char *output_file);
78 
79  private:
80  ConfigManager _manager;
81  Plugin::PluginManager _plugins;
82  Simulator::Simulator *_simulator;
83  };
84 }
85 
86 #endif /* !APP_H_ */
Manage the plugins loading.
Definition: plugin_manager.h:27
Contains all the tools which compose the application.
Definition: app.h:27
Manage the configuration of the simulator and the engines.
Definition: config_manager.h:21
this file define the exception of the "App" class.
Contains all the objects in order to run the simulation.
Definition: simulator.h:28