1/* 2 * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef DIRECTORY_H 6#define DIRECTORY_H 7 8 9#include "Node.h" 10 11 12class Directory : public Node { 13public: 14 Directory(Volume* volume, uint64 blockIndex, 15 const checksumfs_node& nodeData); 16 Directory(Volume* volume, mode_t mode); 17 virtual ~Directory(); 18 19 virtual void DeletingNode(); 20 21 status_t LookupEntry(const char* name, 22 uint64& _blockIndex); 23 status_t LookupNextEntry(const char* name, 24 char* foundName, size_t& _foundNameLength, 25 uint64& _blockIndex); 26 27 status_t InsertEntry(const char* name, uint64 blockIndex, 28 Transaction& transaction); 29 status_t RemoveEntry(const char* name, 30 Transaction& transaction, 31 bool* _lastEntryRemoved = NULL); 32}; 33 34 35#endif // DIRECTORY_H 36