summaryrefslogtreecommitdiff
path: root/server/src/main.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-03-27 02:10:12 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-03-27 02:10:12 +0300
commitf87e3320c499edccd545ff3bfc244ef5c7216bb5 (patch)
tree5917670515947311cdf81352977bbdae60bcd0f1 /server/src/main.cpp
parentc46da5d47a706cee43ff62bc6649257fba508743 (diff)
module api fixes (thx 0xd34df00d)
working module prototype
Diffstat (limited to 'server/src/main.cpp')
-rw-r--r--server/src/main.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/server/src/main.cpp b/server/src/main.cpp
index 61a2474..54bb498 100644
--- a/server/src/main.cpp
+++ b/server/src/main.cpp
@@ -18,8 +18,35 @@
*/
+#include <dlfcn.h>
+#include <api_module_metadata_storage.h>
+
+core_api module_api;
+
+void module_load_test()
+{
+ void *lib = dlopen("./modules/metadata/libflat_files.so", RTLD_LAZY);
+ if(!lib)
+ {
+ printf("%s\n", dlerror());
+ return;
+ }
+ void *fptr = dlsym(lib, "load");
+ if(!fptr)
+ {
+ printf("%s\n", dlerror());
+ dlclose(lib);
+ return;
+ }
+ void *(*f)(void);
+ f = (void* (*)())fptr;
+ module_metadata_storage *m = static_cast<module_metadata_storage*>(f());
+ m->load(&module_api);
+}
+
int main(int argc, char *argv[])
{
+ module_load_test();
return 0;
}