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 <map>
00020 
00021 // rapidXML headers
00022 #include <rapidxml.hpp>
00023 
00024 #endif // __XIOS_NO_EXTERN
00025 
00026 // XMLIOServer headers
00027 #include "xmlioserver_spl.hpp"
00028 
00029 // ////////////////////////////// Déclarations ///////////////////////////// //
00030 
00031 namespace xmlioserver
00032 {
00033    namespace xml
00034    {
00039       class CXMLNode
00040       {
00041          public : // Constructeur publique
00042 
00057             CXMLNode(rapidxml::xml_node<char> * const _root);
00058 
00059          public :// Destructeur
00060 
00062             ~CXMLNode(void);
00063 
00064          public : // Accesseurs
00065 
00079             std::string getElementName(void) const;
00080 
00097             std::map <std::string, std::string> getAttributes(void) const;
00098 
00099          public : // Mutateurs
00100 
00107             bool goToNextElement(void);
00108 
00115             bool goToChildElement(void);
00116 
00123             bool goToParentElement(void);
00124 
00125          public : // Accesseurs statiques
00126 
00132             static const std::string & GetRootName(void);
00133 
00134          protected : // Constructeurs protégés
00135 
00137             CXMLNode(void);                            // NIY
00138 
00143             CXMLNode(const CXMLNode & _node);          // NIY
00144 
00149             CXMLNode(const CXMLNode * const _node_ptr); // NIY
00150 
00151          private : // Propriété privée
00152 
00154             rapidxml::xml_node<char> * node;
00155 
00156          private : // Propriété statique privée
00157 
00159             static std::string RootName;
00160 
00161       }; //class CXMLParser
00162 
00163    }// namespace xml
00164 } // namespace xmlioserver
00165 
00166 #endif  // __XML_NODE_HPP__
00167 
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Énumérations Valeurs énumérées Amis Macros