00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _C_XML_DATA_
00021 #define _C_XML_DATA_
00022
00023 #include "list_t.hpp"
00024 #include "iostream_t.hpp"
00025
00026 class _C_XmlEntity_Basic {
00027 public:
00028 _C_XmlEntity_Basic () ;
00029 _C_XmlEntity_Basic (char *P_name);
00030 ~_C_XmlEntity_Basic () ;
00031 char *get_name () ;
00032 void set_name (char *P_name);
00033 private:
00034 char * m_name ;
00035 } ;
00036
00037
00038 class C_XmlData {
00039 public:
00040
00041 class C_XmlField {
00042 public:
00043 C_XmlField();
00044 C_XmlField(char *P_name, char *P_value);
00045 C_XmlField(char *P_name);
00046 ~C_XmlField();
00047 char* get_name();
00048 char* get_value();
00049 void set_name(char *P_name);
00050 void set_value(char *P_value);
00051 friend iostream_output& operator<<(iostream_output&, C_XmlField&);
00052 private:
00053 char *m_name;
00054 char *m_value;
00055 } ;
00056
00057 typedef C_XmlField *T_pC_XmlField ;
00058 typedef list_t<C_XmlField*> T_XmlField_List, *T_pXmlField_List ;
00059
00060 C_XmlData() ;
00061 C_XmlData(char * P_name) ;
00062 ~C_XmlData() ;
00063
00064 char* get_name() ;
00065 void set_name(char* P_name) ;
00066
00067 void add_sub_data (C_XmlData* P_data);
00068 void add_field (C_XmlField* P_field);
00069
00070 char* find_value (char* P_fieldName) ;
00071
00072 list_t<C_XmlData*>* get_sub_data () ;
00073 T_pXmlField_List get_fields () ;
00074
00075 friend iostream_output& operator<<(iostream_output&, C_XmlData&);
00076
00077 private:
00078 char *m_name ;
00079 list_t <C_XmlData*> *m_sub_data ;
00080 T_pXmlField_List m_fields ;
00081 } ;
00082
00083 typedef C_XmlData *T_pC_XmlData ;
00084 typedef list_t<T_pC_XmlData> T_XmlData_List, *T_pXmlData_List ;
00085
00086
00087 #endif // _C_XML_DATA_