git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed version info.
[stg.git]
/
projects
/
stargazer
/
store_loader.cpp
diff --git
a/projects/stargazer/store_loader.cpp
b/projects/stargazer/store_loader.cpp
index 56bd01ac9bd2cdccdb0eafe3410abc559521084c..d27c09023603f8745a02df66554d84cff694c862 100644
(file)
--- a/
projects/stargazer/store_loader.cpp
+++ b/
projects/stargazer/store_loader.cpp
@@
-30,10
+30,12
@@
#include <dlfcn.h>
#include <dlfcn.h>
+#include "stg/common.h"
+#include "stg/store.h"
#include "store_loader.h"
#include "store_loader.h"
-#include "
common
.h"
+#include "
settings_impl
.h"
-STORE_LOADER::STORE_LOADER(const SETTINGS & settings)
+STORE_LOADER::STORE_LOADER(const SETTINGS
_IMPL
& settings)
: isLoaded(false),
handle(NULL),
plugin(NULL),
: isLoaded(false),
handle(NULL),
plugin(NULL),
@@
-50,16
+52,17
@@
Unload();
bool STORE_LOADER::Load()
{
bool STORE_LOADER::Load()
{
-printfd(__FILE__, "STORE_LOADER::Load()\n");
if (isLoaded)
{
if (isLoaded)
{
+ errorStr = "Store plugin '" + pluginFileName + "' was already loaded!";
+ printfd(__FILE__, "STORE_LOADER::Load() - %s\n", errorStr.c_str());
return false;
}
if (pluginFileName.empty())
{
errorStr = "Empty store plugin filename";
return false;
}
if (pluginFileName.empty())
{
errorStr = "Empty store plugin filename";
- printfd(__FILE__, "STORE_LOADER::Load - %s\n", errorStr.c_str());
+ printfd(__FILE__, "STORE_LOADER::Load
()
- %s\n", errorStr.c_str());
return true;
}
return true;
}
@@
-69,18
+72,18
@@
if (!handle)
{
errorStr = "Error loading plugin '"
+ pluginFileName + "': '" + dlerror() + "'";
{
errorStr = "Error loading plugin '"
+ pluginFileName + "': '" + dlerror() + "'";
- printfd(__FILE__, "STORE_LOADER::Load - %s\n", errorStr.c_str());
+ printfd(__FILE__, "STORE_LOADER::Load
()
- %s\n", errorStr.c_str());
return true;
}
isLoaded = true;
return true;
}
isLoaded = true;
-
BASE_
STORE * (*GetStore)();
-GetStore =
(BASE_STORE * (*)())dlsym(handle, "GetStore"
);
+STORE * (*GetStore)();
+GetStore =
reinterpret_cast<STORE * (*)()>(dlsym(handle, "GetStore")
);
if (!GetStore)
{
if (!GetStore)
{
- errorStr =
"GetStore not found."
;
- printfd(__FILE__, "STORE_LOADER::Load - %s\n", errorStr.c_str());
+ errorStr =
std::string("GetStore() not found! ") + dlerror()
;
+ printfd(__FILE__, "STORE_LOADER::Load
()
- %s\n", errorStr.c_str());
return true;
}
return true;
}
@@
-88,8
+91,8
@@
plugin = GetStore();
if (!plugin)
{
if (!plugin)
{
- errorStr = "
NULL store plugin
";
- printfd(__FILE__, "STORE_LOADER::Load - %s\n");
+ errorStr = "
Plugin was not created!
";
+ printfd(__FILE__, "STORE_LOADER::Load
()
- %s\n");
return true;
}
return true;
}
@@
-97,7
+100,7
@@
plugin->SetSettings(storeSettings);
if (plugin->ParseSettings())
{
errorStr = plugin->GetStrError();
if (plugin->ParseSettings())
{
errorStr = plugin->GetStrError();
- printfd(__FILE__, "Failed to parse settings. Plugin reports: '%s'\n", errorStr.c_str());
+ printfd(__FILE__, "
STORE_LOADER::Load() -
Failed to parse settings. Plugin reports: '%s'\n", errorStr.c_str());
return true;
}
return true;
}
@@
-109,15
+112,15
@@
bool STORE_LOADER::Unload()
printfd(__FILE__, "STORE_LOADER::Unload()\n");
if (!isLoaded)
{
printfd(__FILE__, "STORE_LOADER::Unload()\n");
if (!isLoaded)
{
- return
fals
e;
+ return
tru
e;
}
if (dlclose(handle))
{
}
if (dlclose(handle))
{
- errorStr = "Failed to unload plugin: '";
+ errorStr = "Failed to unload plugin '";
+ errorStr += pluginFileName + "': ";
errorStr += dlerror();
errorStr += dlerror();
- errorStr += "'";
- printfd(__FILE__, "STORE_LOADER::Unload - %s\n", errorStr.c_str());
+ printfd(__FILE__, "STORE_LOADER::Unload() - %s\n", errorStr.c_str());
return true;
}
return true;
}