#ifndef morpheo_behavioural_XML_h #define morpheo_behavioural_XML_h /* * $Id: XML.h 88 2008-12-10 18:31:39Z rosiere $ * * [ Description ] * */ #include #include #include #include #include "Common/include/ToString.h" #include "Common/include/Debug.h" namespace morpheo { namespace behavioural { // Virtual Class - Interface of each component class XML { // -----[ fields ]---------------------------------------------------- private : const std::string _name ; private : std::string _filename_extension; private : std::string _body ; private : std::list _list_balise_name ; // -----[ methods ]--------------------------------------------------- public : XML (std::string name); public : ~XML (void); public : bool balise_open (std::string name); // no attribut public : bool balise_open_begin (std::string name); public : bool balise_open_end (void); public : bool balise_close (void); public : bool singleton (std::string name); // no attribut public : bool singleton_begin (std::string name); public : bool singleton_end (void); public : bool attribut (std::string name, std::string value); public : bool insert_XML (XML xml, uint32_t offset_depth=0); public : void filename_extension (std::string extension); public : void generate_file (std::string dirname, std::string encoding); public : void generate_file (std::string dirname="."); public : std::string get_body (void); public : std::string get_body (uint32_t depth); public : bool comment (std::string text); public : bool text (std::string text); private : std::string indent (uint32_t depth ); private : std::string indent (void); private : uint32_t depth (void); private : void header (std::string encoding); }; }; // end namespace behavioural }; // end namespace morpheo #endif