[zypp-commit] r5650 - in /trunk/libzypp: zypp/CMakeLists.txt zypp/parser/IniDict.cc zypp/parser/IniDict.h zypp/parser/IniParser.cc zypp/parser/IniParser.h zypp/parser/inifile/ zypp2/RepositoryManager.cc
Author: dmacvicar Date: Thu May 31 11:14:11 2007 New Revision: 5650 URL: http://svn.opensuse.org/viewcvs/zypp?rev=5650&view=rev Log: - remove old iniparser - add cancel support to the new one - start porting repo manager with the ideas on the wiki Removed: trunk/libzypp/zypp/parser/inifile/ Modified: trunk/libzypp/zypp/CMakeLists.txt trunk/libzypp/zypp/parser/IniDict.cc trunk/libzypp/zypp/parser/IniDict.h trunk/libzypp/zypp/parser/IniParser.cc trunk/libzypp/zypp/parser/IniParser.h trunk/libzypp/zypp2/RepositoryManager.cc Modified: trunk/libzypp/zypp/CMakeLists.txt URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/CMakeLists.txt?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp/CMakeLists.txt (original) +++ trunk/libzypp/zypp/CMakeLists.txt Thu May 31 11:14:11 2007 @@ -434,19 +434,6 @@ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/zypp/parser ) -SET( zypp_parser_inifile_SRCS - parser/inifile/iniparser.c -) - -SET( zypp_parser_inifile_HEADERS - parser/inifile/iniparser.h -) - -INSTALL( FILES - ${zypp_parser_inifile_HEADERS} - DESTINATION ${CMAKE_INSTALL_PREFIX}/include/zypp/parser/inifile -) - SET( zypp_parser_susetags_SRCS parser/susetags/RepoIndex.cc parser/susetags/ContentFileReader.cc @@ -1018,7 +1005,6 @@ ${zypp_parser_xmlstore_SRCS} ${zypp_parser_xml_SRCS} ${zypp_parser_yum_SRCS} -${zypp_parser_inifile_SRCS} ${zypp_parser_SRCS} ${zypp_source_plaindir_SRCS} ${zypp_source_yum_SRCS} @@ -1071,7 +1057,6 @@ ${zypp_target_modalias_HEADERS} ${zypp_target_HEADERS} ${zypp_parser_yum_HEADERS} -${zypp_parser_inifile_HEADERS} ${zypp_detail_HEADERS} ${zypp_pool_HEADERS} ) Modified: trunk/libzypp/zypp/parser/IniDict.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/IniDict.cc?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/IniDict.cc (original) +++ trunk/libzypp/zypp/parser/IniDict.cc Thu May 31 11:14:11 2007 @@ -33,9 +33,9 @@ // METHOD NAME : IniDict::IniDict // METHOD TYPE : Ctor // - IniDict::IniDict( const InputStream &is ) + IniDict::IniDict( const InputStream &is, const ProgressData::ReceiverFnc & progress ) { - parse(is); + parse(is, progress ); } /////////////////////////////////////////////////////////////////// Modified: trunk/libzypp/zypp/parser/IniDict.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/IniDict.h?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/IniDict.h (original) +++ trunk/libzypp/zypp/parser/IniDict.h Thu May 31 11:14:11 2007 @@ -85,7 +85,7 @@ * Creates a dictionary from a InputStream * containing a ini structured file */ - IniDict( const InputStream &is ); + IniDict( const InputStream &is, const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() ); /** Dtor */ ~IniDict(); Modified: trunk/libzypp/zypp/parser/IniParser.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/IniParser.cc?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/IniParser.cc (original) +++ trunk/libzypp/zypp/parser/IniParser.cc Thu May 31 11:14:11 2007 @@ -17,6 +17,7 @@ #include "zypp/base/Logger.h" #include "zypp/base/String.h" #include "zypp/base/IOStream.h" +#include "zypp/base/UserRequestException.h" #include "zypp/parser/ParseException.h" #include "zypp/parser/IniParser.h" @@ -65,7 +66,7 @@ // METHOD NAME : IniParser::parse // METHOD TYPE : void // -void IniParser::parse( const InputStream & input_r ) +void IniParser::parse( const InputStream & input_r, const ProgressData::ReceiverFnc & progress ) { boost::regex rxSection("^\\[(.+)\\]$"); boost::regex rxKeyValue("^(.+)[[:space:]]*=[[:space:]]*(.+)$"); @@ -75,6 +76,7 @@ beginParse(); ProgressData ticks( makeProgressData( input_r ) ); + ticks.sendTo(progress); ticks.toMin(); iostr::EachLine line( input_r ); @@ -107,7 +109,10 @@ } } } - ticks.set( input_r.stream().tellg() ); + + // set progress and allow cancel + if ( ! ticks.set( input_r.stream().tellg() ) ) + ZYPP_THROW(AbortRequestException()); } ticks.toMax(); Modified: trunk/libzypp/zypp/parser/IniParser.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/IniParser.h?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp/parser/IniParser.h (original) +++ trunk/libzypp/zypp/parser/IniParser.h Thu May 31 11:14:11 2007 @@ -47,7 +47,7 @@ * for each tag. \ref consume might throw other exceptions * as well. */ - void parse( const InputStream & imput_r ); + void parse( const InputStream & imput_r, const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() ); public: /** Called when start parsing. */ Modified: trunk/libzypp/zypp2/RepositoryManager.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp2/RepositoryManager.cc?rev=5650&r1=5649&r2=5650&view=diff ============================================================================== --- trunk/libzypp/zypp2/RepositoryManager.cc (original) +++ trunk/libzypp/zypp2/RepositoryManager.cc Thu May 31 11:14:11 2007 @@ -6,7 +6,7 @@ #include "zypp/base/Exception.h" #include "zypp/base/Logger.h" #include "zypp/PathInfo.h" -#include "zypp/parser/inifile/iniparser.h" +#include "zypp/parser/IniDict.h" #include "zypp2/RepositoryManager.h" @@ -24,19 +24,19 @@ static std::list<RepositoryInfo> repositories_in_file( const Pathname &file ) { - dictionary *d = iniparser_new(file.c_str()); - - if ( d == NULL ) - ZYPP_THROW(Exception("Failed creating dictionary")); - - int n = iniparser_getnsec(d); - MIL << n << endl; - - for ( int i = 0; i < n; i++ ) - { - MIL << iniparser_getsecname(d, i) << endl; - - } +// dictionary *d = iniparser_new(file.c_str()); +// +// if ( d == NULL ) +// ZYPP_THROW(Exception("Failed creating dictionary")); +// +// int n = iniparser_getnsec(d); +// MIL << n << endl; +// +// for ( int i = 0; i < n; i++ ) +// { +// MIL << iniparser_getsecname(d, i) << endl; +// +// } return std::list<RepositoryInfo>(); } -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org
participants (1)
-
dmacvicar@svn.opensuse.org