]> git.stg.codes - stg.git/blobdiff - projects/stargazer/store_loader.h
Various fixes of issues reported by static analyzers.
[stg.git] / projects / stargazer / store_loader.h
index a5066926df0831a0800be45cd3b9f1f2de1bcdb1..b38a46ee94fcbf85d2fd79a7f115e2bc474040ec 100644 (file)
 #ifndef __STORE_LOADER_H__
 #define __STORE_LOADER_H__
 
+#include "stg/module_settings.h"
+#include "stg/noncopyable.h"
+
 #include <string>
 
-#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;