compress: cstream: convert to a b_object type

This commit is contained in:
2025-10-28 15:20:08 +00:00
parent f3dd0ddd48
commit 7ba396933a
3 changed files with 327 additions and 202 deletions

View File

@@ -1,16 +1,26 @@
#ifndef BLUELIB_COMPRESS_CSTREAM_H_
#define BLUELIB_COMPRESS_CSTREAM_H_
#ifndef BLUE_COMPRESS_CSTREAM_H_
#define BLUE_COMPRESS_CSTREAM_H_
#include <blue/compress/function.h>
#include <blue/core/macros.h>
#include <blue/core/stream.h>
#include <stdbool.h>
typedef struct b_cstream b_cstream;
B_DECLS_BEGIN;
enum b_compressor_mode;
#define B_TYPE_CSTREAM (b_cstream_get_type())
B_DECLARE_TYPE(b_cstream);
B_TYPE_CLASS_DECLARATION_BEGIN(b_cstream)
B_TYPE_CLASS_DECLARATION_END(b_cstream)
BLUE_API b_type b_cstream_get_type(void);
BLUE_API b_status b_cstream_open(
b_stream *endpoint, const b_compression_function *func,
b_compression_mode mode, b_cstream **out);
BLUE_API b_status b_cstream_close(b_cstream *stream);
b_stream *endpoint, b_type compressor_type, enum b_compressor_mode mode,
b_cstream **out);
BLUE_API b_status b_cstream_read(
b_cstream *stream, void *buf, size_t count, size_t *nr_read);
@@ -35,4 +45,6 @@ BLUE_API b_status b_cstream_tx_bytes_uncompressed(
BLUE_API b_status b_cstream_set_cursor_position(b_cstream *stream, size_t pos);
BLUE_API b_status b_cstream_restore_cursor_position(b_cstream *stream);
B_DECLS_END;
#endif