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