18 #include <zypp-core/base/InputStream> 19 #include <zypp-core/parser/IniDict> 24 #undef ZYPP_BASE_LOGGER_LOGGROUP 25 #define ZYPP_BASE_LOGGER_LOGGROUP "parser" 52 struct CredentialFileReaderImpl :
public parser::IniParser
56 struct StopParsing {};
58 CredentialFileReaderImpl(
const Pathname & input_r,
const ProcessCredentials & callback_r )
74 void beginParse()
override 78 void consume(
const std::string & section_r )
override 84 _secret->setUrl( Url(section_r) );
86 catch (
const url::UrlException & )
88 ERR <<
"Ignore invalid URL '" << section_r <<
"' in file " <<
_input << endl;
93 void consume(
const std::string & section_r,
const std::string & key_r,
const std::string & value_r )
override 95 if ( !
_secret && section_r.empty() )
100 if ( key_r ==
"username" )
101 _secret->setUsername( value_r );
102 else if ( key_r ==
"password" )
103 _secret->setPassword( value_r );
105 _secret->extraValues()[key_r] = value_r;
111 void endParse()
override 119 throw( StopParsing() );
122 ERR <<
"Ignore invalid credentials for URL '" <<
_secret->url() <<
"' in file " <<
_input << endl;
142 { CredentialFileReaderImpl( crfile_r, callback_r ); }
zypp::media::AuthData AuthData
const ProcessCredentials & _callback
Wrapper class for ::stat/::lstat.
Easy-to use interface to the ZYPP dependency resolver.