28 std::string tempPluginName = pluginName;
29 #if SO3_PLATFORM == SO3_PLATFORM_LINUX
31 if (tempPluginName.substr(tempPluginName.length() - 3, 3) !=
".so")
32 tempPluginName = tempPluginName +
".so";
33 #elif SO3_PLATFORM == SO3_PLATFORM_WINDOWS
35 if (tempPluginName.substr(tempPluginName.length() - 4, 4) !=
".dll")
36 tempPluginName = tempPluginName +
".dll";
40 if (tempPluginName.substr(tempPluginName.length() - 6, 2) !=
"_d")
41 tempPluginName.insert(tempPluginName.length() - 4,
"_d");
60 Ogre::LogManager::getSingleton().logMessage(
"Loading SO3 plugin \"" +
pluginInfos.
fileName +
"\"", Ogre::LML_CRITICAL);
69 Ogre::LogManager::getSingleton().logMessage(
"Symbol \"Infos\" not found for the plugin", Ogre::LML_CRITICAL);
73 Informations fonctionInfos = (Informations)this->
GetSymbol(
"SO3_Infos");
74 infos = fonctionInfos();
82 Ogre::LogManager::getSingleton().logMessage(
"Plugin name: " +
pluginInfos.
name);
89 Ogre::LogManager::getSingleton().logMessage(
"Loading successfull.", Ogre::LML_CRITICAL);
95 OGRE_EXCEPT(Ogre::Exception::ERR_INTERNAL_ERROR,
"Cannot load plugin \"" +
pluginInfos.
fileName +
"\". System error: " + SO3_PLUGIN_ERROR(),
"SPlugin::Load");