DaZeus  2.0
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
dazeus.h
Go to the documentation of this file.
1 
6 #ifndef DAZEUS_H
7 #define DAZEUS_H
8 
9 #include <vector>
10 #include <string>
11 
12 namespace dazeus {
13 
14 class ConfigReader;
15 class PluginComm;
16 class Network;
17 class Database;
18 class PluginMonitor;
19 
20 class DaZeus
21 {
22  public:
23  DaZeus( std::string configFileName = std::string() );
24  ~DaZeus();
25  void setConfigFileName( std::string fileName );
26  std::string configFileName() const;
27  bool configLoaded() const;
28 
29  Database *database() const;
30  const std::vector<Network*> &networks() const { return networks_; }
31 
32  void run();
33  bool loadConfig();
34  bool initPlugins();
35  void autoConnect();
36  bool connectDatabase();
37  void stop();
38  void sigchild();
39 
40  private:
41  // explicitly disable copy constructor
42  DaZeus(const DaZeus&);
43  void operator=(const DaZeus&);
44 
45  ConfigReader *config_;
46  std::string configFileName_;
47  PluginComm *plugins_;
48  PluginMonitor *plugin_monitor_;
49  Database *database_;
50  std::vector<Network*> networks_;
51  bool running_;
52 };
53 
54 }
55 
56 #endif