diff options
Diffstat (limited to 'server/src/main.cpp')
-rw-r--r-- | server/src/main.cpp | 27 |
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; } |