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