1/* 2 * Copyright 2011, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef UNPACKING_ATTRIBUTE_DIRECTORY_COOKIE_H 6#define UNPACKING_ATTRIBUTE_DIRECTORY_COOKIE_H 7 8 9#include "AttributeDirectoryCookie.h" 10#include "AutoPackageAttributes.h" 11 12 13struct dirent; 14 15class PackageNode; 16class PackageNodeAttribute; 17 18 19class UnpackingAttributeDirectoryCookie : public AttributeDirectoryCookie { 20public: 21 UnpackingAttributeDirectoryCookie( 22 PackageNode* packageNode); 23 virtual ~UnpackingAttributeDirectoryCookie(); 24 25 static status_t Open(PackageNode* packageNode, 26 AttributeDirectoryCookie*& _cookie); 27 28 virtual status_t Read(dev_t volumeID, ino_t nodeID, 29 struct dirent* buffer, size_t bufferSize, 30 uint32* _count); 31 virtual status_t Rewind(); 32 33private: 34 PackageNode* fPackageNode; 35 PackageNodeAttribute* fAttribute; 36 uint32 fState; 37}; 38 39 40#endif // UNPACKING_ATTRIBUTE_DIRECTORY_COOKIE_H 41