libzypp 17.31.23
zypp::parser::IniDict Class Reference

Parses a INI file and offers its structure as a dictionary. More...

#include <parser/inidict.h>

Inheritance diagram for zypp::parser::IniDict:

Public Types

typedef std::map< std::string, std::string > EntrySet
 
typedef std::map< std::string, EntrySetSectionSet
 
typedef MapKVIteratorTraits< SectionSet >::Key_const_iterator section_const_iterator
 
typedef EntrySet::const_iterator entry_const_iterator
 

Public Member Functions

Section Iterators

Iterate trough ini file sections

for ( IniDict::section_const_iterator it = dict.sectionsBegin();
it != dict.sectionsEnd();
++it )
{
MIL << (*it) << endl;
}
MapKVIteratorTraits< SectionSet >::Key_const_iterator section_const_iterator
Definition: inidict.h:47
#define MIL
Definition: Logger.h:96
section_const_iterator sectionsBegin () const
 
section_const_iterator sectionsEnd () const
 
Iterable< section_const_iteratorsections () const
 
- Public Member Functions inherited from zypp::parser::IniParser
 IniParser ()
 Default ctor.
 
virtual ~IniParser ()
 Dtor.
 
void parse (const InputStream &imput_r, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
 Parse the stream.
 
virtual void beginParse ()
 Called when start parsing.
 
virtual void consume (const std::string &section)
 Called when a section is found.
 
virtual void consume (const std::string &section, const std::string &key, const std::string &value)
 Called when a key value is found.
 
virtual void endParse ()
 Called when the parse is done.
 
virtual void garbageLine (const std::string &section, const std::string &line)
 Called whenever a garbage line is found.
 
const std::string & inputname () const
 Name of the current InputStream.
 

Friends

std::ostream & operator<< (std::ostream &str, const IniDict &obj)
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const IniDict &obj)
 Stream output.
 

Entries Iterators

Iterate trough ini file entries in a section

for ( IniDict::entry_const_iterator it = dict.entriesBegin("updates");
it != dict.entriesEnd("updates");
++it )
{
MIL << (*it).first << endl;
}
EntrySet::const_iterator entry_const_iterator
Definition: inidict.h:48
SectionSet _dict
 
EntrySet _empty_map
 empty map used to simulate iteration in non-existent sections
 
entry_const_iterator entriesBegin (const std::string &section) const
 
entry_const_iterator entriesEnd (const std::string &section) const
 
Iterable< entry_const_iteratorentries (const std::string &section) const
 
 IniDict (const InputStream &is, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
 Creates a dictionary from a InputStream containing a ini structured file.
 
 IniDict ()
 Creates a mepty dictionary.
 
 ~IniDict ()
 Dtor.
 
void read (const InputStream &is, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
 Fill a dictionary from a InputStream containing a ini structured file.
 
void insertEntry (const std::string &section, const std::string &key, const std::string &value)
 add an entry
 
void deleteSection (const std::string &section)
 add an entry
 
bool hasSection (const std::string &section) const
 True if there is a section with that name.
 
bool hasEntry (const std::string &section, const std::string &entry) const
 True if an entry exists in the section.
 
virtual void consume (const std::string &section)
 Called when a section is found.
 
virtual void consume (const std::string &section, const std::string &key, const std::string &value)
 Called when a key value is found.
 

Detailed Description

Parses a INI file and offers its structure as a dictionary.

Definition at line 41 of file inidict.h.

Member Typedef Documentation

◆ EntrySet

typedef std::map<std::string, std::string> zypp::parser::IniDict::EntrySet

Definition at line 45 of file inidict.h.

◆ SectionSet

typedef std::map<std::string, EntrySet> zypp::parser::IniDict::SectionSet

Definition at line 46 of file inidict.h.

◆ section_const_iterator

Definition at line 47 of file inidict.h.

◆ entry_const_iterator

typedef EntrySet::const_iterator zypp::parser::IniDict::entry_const_iterator

Definition at line 48 of file inidict.h.

Constructor & Destructor Documentation

◆ IniDict() [1/2]

zypp::parser::IniDict::IniDict ( const InputStream is,
const ProgressData::ReceiverFnc progress = ProgressData::ReceiverFnc() 
)

Creates a dictionary from a InputStream containing a ini structured file.

Definition at line 40 of file inidict.cc.

◆ IniDict() [2/2]

zypp::parser::IniDict::IniDict ( )

Creates a mepty dictionary.

Definition at line 46 of file inidict.cc.

◆ ~IniDict()

zypp::parser::IniDict::~IniDict ( )

Dtor.

Definition at line 61 of file inidict.cc.

Member Function Documentation

◆ sectionsBegin()

IniDict::section_const_iterator zypp::parser::IniDict::sectionsBegin ( ) const

Definition at line 108 of file inidict.cc.

◆ sectionsEnd()

IniDict::section_const_iterator zypp::parser::IniDict::sectionsEnd ( ) const

Definition at line 113 of file inidict.cc.

◆ sections()

Iterable< IniDict::section_const_iterator > zypp::parser::IniDict::sections ( ) const

Definition at line 118 of file inidict.cc.

◆ entriesBegin()

IniDict::entry_const_iterator zypp::parser::IniDict::entriesBegin ( const std::string &  section) const

Definition at line 75 of file inidict.cc.

◆ entriesEnd()

IniDict::entry_const_iterator zypp::parser::IniDict::entriesEnd ( const std::string &  section) const

Definition at line 86 of file inidict.cc.

◆ entries()

Iterable< IniDict::entry_const_iterator > zypp::parser::IniDict::entries ( const std::string &  section) const

Definition at line 97 of file inidict.cc.

◆ read()

void zypp::parser::IniDict::read ( const InputStream is,
const ProgressData::ReceiverFnc progress = ProgressData::ReceiverFnc() 
)

Fill a dictionary from a InputStream containing a ini structured file.

Definition at line 50 of file inidict.cc.

◆ insertEntry()

void zypp::parser::IniDict::insertEntry ( const std::string &  section,
const std::string &  key,
const std::string &  value 
)

add an entry

Parameters
section
key
value

Definition at line 123 of file inidict.cc.

◆ deleteSection()

void zypp::parser::IniDict::deleteSection ( const std::string &  section)

add an entry

Parameters
section
key
value

Definition at line 131 of file inidict.cc.

◆ hasSection()

bool zypp::parser::IniDict::hasSection ( const std::string &  section) const

True if there is a section with that name.

Parameters
sectionSection Name

Definition at line 136 of file inidict.cc.

◆ hasEntry()

bool zypp::parser::IniDict::hasEntry ( const std::string &  section,
const std::string &  entry 
) const

True if an entry exists in the section.

Parameters
sectionSection name
entryentry name
Note
If the given section does not exist, this will of course return false.

Definition at line 144 of file inidict.cc.

◆ consume() [1/2]

void zypp::parser::IniDict::consume ( const std::string &  section)
virtual

Called when a section is found.

Reimplemented from zypp::parser::IniParser.

Definition at line 64 of file inidict.cc.

◆ consume() [2/2]

void zypp::parser::IniDict::consume ( const std::string &  section,
const std::string &  key,
const std::string &  value 
)
virtual

Called when a key value is found.

Reimplemented from zypp::parser::IniParser.

Definition at line 69 of file inidict.cc.

Friends And Related Function Documentation

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream &  str,
const IniDict obj 
)
friend

Definition at line 163 of file inidict.cc.

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream &  str,
const IniDict obj 
)
related

Stream output.

Definition at line 163 of file inidict.cc.

Member Data Documentation

◆ _dict

SectionSet zypp::parser::IniDict::_dict
private

Definition at line 153 of file inidict.h.

◆ _empty_map

EntrySet zypp::parser::IniDict::_empty_map
private

empty map used to simulate iteration in non-existent sections

Definition at line 159 of file inidict.h.


The documentation for this class was generated from the following files: