14ee7d007SOliver Tappe /* 24ee7d007SOliver Tappe * Copyright 2011, Oliver Tappe <zooey@hirschkaefer.de> 34ee7d007SOliver Tappe * Distributed under the terms of the MIT License. 44ee7d007SOliver Tappe */ 54ee7d007SOliver Tappe 64ee7d007SOliver Tappe 74ee7d007SOliver Tappe #include <package/hpkg/RepositoryWriter.h> 84ee7d007SOliver Tappe 94ee7d007SOliver Tappe #include <new> 104ee7d007SOliver Tappe 114ee7d007SOliver Tappe #include <package/hpkg/RepositoryWriterImpl.h> 124ee7d007SOliver Tappe 134ee7d007SOliver Tappe 144ee7d007SOliver Tappe namespace BPackageKit { 154ee7d007SOliver Tappe 164ee7d007SOliver Tappe namespace BHPKG { 174ee7d007SOliver Tappe 184ee7d007SOliver Tappe 194ee7d007SOliver Tappe BRepositoryWriter::BRepositoryWriter(BRepositoryWriterListener* listener) 204ee7d007SOliver Tappe : 214ee7d007SOliver Tappe fImpl(new (std::nothrow) RepositoryWriterImpl(listener)) 224ee7d007SOliver Tappe { 234ee7d007SOliver Tappe } 244ee7d007SOliver Tappe 254ee7d007SOliver Tappe 264ee7d007SOliver Tappe BRepositoryWriter::~BRepositoryWriter() 274ee7d007SOliver Tappe { 284ee7d007SOliver Tappe delete fImpl; 294ee7d007SOliver Tappe } 304ee7d007SOliver Tappe 314ee7d007SOliver Tappe 324ee7d007SOliver Tappe status_t 334ee7d007SOliver Tappe BRepositoryWriter::Init(const char* fileName) 344ee7d007SOliver Tappe { 354ee7d007SOliver Tappe if (fImpl == NULL) 364ee7d007SOliver Tappe return B_NO_MEMORY; 374ee7d007SOliver Tappe 384ee7d007SOliver Tappe return fImpl->Init(fileName); 394ee7d007SOliver Tappe } 404ee7d007SOliver Tappe 414ee7d007SOliver Tappe 424ee7d007SOliver Tappe status_t 43*8b94d2ffSOliver Tappe BRepositoryWriter::AddPackage(const BEntry& packageEntry) 444ee7d007SOliver Tappe { 454ee7d007SOliver Tappe if (fImpl == NULL) 464ee7d007SOliver Tappe return B_NO_INIT; 474ee7d007SOliver Tappe 48*8b94d2ffSOliver Tappe return fImpl->AddPackage(packageEntry); 494ee7d007SOliver Tappe } 504ee7d007SOliver Tappe 514ee7d007SOliver Tappe 524ee7d007SOliver Tappe status_t 534ee7d007SOliver Tappe BRepositoryWriter::Finish() 544ee7d007SOliver Tappe { 554ee7d007SOliver Tappe if (fImpl == NULL) 564ee7d007SOliver Tappe return B_NO_INIT; 574ee7d007SOliver Tappe 584ee7d007SOliver Tappe return fImpl->Finish(); 594ee7d007SOliver Tappe } 604ee7d007SOliver Tappe 614ee7d007SOliver Tappe 624ee7d007SOliver Tappe } // namespace BHPKG 634ee7d007SOliver Tappe 644ee7d007SOliver Tappe } // namespace BPackageKit 65