-// -------------------------------------------------------------------------
-cpPlugins::Interface::Plugins::
-TParameters* cpPlugins::Interface::Plugins::
-GetMeshReaderParameters( )
-{
- return( this->m_MeshReader->GetParameters( ) );
-}
+ } // fi
+ std::string descriptors = function( );
+ std::replace( descriptors.begin( ), descriptors.end( ), ';', ' ' );
+ std::istringstream str( descriptors );
+ TFilters filters;
+ while( str )
+ {
+ std::string value, category, name;
+ str >> value;
+ if( value == "" )
+ continue;
+ std::replace( value.begin( ), value.end( ), ':', ' ' );
+ std::istringstream value_str( value );
+ value_str >> category >> name;
+
+ // Check if the filter has been already loaded
+ bool found = false;
+ auto fIt = this->m_Filters.find( category );
+ if( fIt != this->m_Filters.end( ) )
+ found = fIt->second.find( name ) != fIt->second.end( );
+ if( found )
+ {
+ cpPlugins::OS::DLLManager::UnLoad( hnd );
+ throw std::runtime_error(
+ std::string( "Filter \"" ) +
+ category + std::string( "::" ) + name +
+ std::string( "\" already exists." )
+ );