OBT::XMLConfigurationFileParser Class Reference

Realization of the AbstractConfigurationFileParser class for the tinyXML library. More...

#include <OBTXMLConfigurationFileParser.h>

Inheritance diagram for OBT::XMLConfigurationFileParser:
[legend]
Collaboration diagram for OBT::XMLConfigurationFileParser:
[legend]

List of all members.

Public Member Functions

 XMLConfigurationFileParser (const char *name, ConfigurationItem &configurationItem=touchRoot())
 constructor
virtual ~XMLConfigurationFileParser ()
 destructor

Private Member Functions

void AddChildren (ConfigurationItem &root, TiXmlElement *element)
 add the children of a TiXmlElement to a ConfigurationItem

Detailed Description

Realization of the AbstractConfigurationFileParser class for the tinyXML library.

Author:
Michaël Rouillé <michael.rouille@gmail.com>

Definition at line 17 of file OBTXMLConfigurationFileParser.h.


Constructor & Destructor Documentation

XMLConfigurationFileParser::XMLConfigurationFileParser ( const char *  name,
ConfigurationItem configurationItem = touchRoot() 
)

constructor

Definition at line 10 of file OBTXMLConfigurationFileParser.cpp.

References AddChildren(), OBT::TiXmlDocument::LoadFile(), and OBT::TiXmlDocument::RootElement().

00011 :
00012 AbstractConfigurationFileParser( name, configurationItem )
00013 {       
00014         TiXmlDocument document ;
00015         if ( document.LoadFile( name ) )
00016         {
00017                 AddChildren( configurationItem, document.RootElement() ) ;
00018         }
00019 }

XMLConfigurationFileParser::~XMLConfigurationFileParser (  )  [virtual]

destructor

Definition at line 24 of file OBTXMLConfigurationFileParser.cpp.

00025 {
00026 }


Member Function Documentation

void XMLConfigurationFileParser::AddChildren ( ConfigurationItem root,
TiXmlElement element 
) [private]

add the children of a TiXmlElement to a ConfigurationItem

Definition at line 32 of file OBTXMLConfigurationFileParser.cpp.

References OBT::ConfigurationItem::addChild(), OBT::TiXmlBase::Column(), OBT::TiXmlElement::FirstAttribute(), OBT::TiXmlNode::FirstChildElement(), OBT::TiXmlElement::GetText(), OBT::TiXmlNode::NextSiblingElement(), OBT::TiXmlBase::Row(), and OBT::TiXmlNode::Value().

Referenced by XMLConfigurationFileParser().

00033 {
00034         while ( element != NULL )
00035         {
00036                 ConfigurationItem item( element->Value() ) ;
00037                 item.setLine( element->Row() ) ;
00038                 item.setColumn( element->Column() ) ;
00039                 item.setText( element->GetText() ) ;
00040 
00041                 TiXmlAttribute* attribute( element->FirstAttribute() ) ;
00042                 while ( attribute != NULL )
00043                 {
00044                         item.addArgument( attribute->Name(), attribute->Value() ) ;
00045                         attribute = attribute->Next() ;
00046                 }       
00047 
00048                 AddChildren( item, element->FirstChildElement() ) ;
00049                 root.addChild( item ) ;
00050                 element = element->NextSiblingElement() ;
00051         }
00052 }


Generated on 1 Jan 2010 for OBT by  doxygen 1.6.1