00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _PROPERTYLIST_HPP
00011 #define _PROPERTYLIST_HPP
00012
00013 #include "Property.hpp"
00014 namespace lemur
00015 {
00016 namespace parse
00017 {
00018
00030 class PropertyList {
00031
00032 public:
00033 virtual ~PropertyList() {}
00034
00038 virtual const Property * getProperty(const string name) const= 0;
00039
00041 virtual void startIteration() const= 0;
00044 virtual const Property * nextEntry() const= 0;
00046 virtual bool hasMore() const= 0;
00047
00048
00054 virtual void setProperty(const Property * property) = 0;
00055
00059 virtual void removeProperty(const string name) = 0;
00060
00062 virtual void clear() = 0;
00063 };
00064 }
00065 }
00066
00067 #endif //_PROPERTYLIST_HPP