#ifndef CACHE_H #define CACHE_H #include #include #include #include #include "variable.h" #include "types.h" class Cache : public Bu::Singleton { friend class Bu::Singleton; private: Cache(); virtual ~Cache(); public: void bind( const Bu::FString &sCacheFile ); void load(); void save(); StrList getRequires( const Bu::FString &sOutput ); void setRequires( const Bu::FString &sOutput, StrList lReqs ); private: bool bCacheChanged; Bu::FString sCacheFile; bool bIsLoaded; typedef Bu::Hash ReqHash; ReqHash hRequires; typedef Bu::Hash VarHash; VarHash hVariables; }; #endif