Pol  Revision:cb584c9
ucfg.h
Go to the documentation of this file.
1 
8 #ifndef UCFG_H
9 #define UCFG_H
10 
11 #include <boost/noncopyable.hpp>
12 #include <map>
13 #include <string>
14 #include <vector>
15 
16 #include "../../clib/maputil.h"
17 #include "../../clib/refptr.h"
18 #include "../module/fileaccess.h"
19 
20 namespace Pol
21 {
22 namespace Module
23 {
24 class DataStoreFile;
25 }
26 namespace Core
27 {
28 class StoredConfigFile;
29 
31 
32 typedef std::map<std::string, ConfigFileRef> CfgFiles;
33 typedef std::vector<std::string> OldCfgFiles; // we've multiple older instances
34 
35 typedef std::map<std::string, Module::DataStoreFile*, Clib::ci_cmp_pred> DataStore;
36 // used for Pol and RunEcl
37 
38 class ConfigurationBuffer : boost::noncopyable
39 {
40 public:
43  struct Memory;
44 
45  Memory estimateSize() const;
46 
47  void deinitialize();
48 
49  CfgFiles cfgfiles;
50  OldCfgFiles oldcfgfiles;
51  DataStore datastore;
52  std::vector<Module::FileAccess> file_access_rules;
53 
54  struct Memory
55  {
56  size_t cfg_count;
57  size_t cfg_size;
60  size_t misc;
61  };
62 
63 private:
64 };
65 
67 }
68 }
69 
70 #endif
ref_ptr< StoredConfigFile > ConfigFileRef
Definition: cfgrepos.h:101
std::map< std::string, ConfigFileRef > CfgFiles
Definition: ucfg.h:32
OldCfgFiles oldcfgfiles
Definition: ucfg.h:50
std::map< std::string, Module::DataStoreFile *, Clib::ci_cmp_pred > DataStore
Definition: ucfg.h:35
std::vector< Module::FileAccess > file_access_rules
Definition: ucfg.h:52
std::vector< std::string > OldCfgFiles
Definition: ucfg.h:33
Definition: refptr.h:65
ConfigurationBuffer configurationbuffer
Definition: ucfg.cpp:13
Definition: berror.cpp:12