Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

YUM::YUMPrimaryParser Class Reference

Parser for YUM primary.xml files (containing package metadata) Use this class as an iterator that produces, one after one, YUMPrimaryDataPtr(s) for the XML package elements in the input. Here's an example:. More...

#include <YUMPrimaryParser.h>

Inheritance diagram for YUM::YUMPrimaryParser:

XMLNodeIterator< YUMPrimaryDataPtr > XMLNodeIteratorBase List of all members.

Public Member Functions

 YUMPrimaryParser (std::istream &is, const std::string &baseUrl)
 YUMPrimaryParser ()
 YUMPrimaryParser (YUMPrimaryDataPtr &entry)
virtual ~YUMPrimaryParser ()

Private Member Functions

virtual bool isInterested (const xmlNodePtr nodePtr)
virtual YUMPrimaryDataPtr process (const xmlTextReaderPtr reader)
void parseFormatNode (YUMPrimaryDataPtr dataPtr, xmlNodePtr formatNode)
void parseDependencyEntries (std::list< YUMDependency > *depList, xmlNodePtr depNode)
void parseAuthorEntries (std::list< std::string > *authors, xmlNodePtr node)
void parseKeywordEntries (std::list< std::string > *keywords, xmlNodePtr node)
void parseDirsizeEntries (std::list< YUMDirSize > *sizes, xmlNodePtr node)

Private Attributes

LibXMLHelper _helper

Detailed Description

Parser for YUM primary.xml files (containing package metadata) Use this class as an iterator that produces, one after one, YUMPrimaryDataPtr(s) for the XML package elements in the input. Here's an example:.

for (YUMPrimaryParser iter(anIstream, baseUrl), iter != YUMOtherParser.end(), // or: iter() != 0, or ! iter.atEnd() ++iter) { doSomething(*iter) }

The iterator owns the pointer (i.e., caller must not delete it) until the next ++ operator is called. At this time, it will be destroyed (and a new ENTRYTYPE is created.)

If the input is fundamentally flawed so that it makes no sense to continue parsing, XMLNodeIterator will log it and consider the input as finished. You can query the exit status with errorStatus().


Constructor & Destructor Documentation

YUM::YUMPrimaryParser::YUMPrimaryParser std::istream &  is,
const std::string &  baseUrl
 

YUMPrimaryParser::YUMPrimaryParser  ) 
 

YUMPrimaryParser::YUMPrimaryParser YUMPrimaryDataPtr &  entry  ) 
 

YUMPrimaryParser::~YUMPrimaryParser  )  [virtual]
 


Member Function Documentation

bool YUMPrimaryParser::isInterested const xmlNodePtr  nodePtr  )  [private, virtual]
 

Implements XMLNodeIterator< YUMPrimaryDataPtr >.

void YUM::YUMPrimaryParser::parseAuthorEntries std::list< std::string > *  authors,
xmlNodePtr  node
[private]
 

void YUM::YUMPrimaryParser::parseDependencyEntries std::list< YUMDependency > *  depList,
xmlNodePtr  depNode
[private]
 

void YUM::YUMPrimaryParser::parseDirsizeEntries std::list< YUMDirSize > *  sizes,
xmlNodePtr  node
[private]
 

void YUMPrimaryParser::parseFormatNode YUMPrimaryDataPtr  dataPtr,
xmlNodePtr  formatNode
[private]
 

void YUM::YUMPrimaryParser::parseKeywordEntries std::list< std::string > *  keywords,
xmlNodePtr  node
[private]
 

YUMPrimaryDataPtr YUMPrimaryParser::process const xmlTextReaderPtr  reader  )  [private, virtual]
 

Implements XMLNodeIterator< YUMPrimaryDataPtr >.


Member Data Documentation

LibXMLHelper YUM::YUMPrimaryParser::_helper [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 12 21:52:15 2005 for yast2-packagemanager by  doxygen 1.4.4