From e14b247176d56b1ddaa4a5efa46ca3c60f33a093 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 20 Apr 2013 21:16:17 +0200 Subject: [PATCH] Add StringChecksumAccessor A ChecksumAccessor implementation for an already known checksum. --- headers/private/package/ChecksumAccessors.h | 11 ++++++++ src/kits/package/ChecksumAccessors.cpp | 31 ++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/headers/private/package/ChecksumAccessors.h b/headers/private/package/ChecksumAccessors.h index 8872cd5606..ba95aa5d01 100644 --- a/headers/private/package/ChecksumAccessors.h +++ b/headers/private/package/ChecksumAccessors.h @@ -49,6 +49,17 @@ private: }; +class StringChecksumAccessor : public ChecksumAccessor { +public: + StringChecksumAccessor(const BString& checksum); + + virtual status_t GetChecksum(BString& _checksum) const; + +private: + BString fChecksum; +}; + + } // namespace BPrivate } // namespace BPackageKit diff --git a/src/kits/package/ChecksumAccessors.cpp b/src/kits/package/ChecksumAccessors.cpp index 8ec09c9e90..4eca081e7c 100644 --- a/src/kits/package/ChecksumAccessors.cpp +++ b/src/kits/package/ChecksumAccessors.cpp @@ -1,9 +1,10 @@ /* - * Copyright 2011, Haiku, Inc. All Rights Reserved. + * Copyright 2011-2013, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: * Oliver Tappe + * Ingo Weinhold */ @@ -24,11 +25,17 @@ namespace BPrivate { (nibble >= 10 ? 'a' + nibble - 10 : '0' + nibble) +// #pragma mark - ChecksumAccessor + + ChecksumAccessor::~ChecksumAccessor() { } +// #pragma mark - ChecksumFileChecksumAccessor + + ChecksumFileChecksumAccessor::ChecksumFileChecksumAccessor( const BEntry& checksumFileEntry) : @@ -62,6 +69,9 @@ ChecksumFileChecksumAccessor::GetChecksum(BString& checksum) const } +// #pragma mark - GeneralFileChecksumAccessor + + GeneralFileChecksumAccessor::GeneralFileChecksumAccessor( const BEntry& fileEntry, bool skipMissingFile) : @@ -127,6 +137,25 @@ GeneralFileChecksumAccessor::GetChecksum(BString& checksum) const } +// #pragma mark - StringChecksumAccessor + + +StringChecksumAccessor::StringChecksumAccessor(const BString& checksum) + : + fChecksum(checksum) +{ +} + + +status_t +StringChecksumAccessor::GetChecksum(BString& _checksum) const +{ + _checksum = fChecksum; + return B_OK; +} + + + } // namespace BPrivate } // namespace BPackageKit