XMLIOSERVER 0.4
Serveur d'Entrées/Sorties parallèles
xml_node.hpp
Aller à la documentation de ce fichier.
00001 /* ************************************************************************** *
00002  *      Copyright © IPSL/LSCE, XMLIOServer, Avril 2010 - Octobre 2011         *
00003  * ************************************************************************** */
00004 
00005 #ifndef __XML_NODE_HPP__
00006 #define __XML_NODE_HPP__
00007 
00016 #ifndef __XIOS_NO_EXTERN
00017 
00018 // C++ standard headers
00019 #include <string>
00020 #include <iostream>
00021 #include <map>
00022 
00023 // rapidXML headers
00024 #include <rapidxml.hpp>
00025 
00026 #endif // __XIOS_NO_EXTERN
00027 
00028 // XMLIOServer headers
00029 #include "xmlioserver_spl.hpp"
00030 
00031 // ////////////////////////////// Déclarations ///////////////////////////// //
00032 
00033 namespace xmlioserver
00034 {
00035    namespace xml
00036    {
00041       class CXMLNode
00042       {
00043          public : // Constructeur publique
00044 
00059             CXMLNode(rapidxml::xml_node<char> * const _root);
00060 
00061          public :// Destructeur
00062 
00064             ~CXMLNode(void);
00065 
00066          public : // Accesseurs
00067 
00081             std::string getElementName(void) const;
00082 
00099             std::map <std::string, std::string> getAttributes(void) const;
00100 
00101          public : // Mutateurs
00102 
00109             bool goToNextElement(void);
00110 
00117             bool goToChildElement(void);
00118 
00125             bool goToParentElement(void);
00126 
00127          public : // Accesseurs statiques
00128 
00134             static const std::string & GetRootName(void);
00135 
00136          protected : // Constructeurs protégés
00137 
00139             CXMLNode(void);                            // NIY
00140 
00145             CXMLNode(const CXMLNode & _node);          // NIY
00146 
00151             CXMLNode(const CXMLNode * const _node_ptr); // NIY
00152 
00153          private : // Propriété privée
00154 
00156             rapidxml::xml_node<char> * node;
00157 
00158          private : // Propriété statique privée
00159 
00161             static std::string RootName;
00162 
00163       }; //class CXMLParser
00164 
00165    }// namespace xml
00166 } // namespace xmlioserver
00167 
00168 #endif  // __XML_NODE_HPP__
00169 
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Amis Macros