155714Skris/* 255714Skris * Copyright 2011, Ingo Weinhold, ingo_weinhold@gmx.de. 355714Skris * Distributed under the terms of the MIT License. 455714Skris */ 555714Skris#ifndef ATTRIBUTE_INDEXER_H 655714Skris#define ATTRIBUTE_INDEXER_H 755714Skris 855714Skris 955714Skris#include <SupportDefs.h> 1055714Skris 1155714Skris 1255714Skrisclass AttributeIndex; 1355714Skrisclass AttributeIndexTreeValue; 1455714Skrisclass IndexedAttributeOwner; 1555714Skris 1655714Skris 1755714Skrisclass AttributeIndexer { 1855714Skrispublic: 1955714Skris AttributeIndexer(AttributeIndex* index); 2055714Skris ~AttributeIndexer(); 2155714Skris 2255714Skris status_t CreateCookie(IndexedAttributeOwner* owner, 2355714Skris void* attributeCookie, uint32 attributeType, 2455714Skris size_t attributeSize, void*& _data, 2555714Skris size_t& _toRead); 2655714Skris void DeleteCookie(); 2755714Skris 2855714Skris AttributeIndexTreeValue* Cookie() const 2955714Skris { return fCookie; } 3055714Skris 3155714Skris const char* IndexName() const 3255714Skris { return fIndexName; } 3355714Skris 3455714Skrisprivate: 3555714Skris AttributeIndex* fIndex; 3655714Skris const char* fIndexName; 3755714Skris uint32 fIndexType; 3855714Skris AttributeIndexTreeValue* fCookie; 3955714Skris}; 4055714Skris 4155714Skris 4255714Skris#endif // ATTRIBUTE_INDEX_H 4355714Skris