summaryrefslogtreecommitdiffstats
path: root/Source/cmCacheManager.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-08-08 15:54:46 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-08-08 15:54:46 (GMT)
commitdb1303aa7d00f49a0fdf66f120eb3e6cb0e445fe (patch)
treead569e72f02849e50e625faa1350bb05a3af08f9 /Source/cmCacheManager.h
parent61ec323b6a1c4e5a44331014447e3d1d31dc1b6b (diff)
downloadCMake-db1303aa7d00f49a0fdf66f120eb3e6cb0e445fe.zip
CMake-db1303aa7d00f49a0fdf66f120eb3e6cb0e445fe.tar.gz
CMake-db1303aa7d00f49a0fdf66f120eb3e6cb0e445fe.tar.bz2
ENH: big change, only allow commands access to the cache via the cmMakefile class and GetDefinition, also the cmMakefile is the only way for commands to add to the cache. Also, some changes to configure.in that check for for scoping
Diffstat (limited to 'Source/cmCacheManager.h')
-rw-r--r--Source/cmCacheManager.h52
1 files changed, 26 insertions, 26 deletions
diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h
index a3a013a..bb7a971 100644
--- a/Source/cmCacheManager.h
+++ b/Source/cmCacheManager.h
@@ -70,55 +70,55 @@ public:
* can be different than just a path input
*/
static CacheEntryType StringToType(const char*);
- //! Singleton pattern get instance of the cmCacheManager.
+ ///! Singleton pattern get instance of the cmCacheManager.
static cmCacheManager* GetInstance();
-
- //! Load a cache for given makefile. Loads from ouput home.
+ ///! Load a cache for given makefile. Loads from ouput home.
bool LoadCache(cmMakefile*);
- //! Load a cache for given makefile. Loads from path/CMakeCache.txt.
+ ///! Load a cache for given makefile. Loads from path/CMakeCache.txt.
bool LoadCache(const char* path);
bool LoadCache(const char* path, bool internal);
- //! Put cache definitions into makefile
+ ///! Put cache definitions into makefile
void DefineCache(cmMakefile*);
- //! Save cache for given makefile. Saves to ouput home CMakeCache.txt.
+ ///! Save cache for given makefile. Saves to ouput home CMakeCache.txt.
bool SaveCache(cmMakefile*) ;
- //! Save cache for given makefile. Saves to ouput path/CMakeCache.txt
+ ///! Save cache for given makefile. Saves to ouput path/CMakeCache.txt
bool SaveCache(const char* path) ;
+
+ ///! Print the cache to a stream
+ void PrintCache(std::ostream&) const;
- //! Add an entry into the cache
- void AddCacheEntry(const char* key, const char* value,
- const char* helpString, CacheEntryType type);
+ ///! Get the cache map ivar.
+ const CacheEntryMap &GetCacheMap() const { return m_Cache; }
- //! Add a BOOL entry into the cache
- void AddCacheEntry(const char* key, bool, const char* helpString);
+ ///! Get a cache entry object for a key
+ CacheEntry *GetCacheEntry(const char *key);
- //! Remove an entry from the cache
+ ///! Remove an entry from the cache
void RemoveCacheEntry(const char* key);
- //! Print the cache to a stream
- CacheEntry *GetCacheEntry(const char *key);
+protected:
+ ///! Add an entry into the cache
+ void AddCacheEntry(const char* key, const char* value,
+ const char* helpString, CacheEntryType type);
+
+ ///! Add a BOOL entry into the cache
+ void AddCacheEntry(const char* key, bool, const char* helpString);
- //! Get a value from the cache given a key
+ ///! Get a value from the cache given a key
const char* GetCacheValue(const char* key) const;
- //! Test a boolean cache entry to see if it is true or false, returns false
- // if no entry.
- bool IsOn(const char*) const;
-
- //! Print the cache to a stream
- void PrintCache(std::ostream&) const;
-
- //! Get the cache map ivar.
- const CacheEntryMap &GetCacheMap() const { return m_Cache; }
-
private:
static void OutputHelpString(std::ofstream& fout,
const std::string& helpString);
static cmCacheManager* s_Instance;
CacheEntryMap m_Cache;
+ // Only cmake and cmMakefile should be able to add cache values
+ // the commands should never use the cmCacheManager directly
+ friend class cmMakefile; // allow access to add cache values
+ friend class cmake; // allow access to add cache values
};
#endif