示例#1
0
		void PluginManager::unloadPlugin( const char* path )
		{
			HashMap<uint32, PluginInfo*>::Iterator it = plugins.find( Math::Hash::DJB32( path ) );
			if( it != plugins.end() )
			{
				PluginInfo* info = it.value();
				assert( info );
				assert( info->destroyFunc );

				onPluginUnload( path, info->plugin );

				info->destroyFunc( info->plugin );
				Neutron::unloadPlugin( info->handle );
				delete info;
			}

			plugins.remove( it );
		}