libzypp  17.38.7
iniparser.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_CORE_PARSER_INIPARSER_H
13 #define ZYPP_CORE_PARSER_INIPARSER_H
14 
15 #include <iosfwd>
16 #include <string>
17 #include <list>
18 
21 #include <zypp-core/base/InputStream>
22 #include <zypp-core/ui/ProgressData>
23 
25 namespace zypp
26 {
27 namespace parser
29 {
30 
42 {
43 public:
45  IniParser();
46 
53  IniParser( IniParser && );
55 
57  virtual ~IniParser();
63  void parse( const InputStream & imput_r, const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() );
64 
65 public:
67  virtual void beginParse();
69  virtual void consume( const std::string &section );
71  virtual void consume( const std::string &section, const std::string &key, const std::string &value );
73  virtual void endParse();
74 
84  virtual void garbageLine( const std::string &section, const std::string &line );
85 
86 public:
88  const std::string & inputname() const
89  {
90  return _inputname;
91  }
92 
93 private:
94  std::string _inputname;
95  std::string _current_section;
96  int _line_nr;
97  //ProgressData _ticks;
98 };
99 
101 } // namespace parser
104 } // namespace zypp
106 #endif // ZYPP_CORE_PARSER_INIPARSER_H
void parse(const InputStream &imput_r, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
Parse the stream.
Definition: iniparser.cc:90
IniParser()
Default ctor.
Definition: iniparser.cc:48
const std::string & inputname() const
Name of the current InputStream.
Definition: iniparser.h:88
function< bool(const ProgressData &)> ReceiverFnc
Most simple version of progress reporting The percentage in most cases.
Definition: progressdata.h:140
Helper to create and pass std::istream.
Definition: inputstream.h:56
IniParser & operator=(IniParser &&)
std::string _inputname
Definition: iniparser.h:94
std::string _current_section
Definition: iniparser.h:95
virtual ~IniParser()
Dtor.
Definition: iniparser.cc:63
virtual void beginParse()
Called when start parsing.
Definition: iniparser.cc:66
Simple INI-file parser.
Definition: iniparser.h:41
virtual void garbageLine(const std::string &section, const std::string &line)
Called whenever a garbage line is found.
Definition: iniparser.cc:78
virtual void endParse()
Called when the parse is done.
Definition: iniparser.cc:75
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
virtual void consume(const std::string &section)
Called when a section is found.
Definition: iniparser.cc:72
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Definition: NonCopyable.h:26