1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef PACKAGE_LEAF_NODE_H
6#define PACKAGE_LEAF_NODE_H
7
8
9#include "PackageNode.h"
10
11#include <io_requests.h>
12
13
14class BPackageData;
15
16
17class PackageLeafNode : public PackageNode {
18public:
19								PackageLeafNode(Package* package, mode_t mode);
20	virtual						~PackageLeafNode();
21
22	virtual	const char*			SymlinkPath() const;
23
24	virtual	status_t			Read(off_t offset, void* buffer,
25									size_t* bufferSize);
26	virtual	status_t			Read(io_request* request);
27
28public:
29			SinglyLinkedListLink<PackageLeafNode> fListLink;
30};
31
32
33typedef SinglyLinkedList<PackageLeafNode,
34	SinglyLinkedListMemberGetLink<PackageLeafNode,
35		&PackageLeafNode::fListLink> > PackageLeafNodeList;
36
37
38#endif	// PACKAGE_LEAF_NODE_H
39