MCPcopy Create free account
hub / github.com/RenderKit/ospray / loadLocalModule

Function loadLocalModule

ospray/common/OSPCommon.cpp:749–782  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

747}
748
749OSPError loadLocalModule(const std::string &name)
750{
751 std::string libName = "ospray_module_" + name;
752 try {
753 loadLibrary(reinterpret_cast<const void *>(&loadLocalModule),
754 libName,
755 {OSPRAY_VERSION_MAJOR, OSPRAY_VERSION_MINOR, OSPRAY_VERSION_PATCH});
756 } catch (const std::exception &e) {
757 handleError(OSP_INVALID_OPERATION, e.what());
758 return OSP_INVALID_OPERATION;
759 } catch (...) {
760 return OSP_INVALID_OPERATION;
761 }
762
763 std::string initSymName = "ospray_module_init_" + name;
764 void *initSym = getSymbol(initSymName);
765 if (!initSym) {
766 handleError(OSP_INVALID_OPERATION,
767 "Could not find module initializer " + initSymName);
768 unloadLibrary(libName);
769 return OSP_INVALID_OPERATION;
770 }
771
772 auto initMethod = (OSPError(*)(int16_t, int16_t, int16_t))initSym;
773 auto err = initMethod(
774 OSPRAY_VERSION_MAJOR, OSPRAY_VERSION_MINOR, OSPRAY_VERSION_PATCH);
775
776 if (err != OSP_NO_ERROR) {
777 handleError(err, "Initialization of module " + name + " failed");
778 unloadLibrary(libName);
779 }
780
781 return err;
782}
783
784StatusMsgStream postStatusMsg(uint32_t postAtLogLevel)
785{

Callers 5

loadModuleMethod · 0.85
loadModuleMethod · 0.85
ospInitFunction · 0.85
ospLoadModuleFunction · 0.85

Calls 1

handleErrorFunction · 0.85

Tested by

no test coverage detected