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