xref: /haiku/src/add-ons/kernel/file_systems/ramfs/AttributeIndex.h (revision 224e7c42697a7425059175c74edb62e706477d52)
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