LibInsane  1.0.10
Cross-platform Cross-API Cross-driver Cross-image-scanner Image Scan Library
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. More...
 

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 
)

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_implementationsImplementations to wrap together.
[in]nb_input_implementationsNumber of implementations to wrap together.
[out]output_implementationImplementation wrapping all the input implementations.