00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IANNOTATION_H
00008 #define AIDA_IANNOTATION_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016
00021 #define titleKey "Title"
00022
00023 namespace AIDA {
00024
00034 class IAnnotation {
00035
00036 public:
00038 virtual ~IAnnotation() { ; }
00039
00051 virtual bool addItem(const std::string & key, const std::string & value, bool sticky = false) = 0;
00052
00060 virtual bool removeItem(const std::string & key) = 0;
00061
00068 virtual const std::string & value(const std::string & key) const = 0;
00069
00076 virtual void setValue(const std::string & key, const std::string & value) = 0;
00077
00084 virtual void setSticky(const std::string & key, bool sticky) = 0;
00085
00091 virtual int size() const = 0;
00092
00099 virtual const std::string & key(int index) const = 0;
00100
00107 virtual const std::string & value(int index) const = 0;
00108
00113 virtual void reset() = 0;
00114 };
00115 };
00116 #endif