1/*
2 * Copyright 2011, Haiku, Inc.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _PACKAGE__HPKG__V1__PACKAGE_INFO_CONTENT_HANDLER_H_
6#define _PACKAGE__HPKG__V1__PACKAGE_INFO_CONTENT_HANDLER_H_
7
8
9#include <package/hpkg/v1/PackageContentHandler.h>
10
11
12namespace BPackageKit {
13
14
15class BPackageInfo;
16
17
18namespace BHPKG {
19
20
21class BErrorOutput;
22
23
24namespace V1 {
25
26
27class BPackageInfoContentHandler : public BPackageContentHandler {
28public:
29								BPackageInfoContentHandler(
30									BPackageInfo& packageInfo,
31									BHPKG::BErrorOutput* errorOutput = NULL);
32	virtual						~BPackageInfoContentHandler();
33
34	virtual	status_t			HandleEntry(BPackageEntry* entry);
35	virtual	status_t			HandleEntryAttribute(BPackageEntry* entry,
36									BPackageEntryAttribute* attribute);
37	virtual	status_t			HandleEntryDone(BPackageEntry* entry);
38
39	virtual	status_t			HandlePackageAttribute(
40									const BHPKG::BPackageInfoAttributeValue&
41										value);
42
43	virtual	void				HandleErrorOccurred();
44
45protected:
46			BPackageInfo&		fPackageInfo;
47			BHPKG::BErrorOutput* fErrorOutput;
48};
49
50
51}	// namespace V1
52
53}	// namespace BHPKG
54
55}	// namespace BPackageKit
56
57
58#endif	// _PACKAGE__HPKG__V1__PACKAGE_INFO_CONTENT_HANDLER_H_
59