00001
00018 #ifndef INC_MI32_XMLOBJECT_H
00019 #define INC_MI32_XMLOBJECT_H
00020
00021 #ifndef INC_MI32_STDDEFNS_H
00022 #include <mi32/stddefns.h>
00023 #endif
00024
00025 #ifdef MISYSTEMDLL
00026 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00027 #else
00028 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00029 #endif
00030
00031 #ifndef GENERATING_DOXYGEN_OUTPUT
00032 class XMLDOC;
00033 class XMLNODE;
00034 #endif
00035
00036
00038 class CLASSLIBEXPORT XMLOBJECT {
00039 public:
00040
00041 XMLOBJECT ();
00042
00043 virtual ~XMLOBJECT () = 0;
00044
00046 ERRVALUE XmlGet (
00047 XMLNODE *nodeParent,
00048 const char *nodeTagName = 0
00049 ) const;
00050
00052 ERRVALUE XmlGet (
00053 XMLNODE *nodeParent,
00054 XMLNODE *& nodeObject,
00055 const char *nodeTagName = 0
00056 ) const;
00057
00059 ERRVALUE XmlGet (
00060 XMLDOC& doc,
00061 const char *rootTagName = 0
00062 ) const;
00063
00065 ERRVALUE XmlSet (
00066 const XMLNODE *nodeObject
00067 );
00068
00069 private:
00070
00072 virtual ERRVALUE v_XmlGet (
00073 XMLNODE *nodeObject
00074 ) const = 0;
00075
00077 virtual const char* v_XmlGetTagName () const = 0;
00078
00080 virtual ERRVALUE v_XmlSet (
00081 const XMLNODE *nodeObject
00082 ) = 0;
00083
00084 };
00085
00086
00087
00088 #undef CLASSLIBEXPORT
00089
00090 #endif // INC_MI32_XMLOBJECT_H