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 PackageLeafNode : public PackageNode {
15public:
16								PackageLeafNode(Package* package, mode_t mode);
17	virtual						~PackageLeafNode();
18
19	virtual	String				SymlinkPath() const;
20
21	virtual	status_t			Read(off_t offset, void* buffer,
22									size_t* bufferSize);
23	virtual	status_t			Read(io_request* request);
24
25public:
26			SinglyLinkedListLink<PackageLeafNode> fListLink;
27};
28
29
30typedef SinglyLinkedList<PackageLeafNode,
31	SinglyLinkedListMemberGetLink<PackageLeafNode,
32		&PackageLeafNode::fListLink> > PackageLeafNodeList;
33
34
35#endif	// PACKAGE_LEAF_NODE_H
36