12#ifndef ZYPP_PARSER_XML_PARSEDEF_H
13#define ZYPP_PARSER_XML_PARSEDEF_H
17#include <zypp/base/PtrTypes.h>
28 struct ParseDefConsume;
143 ParseDef(
const std::string & name_r,
Mode mode_r,
const shared_ptr<ParseDefConsume> & target_r );
148 const std::string &
name()
const;
170 ParseDef &
addNode(
const std::string & name_r,
Mode mode_r,
const shared_ptr<ParseDefConsume> & target_r )
177 {
return addNode( subnode_r ); }
180 {
return addNode( name_r, mode_r ); }
183 {
return addNode( name_r, mode_r, target_r ); }
192 void setConsumer(
const shared_ptr<ParseDefConsume> & target_r );
224 ParseDef(
const shared_ptr<Impl> & pimpl_r );
RepoManager implementation.
Define a xml node structure to parse.
ParseDef & addNode(const std::string &name_r, Mode mode_r, const shared_ptr< ParseDefConsume > &target_r)
void setConsumer(const shared_ptr< ParseDefConsume > &target_r)
Set data consumer.
const std::string & name() const
void cancelConsumer()
Unset data consumer.
RW_pointer< Impl > _pimpl
Pointer to implementation (shared!)
ParseDef & addNode(ParseDef &subnode_r)
Add subnode definition.
shared_ptr< ParseDefConsume > getConsumer() const
Get data consumer.
friend std::ostream & operator<<(std::ostream &str, const ParseDef &obj)
ParseDef & addNode(const std::string &name_r, Mode mode_r)
ParseDef operator[](const std::string &name_r)
Get subnode by name.
void take(Reader &reader_r)
Parse the node.
ParseDef & operator()(ParseDef &subnode_r)
Add subnode definition.
ParseDef & operator()(const std::string &name_r, Mode mode_r, const shared_ptr< ParseDefConsume > &target_r)
ParseDef & operator()(const std::string &name_r, Mode mode_r)
xmlTextReader based interface to iterate xml streams.
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const ReadState &obj)
Easy-to use interface to the ZYPP dependency resolver.
Wrapper for const correct access via Smart pointer types.
Base class for ParseDef consumer.