1// File.h 2 3#ifndef FILE_H 4#define FILE_H 5 6#include "DataContainer.h" 7#include "Node.h" 8 9class File : public Node, public DataContainer { 10public: 11 File(Volume *volume); 12 virtual ~File(); 13 14 Volume *GetVolume() const { return Node::GetVolume(); } 15 16 virtual status_t ReadAt(off_t offset, void *buffer, size_t size, 17 size_t *bytesRead); 18 virtual status_t WriteAt(off_t offset, const void *buffer, size_t size, 19 size_t *bytesWritten); 20 21 virtual status_t SetSize(off_t newSize); 22 virtual off_t GetSize() const; 23 24 // debugging 25 virtual void GetAllocationInfo(AllocationInfo &info); 26}; 27 28#endif // FILE_H 29