Public Types | |
typedef shared_ptr< Impl > | ImplPtr |
typedef std::map< std::string, ImplPtr > | SubNodes |
Public Member Functions | |
Impl (const std::string &name_r, Mode mode_r, const shared_ptr< ParseDefConsume > &target_r=shared_ptr< ParseDefConsume >()) | |
~Impl () | |
bool | isOptional () const |
bool | isMandatory () const |
bool | singleDef () const |
bool | multiDef () const |
void | addNode (const ImplPtr &subnode_r) |
ImplPtr | getNode (const std::string &name_r) const |
void | take (Reader &reader_r) |
Public Attributes | |
std::string | _name |
Mode | _mode |
DefaultIntegral< unsigned, 0 > | _visited |
Impl * | _parent |
SubNodes | _subnodes |
ParseDefImplConsume | _callback |
DefaultIntegral< int,-1 > | _parseDepth |
Private Member Functions | |
bool | skipNode (Reader &reader_r) |
Skip the current node. | |
std::string | exstr (const std::string &what_r, const Impl &impl_r) const |
std::string | exstr (const std::string &what_r, const Impl &impl_r, const Reader &reader_r) const |
Friends | |
std::ostream & | operator<< (std::ostream &str, const ParseDef::Impl &obj) |
Definition at line 94 of file ParseDef.cc.
typedef shared_ptr<Impl> zypp::xml::ParseDef::Impl::ImplPtr |
Definition at line 98 of file ParseDef.cc.
typedef std::map<std::string, ImplPtr> zypp::xml::ParseDef::Impl::SubNodes |
Definition at line 99 of file ParseDef.cc.
zypp::xml::ParseDef::Impl::Impl | ( | const std::string & | name_r, | |
Mode | mode_r, | |||
const shared_ptr< ParseDefConsume > & | target_r = shared_ptr<ParseDefConsume>() | |||
) | [inline] |
Definition at line 102 of file ParseDef.cc.
References _callback, and zypp::xml::ParseDefConsumeRedirect::setRedirect().
zypp::xml::ParseDef::Impl::~Impl | ( | ) | [inline] |
bool zypp::xml::ParseDef::Impl::isOptional | ( | ) | const [inline] |
Definition at line 119 of file ParseDef.cc.
References _mode, and zypp::xml::ParseDefTraits::BIT_OPTIONAL.
bool zypp::xml::ParseDef::Impl::isMandatory | ( | ) | const [inline] |
Definition at line 122 of file ParseDef.cc.
References _mode, and zypp::xml::ParseDefTraits::BIT_MANDTAORY.
bool zypp::xml::ParseDef::Impl::singleDef | ( | ) | const [inline] |
Definition at line 125 of file ParseDef.cc.
References _mode, and zypp::xml::ParseDefTraits::BIT_ONCE.
bool zypp::xml::ParseDef::Impl::multiDef | ( | ) | const [inline] |
Definition at line 128 of file ParseDef.cc.
References _mode, and zypp::xml::ParseDefTraits::BIT_MULTIPLE.
Referenced by take().
void zypp::xml::ParseDef::Impl::addNode | ( | const ImplPtr & | subnode_r | ) |
ImplPtr zypp::xml::ParseDef::Impl::getNode | ( | const std::string & | name_r | ) | const [inline] |
void zypp::xml::ParseDef::Impl::take | ( | Reader & | reader_r | ) |
Definition at line 207 of file ParseDef.cc.
References _callback, zypp::xml::ParseDef::_debug, _name, _parseDepth, _subnodes, _visited, zypp::xml::ParseDefImplConsume::cdata(), zypp::xml::ParseDefImplConsume::done(), zypp::xml::ParseDefImplConsume::doneSubnode(), exstr(), getNode(), multiDef(), zypp::xml::Reader::nextNode(), skipNode(), zypp::xml::ParseDefImplConsume::start(), zypp::xml::ParseDefImplConsume::startSubnode(), zypp::xml::ParseDefImplConsume::text(), WAR, and ZYPP_THROW.
bool zypp::xml::ParseDef::Impl::skipNode | ( | xml::Reader & | reader_r | ) | [private] |
Skip the current node.
<node />
). ParseDefValidateException | if no matching end node found. |
Definition at line 329 of file ParseDef.cc.
References exstr(), zypp::str::form(), zypp::xml::Reader::seekToEndNode(), and ZYPP_THROW.
Referenced by take().
std::string zypp::xml::ParseDef::Impl::exstr | ( | const std::string & | what_r, | |
const Impl & | impl_r | |||
) | const [inline, private] |
std::string zypp::xml::ParseDef::Impl::exstr | ( | const std::string & | what_r, | |
const Impl & | impl_r, | |||
const Reader & | reader_r | |||
) | const [inline, private] |
Definition at line 161 of file ParseDef.cc.
std::ostream& operator<< | ( | std::ostream & | str, | |
const ParseDef::Impl & | obj | |||
) | [friend] |
Definition at line 348 of file ParseDef.cc.
std::string zypp::xml::ParseDef::Impl::_name |
Definition at line 170 of file ParseDef.cc.
Referenced by isMandatory(), isOptional(), multiDef(), zypp::xml::operator<<(), and singleDef().
DefaultIntegral<unsigned,0> zypp::xml::ParseDef::Impl::_visited |
Definition at line 173 of file ParseDef.cc.