00001 00002 /*========================================================================== 00003 * 00004 * Original source copyright (c) 2003, Carnegie Mellon University. 00005 * See copyright.cmu for details. 00006 * 00007 *========================================================================== 00008 */ 00009 00010 #ifndef _PROPERTYLIST_HPP 00011 #define _PROPERTYLIST_HPP 00012 00013 #include "Property.hpp" 00014 00026 class PropertyList { 00027 00028 public: 00029 virtual ~PropertyList() {} 00030 00034 virtual const Property * getProperty(const char * name) const= 0; 00035 00037 virtual void startIteration() const= 0; 00040 virtual const Property * nextEntry() const= 0; 00042 virtual bool hasMore() const= 0; 00043 00044 00050 virtual void setProperty(const Property * property) = 0; 00051 00055 virtual void removeProperty(const char * name) = 0; 00056 00058 virtual void clear() = 0; 00059 00060 00061 }; 00062 00063 #endif //_PROPERTYLIST_HPP