<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>CapiSuite: CallInterface Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.8 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>CallInterface Class Reference</h1>Interface class for all signals specific to a certain call. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="callinterface_8h-source.html">callinterface.h</a>></code> <p> <p>Inheritance diagram for CallInterface: <p><center><img src="classCallInterface.png" usemap="#CallInterface_map" border="0" alt=""></center> <map name="CallInterface_map"> <area href="classCallModule.html" alt="CallModule" shape="rect" coords="0,56,117,80"> <area href="classAudioReceive.html" alt="AudioReceive" shape="rect" coords="127,112,244,136"> <area href="classAudioSend.html" alt="AudioSend" shape="rect" coords="127,168,244,192"> <area href="classCallOutgoing.html" alt="CallOutgoing" shape="rect" coords="127,224,244,248"> <area href="classConnectModule.html" alt="ConnectModule" shape="rect" coords="127,280,244,304"> <area href="classDisconnectModule.html" alt="DisconnectModule" shape="rect" coords="127,336,244,360"> <area href="classFaxReceive.html" alt="FaxReceive" shape="rect" coords="127,392,244,416"> <area href="classFaxSend.html" alt="FaxSend" shape="rect" coords="127,448,244,472"> <area href="classReadDTMF.html" alt="ReadDTMF" shape="rect" coords="127,504,244,528"> <area href="classSwitch2FaxG3.html" alt="Switch2FaxG3" shape="rect" coords="127,560,244,584"> </map> <a href="classCallInterface-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>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a0">alerting</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called if the other party is alerted, i.e. it has started "ringing" there. <a href="#a0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a1">callConnected</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called if the connection is completely established (physical + logical). <a href="#a1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a2">callDisconnectedLogical</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">called if logical connection is finished <a href="#a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a3">callDisconnectedPhysical</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">called if physical connection is finished. <a href="#a3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a4">transmissionComplete</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">called if the file requested for sending is sent completely <a href="#a4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a5">gotDTMF</a> (void)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">called by <a class="el" href="classConnection.html">Connection</a> object if DMTF characters were received. <a href="#a5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="classCallInterface.html#a6">dataIn</a> (unsigned char *data, unsigned length)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">called by <a class="el" href="classConnection.html">Connection</a> object for each received data packet. <a href="#a6"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Interface class for all signals specific to a certain call. <p> While <a class="el" href="classApplicationInterface.html">ApplicationInterface</a> contains the methods to inform the application about general events, this interface has all the signals which describe events of a certain connection like DTMF signal received, call is disconnected logical, etc.<p> The application is supposed to create objects for each call which implement this interface and register them with <a class="el" href="classConnection.html#a2">Connection::registerCallInterface()</a>. It's possible to use different modules for different tasks during one connection and to dynamically register/unregister them. If no object is registered, the callbacks are simply not called. However, there are certain events which need a registered CallInterface implementing object - otherwise <a class="el" href="classConnection.html">Connection</a> will throw exceptions.<p> <dl compact><dt><b>Author:</b></dt><dd>Gernot Hillier </dd></dl> <p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="a0" doxytag="CallInterface::alerting" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::alerting </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Called if the other party is alerted, i.e. it has started "ringing" there. <p> <p> Implemented in <a class="el" href="classCallModule.html#a4">CallModule</a>, and <a class="el" href="classCallOutgoing.html#a3">CallOutgoing</a>. <p> </td> </tr> </table> <a class="anchor" name="a1" doxytag="CallInterface::callConnected" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::callConnected </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Called if the connection is completely established (physical + logical). <p> <p> Implemented in <a class="el" href="classCallModule.html#a5">CallModule</a>, <a class="el" href="classCallOutgoing.html#a2">CallOutgoing</a>, <a class="el" href="classConnectModule.html#a2">ConnectModule</a>, and <a class="el" href="classSwitch2FaxG3.html#a3">Switch2FaxG3</a>. <p> </td> </tr> </table> <a class="anchor" name="a2" doxytag="CallInterface::callDisconnectedLogical" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::callDisconnectedLogical </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> called if logical connection is finished <p> <p> Implemented in <a class="el" href="classCallModule.html#a6">CallModule</a>, <a class="el" href="classDisconnectModule.html#a2">DisconnectModule</a>, and <a class="el" href="classSwitch2FaxG3.html#a2">Switch2FaxG3</a>. <p> </td> </tr> </table> <a class="anchor" name="a3" doxytag="CallInterface::callDisconnectedPhysical" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::callDisconnectedPhysical </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> called if physical connection is finished. <p> This is called when the connection has been cleared down completely.<p> Attention: You must delete the <a class="el" href="classConnection.html">Connection</a> object yourself if you don't need it any more! <p> Implemented in <a class="el" href="classCallModule.html#a7">CallModule</a>, and <a class="el" href="classDisconnectModule.html#a3">DisconnectModule</a>. <p> </td> </tr> </table> <a class="anchor" name="a6" doxytag="CallInterface::dataIn" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::dataIn </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">unsigned char * </td> <td class="mdname" nowrap> <em>data</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned </td> <td class="mdname" nowrap> <em>length</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> called by <a class="el" href="classConnection.html">Connection</a> object for each received data packet. <p> You can either use this to save your data manually and/or tell connection to save it to a file (with start_file_reception)() )<p> But please not that this is a performance issue: calling an application function for each received function should only be done if really necessary.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>data</em> </td><td>pointer to data as received by CAPI </td></tr> <tr><td></td><td valign=top><em>length</em> </td><td>length of data in bytes</td></tr> </table> </dl> <p> Implemented in <a class="el" href="classAudioReceive.html#a2">AudioReceive</a>, and <a class="el" href="classCallModule.html#a9">CallModule</a>. <p> </td> </tr> </table> <a class="anchor" name="a5" doxytag="CallInterface::gotDTMF" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::gotDTMF </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> called by <a class="el" href="classConnection.html">Connection</a> object if DMTF characters were received. <p> It is necessary to enable DTMF receiving with <a class="el" href="classConnection.html#a12">Connection::enableDTMF</a> before any DTMFs are signalled. DTMF chars can be read with <a class="el" href="classConnection.html#a14">Connection::getDTMF()</a>. <p> Implemented in <a class="el" href="classCallModule.html#a8">CallModule</a>, and <a class="el" href="classReadDTMF.html#a2">ReadDTMF</a>. <p> </td> </tr> </table> <a class="anchor" name="a4" doxytag="CallInterface::transmissionComplete" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void CallInterface::transmissionComplete </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> called if the file requested for sending is sent completely <p> <p> Implemented in <a class="el" href="classAudioSend.html#a2">AudioSend</a>, <a class="el" href="classCallModule.html#a3">CallModule</a>, <a class="el" href="classFaxReceive.html#a2">FaxReceive</a>, and <a class="el" href="classFaxSend.html#a2">FaxSend</a>. <p> </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="callinterface_8h-source.html">callinterface.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Sun Nov 28 14:37:44 2004 for CapiSuite by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address> </body> </html>