00001 00010 #ifndef __XMLAttributeList_H__ 00011 #define __XMLAttributeList_H__ 00012 00013 // Includes 00014 #include "Array.h" 00015 #include "StringId.h" 00016 #include "XMLVariant.h" 00017 00018 // Forward declares 00019 00020 // XMLAttributeList 00021 class XMLAttributeList 00022 { 00023 public: 00024 void Add(StringId name, const XMLVariant& value); 00025 00026 int GetCount() const; 00027 00028 StringId GetName(int index) const; 00029 00030 const XMLVariant& GetValue(int index) const; 00031 00032 const XMLVariant& GetValue(StringId name) const; 00033 00034 int GetIndex(StringId name) const; 00035 00036 00037 private: 00038 struct Attribute 00039 { 00040 StringId name; 00041 XMLVariant value; 00042 }; 00043 00044 Array<Attribute> attributes_; 00045 }; 00046 00047 #endif /* __XMLAttributeList_H__ */