#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;