Example #1
0
	DynLib* DynLibMgr::load(const char* libName) {
		DynLibMap::iterator itr = mDynLibMap.find(libName);
		if(itr != mDynLibMap.end()) {
			return itr->second;
		}
		DynLib* lib = NEW DynLib(libName);
		lib->load();
		mDynLibMap[libName] = lib;
		return lib;
	}
Example #2
0
 //-----------------------------------------------------------------------
 DynLib* DynLibManager::load( const String& filename)
 {
     DynLibList::iterator i = mLibList.find(filename);
     if (i != mLibList.end())
     {
         return i->second;
     }
     else
     {
         DynLib* pLib = OGRE_NEW DynLib(filename);
         pLib->load();        
         mLibList[filename] = pLib;
         return pLib;
     }
 }
Example #3
0
DynLib *
DynLibManager::load(std::string const & path)
{
    DynLibMap::iterator loaded = libs.find(path);
    if (loaded != libs.end())
    {
        loaded->second->addRef();
        return loaded->second;
    }
    else
    {
        DynLib * lib = new DynLib(path);
        lib->load();
        libs[path] = lib;
        return lib;
    }
}
Example #4
0
//-------------------------------------------------------------------------------//
void Root::loadPlugin(const String& pluginName)
{
    DynLib* lib = TITAN_NEW DynLib(pluginName);
    lib->load();

    if (std::find(mDynLibVector.begin(), mDynLibVector.end(), lib) == mDynLibVector.end())
    {
        mDynLibVector.push_back(lib);

        // Call startup function
        DLL_START_PLUGIN pFunc = (DLL_START_PLUGIN)lib->getSymbol("dllStartPlugin");

        if (!pFunc)
            TITAN_EXCEPT_FILELOST("Cannot find symbol dllStartPlugin in library " + pluginName);

        // This must call installPlugin
        pFunc();
    }
}
Example #5
0
	DynLib* DynLibManager::load(const std::string& fileName)
	{
		StringDynLibMap::iterator it = mLibsMap.find(fileName);

		if (it != mLibsMap.end())
		{
			return it->second;
		}

		DynLib* pLib = new DynLib(fileName);
		if (!pLib->load())
		{
			delete pLib;
			return 0;
		}

		mLibsMap[fileName] = pLib;
		return pLib;
	}