---
name: "CL_InputSourceProvider"
section: "3"
platform: "linux"
package: "clanlib0-common-dev"
version: "0.4.4-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/CL_InputSourceProvider"
---

# CL\_InputSourceProvider(3)

Interface that provide input sources.

## NAME

CL\_InputSourceProvider - Interface that provide input sources.

## DESCRIPTION

CL\_InputSourceProvider is used to open inputsources. This can be from  datafile where the inputsource is an index - or it a directory where the files are the inputsources.

## CLASS MEMBERS

- virtual **~CL\_InputSourceProvider**()

  - static CL\_InputSourceProvider \***create\_file\_provider**(

  ```
  const char *path)
  ```

- static CL\_InputSourceProvider \***create\_datafile\_provider**(

  ```
  const char *filename)
  ```

- virtual CL\_InputSource \***open\_source**(

  ```
  const char *handle)
  ```

- virtual CL\_InputSourceProvider \***clone**()

  ## MEMBERS WITH DESCRIPTIONS

- virtual **~CL\_InputSourceProvider**()

  ```
  Description:
  ```

- static CL\_InputSourceProvider \***create\_file\_provider**(

  ```
  const char *path)
  ```

  ```
  Parameters:
  path - Path where the files are located.
  ```

  ```
  Description:
  ```

  Creates a file provider. Input sources opened are considered as files.

  ```
  Return value:
  ```

  The file input provider created.

- static CL\_InputSourceProvider \***create\_datafile\_provider**(

  ```
  const char *filename)
  ```

  ```
  Parameters:
  filename - Name of the datafile to be used.
  ```

  ```
  Description:
  ```

  Creates a datafile provider. Input sources are opened as indexes in thespecified datafile.

  ```
  Return value:
  ```

  The datafile input provider created.

- virtual CL\_InputSource \***open\_source**(

  ```
  const char *handle)
  ```

  ```
  Parameters:
  handle - handle/index/filename/identier to the input source requested.
  ```

  ```
  Description:
  ```

  Opens an inputsource using the passed handle.

  ```
  Return value:
  ```

  The opened input source.

- virtual CL\_InputSourceProvider \***clone**()

  ```
  Description:
  ```

  Returns a copy of the current provider.

  ```
  Return value:
  ```

  The copy of the inputsource provider.

## SEE ALSO

All ClanLib API classes can be found in **clanlib (3)**.

## AUTHORS

Originally written by Magnus Norddahl \<*mbn@dark.x.dtu.dk*\> and Martin Starch \<*starch@dark.x.dtu.dk*\>. ClanLib is now developed by the ClanLib Development team as an Open Source project.

The ClanLib man pages was created using the Perceps documentation system (another excellent piece of Open Source software, available at **http://somewhere.in.the.world.org**).

See **clanlib (3)** to find out how to get a full list of contributors and details on how to submit bug reports, comments etc.
