1/* 2 * Copyright 2011, Oliver Tappe <zooey@hirschkaefer.de> 3 * Distributed under the terms of the MIT License. 4 */ 5 6 7#include <package/hpkg/RepositoryWriter.h> 8 9#include <new> 10 11#include <package/hpkg/RepositoryWriterImpl.h> 12#include <package/RepositoryInfo.h> 13 14 15namespace BPackageKit { 16 17namespace BHPKG { 18 19 20BRepositoryWriter::BRepositoryWriter(BRepositoryWriterListener* listener, 21 BRepositoryInfo* repositoryInfo) 22 : 23 fImpl(new (std::nothrow) RepositoryWriterImpl(listener, repositoryInfo)) 24{ 25} 26 27 28BRepositoryWriter::~BRepositoryWriter() 29{ 30 delete fImpl; 31} 32 33 34status_t 35BRepositoryWriter::Init(const char* fileName) 36{ 37 if (fImpl == NULL) 38 return B_NO_MEMORY; 39 40 return fImpl->Init(fileName); 41} 42 43 44status_t 45BRepositoryWriter::AddPackage(const BEntry& packageEntry) 46{ 47 if (fImpl == NULL) 48 return B_NO_INIT; 49 50 return fImpl->AddPackage(packageEntry); 51} 52 53 54status_t 55BRepositoryWriter::AddPackageInfo(const BPackageInfo& packageInfo) 56{ 57 if (fImpl == NULL) 58 return B_NO_INIT; 59 60 return fImpl->AddPackageInfo(packageInfo); 61} 62 63 64status_t 65BRepositoryWriter::Finish() 66{ 67 if (fImpl == NULL) 68 return B_NO_INIT; 69 70 return fImpl->Finish(); 71} 72 73 74} // namespace BHPKG 75 76} // namespace BPackageKit 77