1/* 2 * Copyright 2001-2010, Haiku Inc. All rights reserved. 3 * This file may be used under the terms of the MIT License. 4 * 5 * Authors: 6 * Janito V. Ferreira Filho 7 */ 8#ifndef REVOKEMANAGER_H 9#define REVOKEMANAGER_H 10 11#include "Journal.h" 12 13 14struct JournalRevokeHeader; 15 16class RevokeManager { 17public: 18 RevokeManager(bool has64bits); 19 virtual ~RevokeManager() = 0; 20 21 virtual status_t Insert(uint32 block, uint32 commitID) = 0; 22 virtual status_t Remove(uint32 block) = 0; 23 virtual bool Lookup(uint32 block, uint32 commitID) = 0; 24 25 uint32 NumRevokes() { return fRevokeCount; } 26 27 status_t ScanRevokeBlock(JournalRevokeHeader* revokeBlock, 28 uint32 commitID); 29 30protected: 31 uint32 fRevokeCount; 32 bool fHas64bits; 33}; 34 35#endif // REVOKEMANAGER_H 36 37