LexLeo 0.0.0-dev+f8e5087-dirty
Technical documentation
Loading...
Searching...
No Matches
stream_factory_cr_api.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-3.0-or-later
2 * Copyright (C) 2026 Sylvain Labopin
3 */
4
22#ifndef LEXLEO_STREAM_FACTORY_CR_API_H
23#define LEXLEO_STREAM_FACTORY_CR_API_H
24
29
31
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
46
58
79 stream_factory_t **out,
80 const stream_factory_cfg_t *cfg,
81 const stream_env_t *env );
82
94
115 stream_factory_t *fact,
116 const stream_adapter_desc_t *desc );
117
144 const stream_factory_t *f,
145 stream_key_t key,
146 const void *args,
147 stream_t **out );
148
156
157#ifdef __cplusplus
158}
159#endif
160
161#endif //LEXLEO_STREAM_FACTORY_CR_API_H
Composition Root helpers for the stream port.
stream_status_t stream_create_factory(stream_factory_t **out, const stream_factory_cfg_t *cfg, const stream_env_t *env)
Create a stream factory.
stream_status_t stream_factory_add_adapter(stream_factory_t *fact, const stream_adapter_desc_t *desc)
Register an adapter descriptor into a stream factory.
stream_status_t stream_factory_create_stream(const stream_factory_t *f, stream_key_t key, const void *args, stream_t **out)
Create a stream from a registered adapter key.
void stream_destroy_factory(stream_factory_t **fact)
Destroy a stream factory.
stream_factory_cfg_t stream_default_factory_cfg(void)
Return the default configuration for a stream factory.
Adapter installation contracts for the stream port.
Public key type used to identify stream adapters.
const char * stream_key_t
Public identifier type for a registered stream adapter.
Borrower-visible public types for the stream port.
stream_status_t
Public status codes used by the stream port.
Public descriptor used to register a concrete stream adapter.
Runtime environment for the stream port.
Definition stream_env.h:35
Configuration for stream_factory_t.
Private handle structure for a stream_factory_t.
Private handle structure for a stream_t.