+// -------------------------------------------------------------------------
+bool cpPlugins::Interface::Interface::
+LoadDefaultConfiguration( const std::string& path )
+{
+ std::ifstream file( PLUGIN_CONFIG_FILE );
+ if( file )
+ {
+ char buffer[ 1000 ];
+ while( file.getline( buffer, 1000 ) )
+ {
+ // std::string line( buffer );
+ std::istringstream line( buffer );
+ std::string name, folder;
+ std::getline( line, name, '@' );
+ std::getline( line, folder, '@' );
+ std::stringstream path;
+ path << folder << "/" << PLUGIN_PREFIX << name << PLUGIN_EXT;
+ this->Load( path.str( ) );
+
+ } // elihw
+
+ file.close( );
+ return( true );
+ }
+ else
+ return( false );
+}
+
+// -------------------------------------------------------------------------
+bool cpPlugins::Interface::Interface::
+SaveDefaultConfiguration( const std::string& path )
+{
+ std::ofstream file( PLUGIN_CONFIG_FILE );
+ if( file )
+ {
+ auto pIt = this->m_LoadedPlugins.begin( );
+ for( ; pIt != this->m_LoadedPlugins.end( ); ++pIt )
+ {
+ auto fIt = pIt->second.begin( );
+ for( ; fIt != pIt->second.end( ); ++fIt )
+ file << *fIt << "@" << pIt->first << std::endl;
+
+ } // rof
+ file.close( );
+ return( true );
+ }
+ else
+ return( false );
+}
+