libzypp  10.5.0
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:

List of all members.

Public Member Functions

void add (const AssignerRef &assigner_r)
 Extend Consumer.
void add (const std::string &attr_r, const AssignerRef &assigner_r)
 Extend Consumer.
void prenotify (function< void(const Node &)> pre_r)
 Set pre notification callback.
void postnotify (function< void(const Node &)> post_r)
 Set post notification callback.
virtual void start (const xml::Node &node_r)
virtual void text (const xml::Node &node_r)
virtual void done (const xml::Node &node_r)

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) [inline, virtual]

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) [inline, virtual]

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) [inline, virtual]

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 
) [inline, private]

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.

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: