LibInsane: /build/libinsane/src/libinsane/subprojects/libinsane/include/libinsane/multiplexer.h File Reference

| LibInsane 1.0.10 Cross-platform Cross-API Cross-driver Cross-image-scanner Image Scan Library

Loading...
Searching...
No Matches
Functions
multiplexer.h File Reference
`#include "capi.h"`
`#include "error.h"`
Include dependency graph for multiplexer.h:

Go to the source code of this file.

## Functions
enum lis_error | lis_api_multiplexer (struct lis_api **input_implementations, int nb_input_implementations, struct lis_api **output_implementation)
| API multiplexer.

## Function Documentation

## ◆ lis_api_multiplexer()

enum lis_error lis_api_multiplexer | ( | struct lis_api ** | input_implementations,
|  | int | nb_input_implementations,
|  | struct lis_api ** | output_implementation )
| extern

API multiplexer.

LibInsane must be able to handle many APIs at once. For instance, on Windows, it must be able to use WIA2 (low-level and automation) and TWAIN, at the same time. So it includes an API multiplexer.

The API multiplexer takes many API implementations in input, and merge them to present them as a single one.

Parameters

  [in] | input_implementations | Implementations to wrap together.
  [in] | nb_input_implementations | Number of implementations to wrap together.
  [out] | output_implementation | Implementation wrapping all the input implementations.