00001 #ifndef GEAR_XMLHandler_H
00002 #define GEAR_XMLHandler_H 1
00003
00004 #include <string>
00005
00006 namespace gear {
00007
00008 class TiXmlElement ;
00009 class GearParameters ;
00010 class GearMgr ;
00011
00017 class XMLHandler {
00018
00019 public:
00020
00021 virtual ~XMLHandler() { }
00022
00025 virtual TiXmlElement toXML( const GearParameters & parameters ) const = 0 ;
00026
00027
00031 virtual GearParameters* fromXML( const TiXmlElement* xmlElement , GearMgr* gearMgr=0) const = 0 ;
00032
00033
00034 };
00035
00036
00037 class TiXmlNode ;
00038
00040 std::string getXMLAttribute(const TiXmlNode* node , const std::string& name ) ;
00041
00043 std::string getOptionalXMLAttribute(const TiXmlNode* node , const std::string& name ,
00044 const std::string& defaultValue) ;
00045
00048 std::string getChildElementValue(const TiXmlNode* node , const std::string& name ) ;
00049
00050
00051 }
00052
00053 #endif