1*f6dc9357SAndroid Build Coastguard Worker // MyXml.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_MY_XML_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_MY_XML_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "MyString.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker struct CXmlProp 9*f6dc9357SAndroid Build Coastguard Worker { 10*f6dc9357SAndroid Build Coastguard Worker AString Name; 11*f6dc9357SAndroid Build Coastguard Worker AString Value; 12*f6dc9357SAndroid Build Coastguard Worker }; 13*f6dc9357SAndroid Build Coastguard Worker 14*f6dc9357SAndroid Build Coastguard Worker class CXmlItem 15*f6dc9357SAndroid Build Coastguard Worker { 16*f6dc9357SAndroid Build Coastguard Worker public: 17*f6dc9357SAndroid Build Coastguard Worker AString Name; 18*f6dc9357SAndroid Build Coastguard Worker bool IsTag; 19*f6dc9357SAndroid Build Coastguard Worker CObjectVector<CXmlProp> Props; 20*f6dc9357SAndroid Build Coastguard Worker CObjectVector<CXmlItem> SubItems; 21*f6dc9357SAndroid Build Coastguard Worker 22*f6dc9357SAndroid Build Coastguard Worker const char * ParseItem(const char *s, int numAllowedLevels); 23*f6dc9357SAndroid Build Coastguard Worker 24*f6dc9357SAndroid Build Coastguard Worker bool IsTagged(const char *tag) const throw(); 25*f6dc9357SAndroid Build Coastguard Worker int FindProp(const char *propName) const throw(); 26*f6dc9357SAndroid Build Coastguard Worker AString GetPropVal(const char *propName) const; 27*f6dc9357SAndroid Build Coastguard Worker AString GetSubString() const; 28*f6dc9357SAndroid Build Coastguard Worker const AString * GetSubStringPtr() const throw(); 29*f6dc9357SAndroid Build Coastguard Worker int FindSubTag(const char *tag) const throw(); 30*f6dc9357SAndroid Build Coastguard Worker const CXmlItem *FindSubTag_GetPtr(const char *tag) const throw(); 31*f6dc9357SAndroid Build Coastguard Worker AString GetSubStringForTag(const char *tag) const; 32*f6dc9357SAndroid Build Coastguard Worker void AppendTo(AString &s) const; 33*f6dc9357SAndroid Build Coastguard Worker }; 34*f6dc9357SAndroid Build Coastguard Worker 35*f6dc9357SAndroid Build Coastguard Worker struct CXml 36*f6dc9357SAndroid Build Coastguard Worker { 37*f6dc9357SAndroid Build Coastguard Worker CXmlItem Root; 38*f6dc9357SAndroid Build Coastguard Worker 39*f6dc9357SAndroid Build Coastguard Worker bool Parse(const char *s); 40*f6dc9357SAndroid Build Coastguard Worker // void AppendTo(AString &s) const; 41*f6dc9357SAndroid Build Coastguard Worker }; 42*f6dc9357SAndroid Build Coastguard Worker 43*f6dc9357SAndroid Build Coastguard Worker void z7_xml_DecodeString(AString &s); 44*f6dc9357SAndroid Build Coastguard Worker 45*f6dc9357SAndroid Build Coastguard Worker #endif 46