diff options
Diffstat (limited to 'remoting/base/decompressor_zlib.h')
-rw-r--r-- | remoting/base/decompressor_zlib.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/remoting/base/decompressor_zlib.h b/remoting/base/decompressor_zlib.h new file mode 100644 index 0000000..b762480 --- /dev/null +++ b/remoting/base/decompressor_zlib.h @@ -0,0 +1,32 @@ +// Copyright (c) 2010 The Chromium 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 REMOTING_BASE_DECOMPRESSOR_ZLIB_H_ +#define REMOTING_BASE_DECOMPRESSOR_ZLIB_H_ + +#include "base/scoped_ptr.h" +#include "remoting/base/decompressor.h" + +typedef struct z_stream_s z_stream; + +namespace remoting { + +// A lossless decompressor using zlib. +class DecompressorZlib : public Decompressor { + public: + DecompressorZlib(); + virtual ~DecompressorZlib(); + + // Decompressor implementations. + virtual bool Process(const uint8* input_data, int input_size, + uint8* output_data, int output_size, + int* consumed, int* written); + + private: + scoped_ptr<z_stream> stream_; +}; + +} // namespace remoting + +#endif // REMOTING_BASE_DECOMPRESSOR_ZLIB_H_ |