1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include <package/hpkg/v1/PackageReader.h>
8
9#include <new>
10
11#include <package/hpkg/ErrorOutput.h>
12#include <package/hpkg/v1/PackageReaderImpl.h>
13
14
15namespace BPackageKit {
16
17namespace BHPKG {
18
19namespace V1 {
20
21
22BPackageReader::BPackageReader(BErrorOutput* errorOutput)
23	:
24	fImpl(new (std::nothrow) PackageReaderImpl(errorOutput))
25{
26}
27
28
29BPackageReader::~BPackageReader()
30{
31	delete fImpl;
32}
33
34
35status_t
36BPackageReader::Init(const char* fileName)
37{
38	if (fImpl == NULL)
39		return B_NO_INIT;
40
41	return fImpl->Init(fileName);
42}
43
44
45status_t
46BPackageReader::Init(int fd, bool keepFD)
47{
48	if (fImpl == NULL)
49		return B_NO_INIT;
50
51	return fImpl->Init(fd, keepFD);
52}
53
54
55status_t
56BPackageReader::ParseContent(BPackageContentHandler* contentHandler)
57{
58	if (fImpl == NULL)
59		return B_NO_INIT;
60
61	return fImpl->ParseContent(contentHandler);
62}
63
64
65status_t
66BPackageReader::ParseContent(BLowLevelPackageContentHandler* contentHandler)
67{
68	if (fImpl == NULL)
69		return B_NO_INIT;
70
71	return fImpl->ParseContent(contentHandler);
72}
73
74
75int
76BPackageReader::PackageFileFD()
77{
78	if (fImpl == NULL)
79		return -1;
80
81	return fImpl->PackageFileFD();
82}
83
84
85}	// namespace V1
86
87}	// namespace BHPKG
88
89}	// namespace BPackageKit
90