00001 #ifndef GEAR_PadRowLayout2DXML_H
00002 #define GEAR_PadRowLayout2DXML_H 1
00003
00004
00005
00006
00007
00008 #include <string>
00009 #include <map>
00010
00011 namespace gear {
00012
00013 class PadRowLayout2D ;
00014 class TiXmlElement ;
00015 class GearMgr ;
00016
00017 class PadRowLayout2DXML ;
00018
00019
00025 class PadRowLayout2DXML {
00026
00027 typedef std::map< std::string, PadRowLayout2DXML* > Map ;
00028
00029
00030 public:
00031
00034 virtual TiXmlElement toXML( const PadRowLayout2D* layout ) const=0 ;
00035
00036
00040 virtual PadRowLayout2D* fromXML( const TiXmlElement* xmlElement) const=0 ;
00041
00042
00044 static PadRowLayout2DXML* getHandler(const std::string& typeName ) ;
00045
00047 static PadRowLayout2DXML* getHandler(const PadRowLayout2D* l ) ;
00048
00049
00052 static Map& map() ;
00053
00054
00055
00056
00057 };
00058 }
00059
00060 #endif