// Copyright 2017 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "bsdiff/decompressor_interface.h" #include "bsdiff/brotli_decompressor.h" #include "bsdiff/bz2_decompressor.h" #include "bsdiff/logging.h" namespace bsdiff { std::unique_ptr<DecompressorInterface> CreateDecompressor(CompressorType type) { switch (type) { case CompressorType::kBZ2: return std::unique_ptr<DecompressorInterface>(new BZ2Decompressor()); case CompressorType::kBrotli: return std::unique_ptr<DecompressorInterface>(new BrotliDecompressor()); default: LOG(ERROR) << "unsupported compressor type: " << static_cast<uint8_t>(type); return nullptr; } } } // namespace bsdiff