Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > eeacaa4eb55fa544d622989e42fc27b1 > files > 100

libyate-devel-2.0.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Yate: DataTranslator Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>
  </div>
</div>
<div class="contents">
<h1>DataTranslator Class Reference</h1><!-- doxytag: class="TelEngine::DataTranslator" --><!-- doxytag: inherits="TelEngine::DataConsumer" -->An unidirectional data translator (codec).  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="yatephone_8h-source.html">yatephone.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for DataTranslator:</div>
<div class="dynsection">

<p><center><img src="classTelEngine_1_1DataTranslator.png" usemap="#DataTranslator_map" border="0" alt=""></center>
<map name="DataTranslator_map">
<area href="classTelEngine_1_1DataConsumer.html" alt="DataConsumer" shape="rect" coords="0,168,95,192">
<area href="classTelEngine_1_1DataNode.html" alt="DataNode" shape="rect" coords="0,112,95,136">
<area href="classTelEngine_1_1RefObject.html" alt="RefObject" shape="rect" coords="0,56,95,80">
<area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,95,24">
</map>
</div>

<p>
<a href="classTelEngine_1_1DataTranslator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#31b074769d11914183071013cd4f843d">DataTranslator</a> (const char *sFormat, const char *dFormat)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#eb3e6b31d8ac0ff8c87896fb32fdf393">DataTranslator</a> (const char *sFormat, <a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *source=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#7050974d4aa6a0cda5a5e0782194482d">~DataTranslator</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#aa71c3294b1a073c3ad0b64a2ed6325a">getObject</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;name) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#62f27df35e897ffa333df4ea7512c210">getTransSource</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#5ed36faf2c1be6f8e2834ca11e4e82e7">getFirstTranslator</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#d1ce33ac50dfe4693ea4e2d4bccf761e">getFirstTranslator</a> () const </td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#3a15b3921bb6f0c6befbca07e06fa95f">srcFormats</a> (const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;dFormat=&quot;slin&quot;, int maxCost=-1, unsigned int maxLen=0, <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *lst=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#822e6e3d97d30e91e7375e87e442b031">destFormats</a> (const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;sFormat=&quot;slin&quot;, int maxCost=-1, unsigned int maxLen=0, <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *lst=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#d0a59ad71e73636dcf590a8b54ee863f">allFormats</a> (const <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *formats, bool existing=true, bool sameRate=true, bool sameChans=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#0b9534645ab6a25928709c361ecd993d">allFormats</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;formats, bool existing=true, bool sameRate=true, bool sameChans=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#2352429780fb27ad46453cdd268bf473">canConvert</a> (const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;fmt1, const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;fmt2=&quot;slin&quot;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#9ddfb58417bef5d9336f32fda93f1d99">cost</a> (const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;sFormat, const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;dFormat)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#6685b4dc2adab678d0d65d8eff550a7d">create</a> (const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;sFormat, const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;dFormat)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#08c3323a5a2791f03e4a9a8070769e61">attachChain</a> (<a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *source, <a class="el" href="classTelEngine_1_1DataConsumer.html">DataConsumer</a> *consumer, bool override=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#eee342af706b6acec394339bc94e6f52">detachChain</a> (<a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *source, <a class="el" href="classTelEngine_1_1DataConsumer.html">DataConsumer</a> *consumer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#9c825a75224318e397ab7fb62493af5a">setMaxChain</a> (unsigned int maxChain)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#c262f089839a46664b1e597bc7b9b0f0">synchronize</a> (<a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *source)</td></tr>

<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#78248a78eff2570181e1d5cb81bf23fe">install</a> (<a class="el" href="classTelEngine_1_1TranslatorFactory.html">TranslatorFactory</a> *factory)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1DataTranslator.html#5d864e6f520e2035f0c88cb8bc39bbc9">uninstall</a> (<a class="el" href="classTelEngine_1_1TranslatorFactory.html">TranslatorFactory</a> *factory)</td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f64a066c07eda4c21041af1a66a1a40"></a><!-- doxytag: member="TelEngine::DataTranslator::TranslatorFactory" ref="4f64a066c07eda4c21041af1a66a1a40" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>TranslatorFactory</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
An unidirectional data translator (codec). 
<p>
The <a class="el" href="classTelEngine_1_1DataTranslator.html" title="An unidirectional data translator (codec).">DataTranslator</a> holds a translator (codec) capable of unidirectional conversion of data from one type to another. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="31b074769d11914183071013cd4f843d"></a><!-- doxytag: member="TelEngine::DataTranslator::DataTranslator" ref="31b074769d11914183071013cd4f843d" args="(const char *sFormat, const char *dFormat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>sFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>dFormat</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct a data translator. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sFormat</em>&nbsp;</td><td>Name of the source format (data received from the consumer) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dFormat</em>&nbsp;</td><td>Name of the destination format (data supplied to the source) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="eb3e6b31d8ac0ff8c87896fb32fdf393"></a><!-- doxytag: member="TelEngine::DataTranslator::DataTranslator" ref="eb3e6b31d8ac0ff8c87896fb32fdf393" args="(const char *sFormat, DataSource *source=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>sFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a data translator from an existing source, does not increment the source's reference counter. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sFormat</em>&nbsp;</td><td>Name of the source format (data received from the consumer) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Optional pointer to a <a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> object </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="7050974d4aa6a0cda5a5e0782194482d"></a><!-- doxytag: member="TelEngine::DataTranslator::~DataTranslator" ref="7050974d4aa6a0cda5a5e0782194482d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroys the translator and its source 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0b9534645ab6a25928709c361ecd993d"></a><!-- doxytag: member="TelEngine::DataTranslator::allFormats" ref="0b9534645ab6a25928709c361ecd993d" args="(const String &amp;formats, bool existing=true, bool sameRate=true, bool sameChans=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a>* allFormats           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>formats</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>existing</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>sameRate</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>sameChans</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of formats supported by transcoding for a given format list <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>formats</em>&nbsp;</td><td>Data format names as comma separated list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>existing</em>&nbsp;</td><td>Also return formats already existing in the initial list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sameRate</em>&nbsp;</td><td>Only return formats with same sampling rate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sameChans</em>&nbsp;</td><td>Only return formats with same number of channels </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>List of format names, must be freed by the caller </dd></dl>

</div>
</div><p>
<a class="anchor" name="d0a59ad71e73636dcf590a8b54ee863f"></a><!-- doxytag: member="TelEngine::DataTranslator::allFormats" ref="d0a59ad71e73636dcf590a8b54ee863f" args="(const ObjList *formats, bool existing=true, bool sameRate=true, bool sameChans=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a>* allFormats           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td>
          <td class="paramname"> <em>formats</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>existing</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>sameRate</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>sameChans</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of formats supported by transcoding for a given format list <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>formats</em>&nbsp;</td><td>List of data format names </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>existing</em>&nbsp;</td><td>Also return formats already existing in the initial list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sameRate</em>&nbsp;</td><td>Only return formats with same sampling rate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sameChans</em>&nbsp;</td><td>Only return formats with same number of channels </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>List of format names, must be freed by the caller </dd></dl>

</div>
</div><p>
<a class="anchor" name="08c3323a5a2791f03e4a9a8070769e61"></a><!-- doxytag: member="TelEngine::DataTranslator::attachChain" ref="08c3323a5a2791f03e4a9a8070769e61" args="(DataSource *source, DataConsumer *consumer, bool override=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool attachChain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataConsumer.html">DataConsumer</a> *&nbsp;</td>
          <td class="paramname"> <em>consumer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>override</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach a consumer to a source, possibly trough a chain of translators <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Source to attach the chain to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>consumer</em>&nbsp;</td><td>Consumer where the chain ends </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>override</em>&nbsp;</td><td>Attach chain for temporary source override </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if successfull, false if no translator chain could be built </dd></dl>

</div>
</div><p>
<a class="anchor" name="2352429780fb27ad46453cdd268bf473"></a><!-- doxytag: member="TelEngine::DataTranslator::canConvert" ref="2352429780fb27ad46453cdd268bf473" args="(const DataFormat &amp;fmt1, const DataFormat &amp;fmt2=&quot;slin&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool canConvert           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>fmt1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>fmt2</em> = <code>&quot;slin&quot;</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if bidirectional conversion can be performed by installed translators <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fmt1</em>&nbsp;</td><td>Name of the first data format </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fmt2</em>&nbsp;</td><td>Name of the second data format </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if translators can be created for both directions </dd></dl>

</div>
</div><p>
<a class="anchor" name="9ddfb58417bef5d9336f32fda93f1d99"></a><!-- doxytag: member="TelEngine::DataTranslator::cost" ref="9ddfb58417bef5d9336f32fda93f1d99" args="(const DataFormat &amp;sFormat, const DataFormat &amp;dFormat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int cost           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dFormat</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finds the cost of a translator given the source and destination format names <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sFormat</em>&nbsp;</td><td>Name of the source format (data received from the consumer) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dFormat</em>&nbsp;</td><td>Name of the destination format (data supplied to the source) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Cost of best (cheapest) codec or -1 if no known codec exists </dd></dl>

</div>
</div><p>
<a class="anchor" name="6685b4dc2adab678d0d65d8eff550a7d"></a><!-- doxytag: member="TelEngine::DataTranslator::create" ref="6685b4dc2adab678d0d65d8eff550a7d" args="(const DataFormat &amp;sFormat, const DataFormat &amp;dFormat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>* create           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dFormat</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a translator given the source and destination format names <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sFormat</em>&nbsp;</td><td>Name of the source format (data received from the consumer) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dFormat</em>&nbsp;</td><td>Name of the destination format (data supplied to the source) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a <a class="el" href="classTelEngine_1_1DataTranslator.html" title="An unidirectional data translator (codec).">DataTranslator</a> object or NULL if no known codec exists </dd></dl>

</div>
</div><p>
<a class="anchor" name="822e6e3d97d30e91e7375e87e442b031"></a><!-- doxytag: member="TelEngine::DataTranslator::destFormats" ref="822e6e3d97d30e91e7375e87e442b031" args="(const DataFormat &amp;sFormat=&quot;slin&quot;, int maxCost=&#45;1, unsigned int maxLen=0, ObjList *lst=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a>* destFormats           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sFormat</em> = <code>&quot;slin&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxCost</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>maxLen</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td>
          <td class="paramname"> <em>lst</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of formats supported for a given input format <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sFormat</em>&nbsp;</td><td>Name of source format </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxCost</em>&nbsp;</td><td>Maximum cost of candidates to consider, -1 to accept all </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxLen</em>&nbsp;</td><td>Maximum length of codec chains to consider, 0 to accept all </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lst</em>&nbsp;</td><td>Initial list, will append to it if not empty </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>List of destination format names, must be freed by the caller </dd></dl>

</div>
</div><p>
<a class="anchor" name="eee342af706b6acec394339bc94e6f52"></a><!-- doxytag: member="TelEngine::DataTranslator::detachChain" ref="eee342af706b6acec394339bc94e6f52" args="(DataSource *source, DataConsumer *consumer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool detachChain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataConsumer.html">DataConsumer</a> *&nbsp;</td>
          <td class="paramname"> <em>consumer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Detach a consumer from a source, possibly trough a chain of translators <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Source to dettach the chain from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>consumer</em>&nbsp;</td><td>Consumer where the chain ends </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if successfull, false if source and consumers were not attached </dd></dl>

</div>
</div><p>
<a class="anchor" name="d1ce33ac50dfe4693ea4e2d4bccf761e"></a><!-- doxytag: member="TelEngine::DataTranslator::getFirstTranslator" ref="d1ce33ac50dfe4693ea4e2d4bccf761e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>* getFirstTranslator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constant version to get the first translator from a chain <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the first translator in a chain </dd></dl>

</div>
</div><p>
<a class="anchor" name="5ed36faf2c1be6f8e2834ca11e4e82e7"></a><!-- doxytag: member="TelEngine::DataTranslator::getFirstTranslator" ref="5ed36faf2c1be6f8e2834ca11e4e82e7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1DataTranslator.html">DataTranslator</a>* getFirstTranslator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the first translator from a chain <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the first translator in a chain </dd></dl>

</div>
</div><p>
<a class="anchor" name="aa71c3294b1a073c3ad0b64a2ed6325a"></a><!-- doxytag: member="TelEngine::DataTranslator::getObject" ref="aa71c3294b1a073c3ad0b64a2ed6325a" args="(const String &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* getObject           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a pointer to a derived class given that class name <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the class we are asking for </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the requested class or NULL if this object doesn't implement it </dd></dl>

<p>Reimplemented from <a class="el" href="classTelEngine_1_1DataConsumer.html#aa71c3294b1a073c3ad0b64a2ed6325a">DataConsumer</a>.</p>

</div>
</div><p>
<a class="anchor" name="62f27df35e897ffa333df4ea7512c210"></a><!-- doxytag: member="TelEngine::DataTranslator::getTransSource" ref="62f27df35e897ffa333df4ea7512c210" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a>* getTransSource           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the data source of a translator object <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the <a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> object or NULL </dd></dl>

<p>Reimplemented from <a class="el" href="classTelEngine_1_1DataConsumer.html#62f27df35e897ffa333df4ea7512c210">DataConsumer</a>.</p>

</div>
</div><p>
<a class="anchor" name="78248a78eff2570181e1d5cb81bf23fe"></a><!-- doxytag: member="TelEngine::DataTranslator::install" ref="78248a78eff2570181e1d5cb81bf23fe" args="(TranslatorFactory *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void install           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1TranslatorFactory.html">TranslatorFactory</a> *&nbsp;</td>
          <td class="paramname"> <em>factory</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Install a Translator Factory in the list of known codecs <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>factory</em>&nbsp;</td><td>A pointer to a <a class="el" href="classTelEngine_1_1TranslatorFactory.html" title="An unidirectional data translator (codec).">TranslatorFactory</a> instance </td></tr>
  </table>
</dl>

<p>Referenced by <a class="el" href="yatephone_8h-source.html#l00797">TranslatorFactory::TranslatorFactory()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9c825a75224318e397ab7fb62493af5a"></a><!-- doxytag: member="TelEngine::DataTranslator::setMaxChain" ref="9c825a75224318e397ab7fb62493af5a" args="(unsigned int maxChain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void setMaxChain           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>maxChain</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the length of the longest translator chain we are allowed to create <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>maxChain</em>&nbsp;</td><td>Desired longest chain length </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="3a15b3921bb6f0c6befbca07e06fa95f"></a><!-- doxytag: member="TelEngine::DataTranslator::srcFormats" ref="3a15b3921bb6f0c6befbca07e06fa95f" args="(const DataFormat &amp;dFormat=&quot;slin&quot;, int maxCost=&#45;1, unsigned int maxLen=0, ObjList *lst=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a>* srcFormats           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataFormat.html">DataFormat</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dFormat</em> = <code>&quot;slin&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxCost</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>maxLen</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> *&nbsp;</td>
          <td class="paramname"> <em>lst</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a list of formats supported for a given output format. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dFormat</em>&nbsp;</td><td>Name of destination format </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxCost</em>&nbsp;</td><td>Maximum cost of candidates to consider, -1 to accept all </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxLen</em>&nbsp;</td><td>Maximum length of codec chains to consider, 0 to accept all </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lst</em>&nbsp;</td><td>Initial list, will append to it if not empty </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>List of source format names, must be freed by the caller </dd></dl>

</div>
</div><p>
<a class="anchor" name="c262f089839a46664b1e597bc7b9b0f0"></a><!-- doxytag: member="TelEngine::DataTranslator::synchronize" ref="c262f089839a46664b1e597bc7b9b0f0" args="(DataSource *source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool synchronize           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataSource.html">DataSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Synchronize the consumer with a source <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Data source to copy the timestamp from </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if we could synchronize with the source </dd></dl>

<p>Reimplemented from <a class="el" href="classTelEngine_1_1DataConsumer.html#c262f089839a46664b1e597bc7b9b0f0">DataConsumer</a>.</p>

</div>
</div><p>
<a class="anchor" name="5d864e6f520e2035f0c88cb8bc39bbc9"></a><!-- doxytag: member="TelEngine::DataTranslator::uninstall" ref="5d864e6f520e2035f0c88cb8bc39bbc9" args="(TranslatorFactory *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void uninstall           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1TranslatorFactory.html">TranslatorFactory</a> *&nbsp;</td>
          <td class="paramname"> <em>factory</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a Translator Factory from the list of known codecs <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>factory</em>&nbsp;</td><td>A pointer to a <a class="el" href="classTelEngine_1_1TranslatorFactory.html" title="An unidirectional data translator (codec).">TranslatorFactory</a> instance </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="yatephone_8h-source.html">yatephone.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:12 2008 for Yate by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address>
</body>
</html>