+/* TODO
+ bool cpPlugins::Interface::Workspace::
+ LoadPluginsPath( const std::string& path, bool r )
+ {
+ // Load all plugins from given folder
+ std::list< std::string > files =
+ this->m_Interface.LoadFromFolder( path, r );
+
+ // Update a simple track
+ bool ret = false;
+ if( files.size( ) > 0 )
+ {
+ for( auto fIt = files.begin( ); fIt != files.end( ); ++fIt )
+ {
+ this->m_LoadedPlugins.insert( *fIt );
+ this->m_LastLoadedPlugin = *fIt;
+
+ } // rof
+ this->_UpdateLoadedPluginsInformation( );
+ ret = true;
+
+ } // fi
+ return( ret );
+ }
+
+ // -------------------------------------------------------------------------
+ bool cpPlugins::Interface::Workspace::
+ LoadPlugins( const std::string& fname )
+ {
+ // Is it already loaded?
+ bool ret = true;
+ if( this->m_LoadedPlugins.find( fname ) == this->m_LoadedPlugins.end( ) )
+ {
+ // Was it succesfully loaded?
+ ret = this->m_Interface.Load( fname );
+
+ // Update a simple track
+ if( ret )
+ {
+ this->m_LoadedPlugins.insert( fname );
+ this->m_LastLoadedPlugin = fname;
+ this->_UpdateLoadedPluginsInformation( );
+
+ } // fi
+
+ } // fi
+ return( ret );
+ }
+
+ // -------------------------------------------------------------------------
+ const cpPlugins::Interface::Workspace::
+ TStringContainer& cpPlugins::Interface::Workspace::
+ GetLoadedPlugins( ) const
+ {
+ return( this->m_LoadedPlugins );
+ }
+
+ // -------------------------------------------------------------------------
+ void cpPlugins::Interface::Workspace::
+ GetLoadedPluginCategories( TStringContainer& categories ) const
+ {
+ categories.clear( );
+ auto fIt = this->m_LoadedFilters.begin( );
+ for( ; fIt != this->m_LoadedFilters.end( ); ++fIt )
+ categories.insert( fIt->first );
+ }
+
+ // -------------------------------------------------------------------------
+ void cpPlugins::Interface::Workspace::
+ GetLoadedPluginFilters( TStringContainer& filters ) const
+ {
+ filters.clear( );
+ auto pIt = this->m_LoadedFilters.begin( );
+ for( ; pIt != this->m_LoadedFilters.end( ); ++pIt )
+ for( auto fIt = pIt->second.begin( ); fIt != pIt->second.end( ); ++fIt )
+ filters.insert( *fIt );
+ }
+
+ // -------------------------------------------------------------------------
+ const cpPlugins::Interface::Workspace::
+ TStringContainer& cpPlugins::Interface::Workspace::
+ GetLoadedPluginFilters( const std::string& category ) const
+ {
+ static const TStringContainer EMPTY;
+ auto pIt = this->m_LoadedFilters.find( category );
+ if( pIt != this->m_LoadedFilters.end( ) )
+ return( pIt->second );
+ else
+ return( EMPTY );
+ }
+*/