xref: /haiku/src/kits/package/hpkg/RepositoryWriter.cpp (revision 8b94d2ff6a9d32f99c56f0146765fe2e90d6b33c)
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