1*224e7c42SIngo Weinhold // AttributeIndex.h 2*224e7c42SIngo Weinhold 3*224e7c42SIngo Weinhold #ifndef ATTRIBUTE_INDEX_H 4*224e7c42SIngo Weinhold #define ATTRIBUTE_INDEX_H 5*224e7c42SIngo Weinhold 6*224e7c42SIngo Weinhold #include "Index.h" 7*224e7c42SIngo Weinhold 8*224e7c42SIngo Weinhold class Attribute; 9*224e7c42SIngo Weinhold 10*224e7c42SIngo Weinhold class AttributeIndex : public Index { 11*224e7c42SIngo Weinhold public: 12*224e7c42SIngo Weinhold AttributeIndex(Volume *volume, const char *name, uint32 type, 13*224e7c42SIngo Weinhold bool fixedKeyLength, size_t keyLength = 0); 14*224e7c42SIngo Weinhold virtual ~AttributeIndex(); 15*224e7c42SIngo Weinhold 16*224e7c42SIngo Weinhold virtual status_t Added(Attribute *attribute) = 0; 17*224e7c42SIngo Weinhold virtual bool Removed(Attribute *attribute) = 0; 18*224e7c42SIngo Weinhold virtual status_t Changed(Attribute *attribute, 19*224e7c42SIngo Weinhold const uint8 *oldKey, size_t length) = 0; 20*224e7c42SIngo Weinhold }; 21*224e7c42SIngo Weinhold 22*224e7c42SIngo Weinhold #endif // ATTRIBUTE_INDEX_H 23