// 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.

#ifndef _BSDIFF_COMPRESSOR_INTERFACE_H_
#define _BSDIFF_COMPRESSOR_INTERFACE_H_

#include <stddef.h>
#include <stdint.h>

#include <memory>
#include <vector>

#include "bsdiff/constants.h"

namespace bsdiff {

class CompressorInterface {
 public:
  virtual ~CompressorInterface() = default;

  // Compress and write |size| bytes of input data starting from |buf|.
  virtual bool Write(const uint8_t* buf, size_t size) = 0;

  // Finish the compression step.
  virtual bool Finish() = 0;

  // Return the compressed data. This method must be only called after Finish().
  virtual const std::vector<uint8_t>& GetCompressedData() = 0;

  // Return the type of the current compressor.
  virtual CompressorType Type() const = 0;

 protected:
  CompressorInterface() = default;
};

}  // namespace bsdiff

#endif  // _BSDIFF_COMPRESSOR_INTERFACE_H_
