openModeller  Version 1.5.0
CacheManager.hh
Go to the documentation of this file.
1 
27 #ifndef _CACHE_MANAGER_HH_
28 #define _CACHE_MANAGER_HH_
29 
30 #include <string>
31 #include <sstream>
32 
34 
35 /************************************************************/
36 /*********************** Cache Manager **********************/
37 
48 class dllexp CacheManager {
49 
50 public:
51 
52  ~CacheManager();
53 
58  static void initialize( const std::string dir="" );
59 
65  static bool isCached( const std::string id, const std::string subdir="" );
66 
73  static bool isCachedMd5( const std::string id, const std::string subdir="" );
74 
80  static void cache( const std::string id, const std::ostringstream& content, const std::string subdir="" );
81 
88  static void cacheMd5( const std::string id, const std::ostringstream& content, const std::string subdir="" );
89 
95  static std::string getContentLocation( const std::string id, const std::string subdir="" );
96 
103  static std::string getContentLocationMd5( const std::string id, const std::string subdir="" );
104 
109  static std::string getContentIdMd5( const std::string id );
110 
116  static int eraseCache( const std::string id, const std::string subdir="" );
117 
124  static int eraseCacheMd5( const std::string id, const std::string subdir="" );
125 
126 private:
127 
128  CacheManager();
129 
130  static CacheManager& _getInstance();
131 
132  static void _ensureInitialized();
133 
134  // Cache directory
135  std::string _cacheDir;
136 };
137 
138 #endif
std::string _cacheDir