libzypp  13.10.6
zypp::xml::parse_def_assign::Consumer Struct Reference

ParseDef consumer assigning Node text and attribues values to variables. More...

#include <ParseDefConsume.h>

Inheritance diagram for zypp::xml::parse_def_assign::Consumer:
zypp::xml::ParseDefConsume

Public Member Functions

void add (const AssignerRef &assigner_r)
 Extend Consumer. More...
 
void add (const std::string &attr_r, const AssignerRef &assigner_r)
 Extend Consumer. More...
 
void prenotify (function< void(const Node &)> pre_r)
 Set pre notification callback. More...
 
void postnotify (function< void(const Node &)> post_r)
 Set post notification callback. More...
 
virtual void start (const xml::Node &node_r)
 
virtual void text (const xml::Node &node_r)
 
virtual void done (const xml::Node &node_r)
 
- Public Member Functions inherited from zypp::xml::ParseDefConsume
virtual ~ParseDefConsume ()
 
virtual void cdata (const Node &_node)
 
virtual void startSubnode (const Node &_node)
 
virtual void doneSubnode (const Node &_node)
 

Private Member Functions

void assign (const std::vector< AssignerRef > &vec_r, const char *value_r)
 

Private Attributes

std::tr1::unordered_map
< std::string, std::vector
< AssignerRef > > 
_attr
 
std::vector< AssignerRef_text
 
function< void(const Node &)> _pre
 
function< void(const Node &)> _post
 

Detailed Description

ParseDef consumer assigning Node text and attribues values to variables.

This can be used with all types supported by Assigner. Basically all types constructible from char*, or where a specialisation exists (e.g. numeric and bool).

You may also set a void( const Node & ) notification callback which is invoked after the node was processed.

Note
Use and see xml::parseDefAssign convenience constructor.
* // parsedef for '<setup attr="13">value</setup>'
* ParseDef( "attr", MANDTAORY, xml::parseDefAssign( data.value )
* ( "attr", data.attr ) )
*

Definition at line 213 of file ParseDefConsume.h.

Member Function Documentation

void zypp::xml::parse_def_assign::Consumer::add ( const AssignerRef assigner_r)
inline

Extend Consumer.

Definition at line 216 of file ParseDefConsume.h.

void zypp::xml::parse_def_assign::Consumer::add ( const std::string &  attr_r,
const AssignerRef assigner_r 
)
inline

Extend Consumer.

Definition at line 220 of file ParseDefConsume.h.

void zypp::xml::parse_def_assign::Consumer::prenotify ( function< void(const Node &)>  pre_r)
inline

Set pre notification callback.

Definition at line 224 of file ParseDefConsume.h.

void zypp::xml::parse_def_assign::Consumer::postnotify ( function< void(const Node &)>  post_r)
inline

Set post notification callback.

Definition at line 228 of file ParseDefConsume.h.

virtual void zypp::xml::parse_def_assign::Consumer::start ( const xml::Node node_r)
inlinevirtual

Reimplemented from zypp::xml::ParseDefConsume.

Definition at line 231 of file ParseDefConsume.h.

virtual void zypp::xml::parse_def_assign::Consumer::text ( const xml::Node node_r)
inlinevirtual

Reimplemented from zypp::xml::ParseDefConsume.

Definition at line 241 of file ParseDefConsume.h.

virtual void zypp::xml::parse_def_assign::Consumer::done ( const xml::Node node_r)
inlinevirtual

Reimplemented from zypp::xml::ParseDefConsume.

Definition at line 247 of file ParseDefConsume.h.

void zypp::xml::parse_def_assign::Consumer::assign ( const std::vector< AssignerRef > &  vec_r,
const char *  value_r 
)
inlineprivate

Definition at line 254 of file ParseDefConsume.h.

Member Data Documentation

std::tr1::unordered_map<std::string, std::vector<AssignerRef> > zypp::xml::parse_def_assign::Consumer::_attr
private

Definition at line 262 of file ParseDefConsume.h.

std::vector<AssignerRef> zypp::xml::parse_def_assign::Consumer::_text
private

Definition at line 263 of file ParseDefConsume.h.

function<void ( const Node & )> zypp::xml::parse_def_assign::Consumer::_pre
private

Definition at line 264 of file ParseDefConsume.h.

function<void ( const Node & )> zypp::xml::parse_def_assign::Consumer::_post
private

Definition at line 265 of file ParseDefConsume.h.


The documentation for this struct was generated from the following file: