diff --git a/engines/advancedDetector.h b/engines/advancedDetector.h index 31af9cd690f..cb008b1b352 100644 --- a/engines/advancedDetector.h +++ b/engines/advancedDetector.h @@ -500,5 +500,51 @@ public: */ bool getFilePropertiesExtern(uint md5Bytes, const FileMap &allFiles, const ADGameDescription &game, const Common::String fname, FileProperties &fileProps) const; }; + +/** + * Singleton Cache Storage for Computed MD5s + */ +class MD5CacheManager : public Common::Singleton { +public: + void setMD5(Common::String fname, Common::String md5) { + md5HashMap.setVal(fname, md5); + } + + Common::String getMD5(Common::String fname) { + return md5HashMap.getVal(fname); + } + + void setSize(Common::String fname, int32 size) { + sizeHashMap.setVal(fname, size); + } + + int32 getSize(Common::String fname) { + return sizeHashMap.getVal(fname); + } + + bool contains(Common::String fname) { + return (md5HashMap.contains(fname) && sizeHashMap.contains(fname)); + } + + MD5CacheManager() { + clear(); + } + + void clear() { + md5HashMap.clear(true); + sizeHashMap.clear(true); + } + +private: + friend class Common::Singleton; + + typedef Common::HashMap FileHashMap; + typedef Common::HashMap SizeHashMap; + FileHashMap md5HashMap; + SizeHashMap sizeHashMap; +}; + +/** Convenience shortcut for accessing the MD5CacheManager. */ +#define MD5Man MD5CacheManager::instance() /** @} */ #endif diff --git a/engines/metaengine.h b/engines/metaengine.h index eeff7cf7bc4..b4075be9763 100644 --- a/engines/metaengine.h +++ b/engines/metaengine.h @@ -567,51 +567,5 @@ private: /** Convenience shortcut for accessing the engine manager. */ #define EngineMan EngineManager::instance() - -/** - * Singleton Cache Storage for Computed MD5s - */ -class MD5CacheManager : public Common::Singleton { -public: - void setMD5(Common::String fname, Common::String md5) { - md5HashMap.setVal(fname, md5); - } - - Common::String getMD5(Common::String fname) { - return md5HashMap.getVal(fname); - } - - void setSize(Common::String fname, int32 size) { - sizeHashMap.setVal(fname, size); - } - - int32 getSize(Common::String fname) { - return sizeHashMap.getVal(fname); - } - - bool contains(Common::String fname) { - return (md5HashMap.contains(fname) && sizeHashMap.contains(fname)); - } - - MD5CacheManager() { - clear(); - } - - void clear() { - md5HashMap.clear(true); - sizeHashMap.clear(true); - } - -private: - friend class Common::Singleton; - - typedef Common::HashMap FileHashMap; - typedef Common::HashMap SizeHashMap; - FileHashMap md5HashMap; - SizeHashMap sizeHashMap; -}; - -/** Convenience shortcut for accessing the MD5CacheManager. */ -#define MD5Man MD5CacheManager::instance() /** @} */ #endif diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 54c733c5203..1d0011cbe0e 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -51,6 +51,7 @@ #include "gui/widgets/tab.h" #include "gui/widgets/popup.h" #include "gui/ThemeEval.h" +#include "engines/advancedDetector.h" #include "graphics/cursorman.h" #if defined(USE_CLOUD) && defined(USE_LIBCURL)