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