X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..afcbfd1a09e22ff4839ba5db42047c96f355506c:/projects/stargazer/store_loader.h diff --git a/projects/stargazer/store_loader.h b/projects/stargazer/store_loader.h index a5066926..b38a46ee 100644 --- a/projects/stargazer/store_loader.h +++ b/projects/stargazer/store_loader.h @@ -31,29 +31,33 @@ #ifndef __STORE_LOADER_H__ #define __STORE_LOADER_H__ +#include "stg/module_settings.h" +#include "stg/noncopyable.h" + #include -#include "base_store.h" -#include "base_settings.h" -#include "settings.h" -#include "noncopyable.h" +class STORE; +class SETTINGS_IMPL; -class STORE_LOADER : private NONCOPYABLE -{ +class STORE_LOADER : private NONCOPYABLE { public: - STORE_LOADER(const SETTINGS & settings); + explicit STORE_LOADER(const SETTINGS_IMPL & settings); ~STORE_LOADER(); bool Load(); bool Unload(); - BASE_STORE * GetStore() { return plugin; }; + STORE & GetStore() { return *plugin; } + + const std::string & GetStrError() const { return errorStr; } - const std::string & GetStrError() const { return errorStr; }; private: + STORE_LOADER(const STORE_LOADER & rvalue); + STORE_LOADER & operator=(const STORE_LOADER & rvalue); + bool isLoaded; void * handle; - BASE_STORE * plugin; + STORE * plugin; std::string errorStr; MODULE_SETTINGS storeSettings; std::string pluginFileName;