/* * Copyright 2011, Oliver Tappe * Distributed under the terms of the MIT License. */ #include #include #include namespace BPackageKit { namespace BHPKG { // #pragma mark - BPackageWriterParameters BPackageWriterParameters::BPackageWriterParameters() : fFlags(0), fCompression(B_HPKG_COMPRESSION_ZLIB), fCompressionLevel(B_HPKG_COMPRESSION_LEVEL_BEST) { } BPackageWriterParameters::~BPackageWriterParameters() { } uint32 BPackageWriterParameters::Flags() const { return fFlags; } void BPackageWriterParameters::SetFlags(uint32 flags) { fFlags = flags; } uint32 BPackageWriterParameters::Compression() const { return fCompression; } void BPackageWriterParameters::SetCompression(uint32 compression) { fCompression = compression; } int32 BPackageWriterParameters::CompressionLevel() const { return fCompressionLevel; } void BPackageWriterParameters::SetCompressionLevel(int32 compressionLevel) { fCompressionLevel = compressionLevel; } // #pragma mark - BPackageWriter BPackageWriter::BPackageWriter(BPackageWriterListener* listener) : fImpl(new (std::nothrow) PackageWriterImpl(listener)) { } BPackageWriter::~BPackageWriter() { delete fImpl; } status_t BPackageWriter::Init(const char* fileName, const BPackageWriterParameters* parameters) { if (fImpl == NULL) return B_NO_MEMORY; BPackageWriterParameters defaultParameters; return fImpl->Init(fileName, parameters != NULL ? *parameters : defaultParameters); } status_t BPackageWriter::Init(BPositionIO* file, bool keepFile, const BPackageWriterParameters* parameters) { if (fImpl == NULL) return B_NO_MEMORY; BPackageWriterParameters defaultParameters; return fImpl->Init(file, keepFile, parameters != NULL ? *parameters : defaultParameters); } status_t BPackageWriter::SetInstallPath(const char* installPath) { if (fImpl == NULL) return B_NO_INIT; return fImpl->SetInstallPath(installPath); } void BPackageWriter::SetCheckLicenses(bool checkLicenses) { if (fImpl != NULL) fImpl->SetCheckLicenses(checkLicenses); } status_t BPackageWriter::AddEntry(const char* fileName, int fd) { if (fImpl == NULL) return B_NO_INIT; return fImpl->AddEntry(fileName, fd); } status_t BPackageWriter::Finish() { if (fImpl == NULL) return B_NO_INIT; return fImpl->Finish(); } status_t BPackageWriter::Recompress(BPositionIO* inputFile) { if (fImpl == NULL) return B_NO_INIT; return fImpl->Recompress(inputFile); } } // namespace BHPKG } // namespace BPackageKit