class DataTranslator

An unidirectional data translator (codec). More...

Full nameTelEngine::DataTranslator
Definition#include <yatephone.h>
InheritsTelEngine::DataConsumer [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Static Methods

Protected Methods

Protected Static Methods


Detailed Description

The DataTranslator holds a translator (codec) capable of unidirectional conversion of data from one type to another.

 DataTranslator (const char* sFormat, const char* dFormat)

DataTranslator

Construct a data translator.

Parameters:
sFormatName of the source format (data received from the consumer)
dFormatName of the destination format (data supplied to the source)

 DataTranslator (const char* sFormat, DataSource* source = 0)

DataTranslator

Creates a data translator from an existing source, does not increment the source's reference counter.

Parameters:
sFormatName of the source format (data received from the consumer)
sourceOptional pointer to a DataSource object

 ~DataTranslator ()

~DataTranslator

Destroys the translator and its source

void*  getObject (const String& name)

getObject

[const virtual]

Get a pointer to a derived class given that class name

Parameters:
nameName of the class we are asking for

Returns: Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from DataConsumer.

DataSource*  getTransSource ()

getTransSource

[const virtual]

Get the data source of a translator object

Returns: A pointer to the DataSource object or NULL

Reimplemented from DataConsumer.

DataTranslator*  getFirstTranslator ()

getFirstTranslator

Get the first translator from a chain

Returns: Pointer to the first translator in a chain

const DataTranslator*  getFirstTranslator ()

getFirstTranslator

[const]

Constant version to get the first translator from a chain

Returns: Pointer to the first translator in a chain

ObjList*  srcFormats (const DataFormat& dFormat = "slin", int maxCost = -1, unsigned int maxLen = 0, ObjList* lst = 0)

srcFormats

[static]

Get a list of formats supported for a given output format.

Parameters:
dFormatName of destination format
maxCostMaximum cost of candidates to consider, -1 to accept all
maxLenMaximum length of codec chains to consider, 0 to accept all
lstInitial list, will append to it if not empty

Returns: List of source format names, must be freed by the caller

ObjList*  destFormats (const DataFormat& sFormat = "slin", int maxCost = -1, unsigned int maxLen = 0, ObjList* lst = 0)

destFormats

[static]

Get a list of formats supported for a given input format

Parameters:
sFormatName of source format
maxCostMaximum cost of candidates to consider, -1 to accept all
maxLenMaximum length of codec chains to consider, 0 to accept all
lstInitial list, will append to it if not empty

Returns: List of destination format names, must be freed by the caller

ObjList*  allFormats (const ObjList* formats, bool existing = true, bool sameRate = true, bool sameChans = true)

allFormats

[static]

Get a list of formats supported by transcoding for a given format list

Parameters:
formatsList of data format names
existingAlso return formats already existing in the initial list
sameRateOnly return formats with same sampling rate
sameChansOnly return formats with same number of channels

Returns: List of format names, must be freed by the caller

ObjList*  allFormats (const String& formats, bool existing = true, bool sameRate = true, bool sameChans = true)

allFormats

[static]

Get a list of formats supported by transcoding for a given format list

Parameters:
formatsData format names as comma separated list
existingAlso return formats already existing in the initial list
sameRateOnly return formats with same sampling rate
sameChansOnly return formats with same number of channels

Returns: List of format names, must be freed by the caller

bool  canConvert (const DataFormat& fmt1, const DataFormat& fmt2 = "slin")

canConvert

[static]

Check if bidirectional conversion can be performed by installed translators

Parameters:
fmt1Name of the first data format
fmt2Name of the second data format

Returns: True if translators can be created for both directions

int  cost (const DataFormat& sFormat, const DataFormat& dFormat)

cost

[static]

Finds the cost of a translator given the source and destination format names

Parameters:
sFormatName of the source format (data received from the consumer)
dFormatName of the destination format (data supplied to the source)

Returns: Cost of best (cheapest) codec or -1 if no known codec exists

DataTranslator*  create (const DataFormat& sFormat, const DataFormat& dFormat)

create

[static]

Creates a translator given the source and destination format names

Parameters:
sFormatName of the source format (data received from the consumer)
dFormatName of the destination format (data supplied to the source)

Returns: A pointer to a DataTranslator object or NULL if no known codec exists

bool  attachChain (DataSource* source, DataConsumer* consumer, bool override = false)

attachChain

[static]

Attach a consumer to a source, possibly trough a chain of translators

Parameters:
sourceSource to attach the chain to
consumerConsumer where the chain ends
overrideAttach chain for temporary source override

Returns: True if successfull, false if no translator chain could be built

bool  detachChain (DataSource* source, DataConsumer* consumer)

detachChain

[static]

Detach a consumer from a source, possibly trough a chain of translators

Parameters:
sourceSource to dettach the chain from
consumerConsumer where the chain ends

Returns: True if successfull, false if source and consumers were not attached

void  setMaxChain (unsigned int maxChain)

setMaxChain

[static]

Set the length of the longest translator chain we are allowed to create

Parameters:
maxChainDesired longest chain length

bool  synchronize (DataSource* source)

synchronize

[protected virtual]

Synchronize the consumer with a source

Parameters:
sourceData source to copy the timestamp from

Returns: True if we could synchronize with the source

Reimplemented from DataConsumer.

void  install (TranslatorFactory* factory)

install

[protected static]

Install a Translator Factory in the list of known codecs

Parameters:
factoryA pointer to a TranslatorFactory instance

void  uninstall (TranslatorFactory* factory)

uninstall

[protected static]

Remove a Translator Factory from the list of known codecs

Parameters:
factoryA pointer to a TranslatorFactory instance


Generated by: root on dragoshel on Sat Apr 14 01:50:50 2007, using kdoc 2.0a54.