Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 06e1e0ab98898582c876a8be34ecb5e9 > files > 210

capisuite-0.4.5-5mdv2010.0.i586.rpm

<!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: Capi 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&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Capi Class Reference</h1>Main Class for communication with CAPI.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="capi_8h-source.html">capi.h</a>&gt;</code>
<p>
<a href="classCapi-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="classCapi.html#a0">Capi</a> (ostream &amp;<a class="el" href="classCapi.html#r13">debug</a>, unsigned short <a class="el" href="classCapi.html#r15">debug_level</a>, ostream &amp;<a class="el" href="classCapi.html#r14">error</a>, unsigned short <a class="el" href="classCapi.html#r3">DDILength</a>=0, unsigned short <a class="el" href="classCapi.html#r4">DDIBaseLength</a>=0, vector&lt; string &gt; <a class="el" href="classCapi.html#r5">DDIStopNumbers</a>=vector&lt; string &gt;(), unsigned maxLogicalConnection=2, unsigned maxBDataBlocks=7, unsigned maxBDataLen=2048)  throw (CapiError, CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Registers our App at CAPI and start the communication thread.  <a href="#a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#a1">~Capi</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. Unregister App at CAPI.  <a href="#a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#a2">registerApplicationInterface</a> (<a class="el" href="classApplicationInterface.html">ApplicationInterface</a> *application_in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the instance implementing the <a class="el" href="classApplicationInterface.html">ApplicationInterface</a>.  <a href="#a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#a3">setListenFaxG3</a> (_cdword Controller=0)  throw (CapiMsgError,CapiError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell capi that we want to _additionally_ listen to Fax G3 calls.  <a href="#a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#a4">setListenTelephony</a> (_cdword Controller=0)  throw (CapiMsgError,CapiError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell capi that we want to _additionally_ listen to Telephony calls.  <a href="#a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#a5">getInfo</a> (bool verbose=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Static Returns some info about the installed Controllers.  <a href="#a5"></a><br></td></tr>
<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d0">unregisterConnection</a> (_cdword plci)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">erase <a class="el" href="classConnection.html">Connection</a> object in connections map  <a href="#d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d1">readProfile</a> ()  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get informations about CAPI driver and installed controllers.  <a href="#d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d2">listen_req</a> (_cdword Controller, _cdword InfoMask=0x03FF, _cdword CIPMask=0x1FFF03FF)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send LISTEN_REQ to CAPI.  <a href="#d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d3">alert_req</a> (_cdword plci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send ALERT_REQ to CAPI.  <a href="#d3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d4">connect_req</a> (<a class="el" href="classConnection.html">Connection</a> *conn, _cdword Controller, _cword CIPvalue, _cstruct calledPartyNumber, _cstruct callingPartyNumber, _cword B1protocol, _cword B2protocol, _cword B3protocol, _cstruct B1configuration, _cstruct B2configuration, _cstruct B3configuration)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send CONNECT_REQ to CAPI.  <a href="#d4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d5">select_b_protocol_req</a> (_cdword plci, _cword B1protocol, _cword B2protocol, _cword B3protocol, _cstruct B1configuration, _cstruct B2configuration, _cstruct B3configuration)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send SELECT_B_PROTOCOL_REQ to CAPI  <a href="#d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d6">connect_b3_req</a> (_cdword plci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send CONNECT_B3_REQ to CAPI  <a href="#d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d7">data_b3_req</a> (_cdword ncci, void *Data, _cword DataLength, _cword DataHandle, _cword Flags)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DATA_B3_REQ to CAPI  <a href="#d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d8">disconnect_b3_req</a> (_cdword ncci, _cstruct ncpi=NULL)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DISCONNECT_B3_REQ to CAPI  <a href="#d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d9">disconnect_req</a> (_cdword plci, _cstruct Keypadfacility=NULL, _cstruct Useruserdata=NULL, _cstruct Facilitydataarray=NULL)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DISCONNECT_REQ to CAPI  <a href="#d9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d10">facility_req</a> (_cdword address, _cword FacilitySelector, _cstruct FacilityRequestParameter)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send FACILITY_REQ to CAPI  <a href="#d10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d11">connect_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword plci, _cword reject, _cword B1protocol, _cword B2protocol, _cword B3protocol, _cstruct B1configuration, _cstruct B2configuration, _cstruct B3configuration)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send CONNECT_RESP to CAPI  <a href="#d11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d12">connect_active_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword plci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send CONNECT_ACTIVE_RESP to CAPI  <a href="#d12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d13">connect_b3_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword ncci, _cword reject, _cstruct ncpi)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send CONNECT_B3_RESP to CAPI  <a href="#d13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d14">connect_b3_active_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword ncci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send CONNECT_B3_ACTIVE_RESP to CAPI  <a href="#d14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d15">data_b3_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword ncci, _cword dataHandle)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DATA_B3_RESP to CAPI  <a href="#d15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d16">facility_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword address, _cword facilitySelector, _cstruct facilityResponseParameter=NULL)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send FACILITY_RESP to CAPI  <a href="#d16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d17">info_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword address)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send INFO_RESP to CAPI  <a href="#d17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d18">disconnect_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword plci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DISCONNECT_RESP to CAPI  <a href="#d18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d19">disconnect_b3_resp</a> (_cword <a class="el" href="classCapi.html#r8">messageNumber</a>, _cdword ncci)  throw (CapiMsgError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send DISCONNECT_B3_RESP to CAPI  <a href="#d19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d20">readMessage</a> (void)  throw (CapiMsgError, CapiError, CapiWrongState, CapiExternalError)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read Message from CAPI and process it accordingly  <a href="#d20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d21">getApplId</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">getApplId returns the application id we got from CAPI  <a href="#d21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d22">run</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thread body - endless loop, will be blocked until message is received and then call <a class="el" href="classCapi.html#d20">readMessage()</a>.  <a href="#d22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#d23">prefix</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a prefix containing this pointer and date for log messages  <a href="#d23"></a><br></td></tr>
<tr><td colspan=2><br><h2>Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#h0">describeParamInfo</a> (unsigned int info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">textual description for Parameter Info  <a href="#h0"></a><br></td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r0">numControllers</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of installed controllers, set by <a class="el" href="classCapi.html#d1">readProfile()</a> method  <a href="#r0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r1">capiManufacturer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">manufacturer of the general CAPI driver  <a href="#r1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r2">capiVersion</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">version of the general CAPI driver  <a href="#r2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r3">DDILength</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">length of extension number (DDI) when ISDN PtP mode is used (0=PtMP)  <a href="#r3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r4">DDIBaseLength</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">base number length for the ISDN interface if PtP mode is used  <a href="#r4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>vector&lt; string &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r5">DDIStopNumbers</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">list of DDIs shorten than DDILength we'll accept  <a href="#r5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>vector&lt; <a class="el" href="classCapi_1_1CardProfileT.html">CardProfileT</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r6">profiles</a></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>map&lt; _cdword, <a class="el" href="classConnection.html">Connection</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r7">connections</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">objects, referenced by PLCI (or 0xFACE &amp; messageNum when <a class="el" href="classConnection.html">Connection</a> is in plci_state <a class="el" href="classConnection.html#x17x1">Connection::P01</a>  <a href="#r7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>_cword&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r8">messageNumber</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sequencial message number, must be increased for every sent message  <a href="#r8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>_cdword&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r9">usedInfoMask</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">InfoMask currently used (in last listen_req).  <a href="#r9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>_cdword&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r10">usedCIPMask</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CIPMask currently used (in last listen_req).  <a href="#r10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r11">applId</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">containing the ID we got from CAPI after successful registration  <a href="#r11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classApplicationInterface.html">ApplicationInterface</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r12">application</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the application object implementing <a class="el" href="classApplicationInterface.html">ApplicationInterface</a>  <a href="#r12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>ostream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r13">debug</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stream to write debug info to  <a href="#r13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>ostream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r14">error</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stream for error messages  <a href="#r14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r15">debug_level</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">debug level  <a href="#r15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>pthread_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#r16">thread_handle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">handle for the created message reading thread  <a href="#r16"></a><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classCapi.html#n0">capi_exec_handler</a> (void *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thread exec handler for Capi class.  <a href="#n0"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Main Class for communication with CAPI. 
<p>
This class is the main encapsulation to use the CAPI ISDN interface.<p>
There are only a small subset of methods which are of use for the application layer. These are for general purposes like enabling listening to calls and getting some nice formatted info strings.<p>
The biggest amount are shadow methods for nearly all CAPI messages, which do the dumb stuff like increasing message numbers, testing for errors, building message structures and so on. Not each parameter of these is described in every detail here. For more details please have a look in the CAPI 2.0 specification, available from <a href="http://www.capi.org">http://www.capi.org</a><p>
There's also a big message handling routine (<a class="el" href="classCapi.html#d20">readMessage()</a>) which calls special handlers for incoming messages of the CAPI.<p>
A Capi object creates a new thread (with body <a class="el" href="classCapi.html#d22">run()</a>) which waits for incoming messages in an endless loop and hands them to <a class="el" href="classCapi.html#d20">readMessage()</a>.<p>
This class only does the general things - for handling single connections see <a class="el" href="classConnection.html">Connection</a>. <a class="el" href="classConnection.html">Connection</a> objects will be automatically created by this class for incoming connections and can be created manually to initiate an outgoing connection.<p>
The application is supposed to create one single object of this class.<p>
To communicate with the application via callback functions, the application must provide an implementation of the <a class="el" href="classApplicationInterface.html">ApplicationInterface</a>. The methods of this interface are called when some special events are received.<p>
<dl compact><dt><b>Author:</b></dt><dd>Gernot Hillier </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="Capi::Capi" ></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"> Capi::Capi           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">ostream &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>debug</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned short&nbsp;</td>
          <td class="mdname" nowrap> <em>debug_level</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>ostream &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>error</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned short&nbsp;</td>
          <td class="mdname" nowrap> <em>DDILength</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned short&nbsp;</td>
          <td class="mdname" nowrap> <em>DDIBaseLength</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>vector&lt; string &gt;&nbsp;</td>
          <td class="mdname" nowrap> <em>DDIStopNumbers</em> = <code>vector&lt;&nbsp;string&nbsp;&gt;()</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap> <em>maxLogicalConnection</em> = <code>2</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap> <em>maxBDataBlocks</em> = <code>7</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap> <em>maxBDataLen</em> = <code>2048</code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiError.html">CapiError</a>, <a class="el" href="classCapiMsgError.html">CapiMsgError</a>)</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor. Registers our App at CAPI and start the communication thread. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>debug</em>&nbsp;</td><td>reference to a ostream object where debug info should be written to </td></tr>
    <tr><td></td><td valign=top><em>debug_level</em>&nbsp;</td><td>verbosity level for debug messages </td></tr>
    <tr><td></td><td valign=top><em>error</em>&nbsp;</td><td>reference to a ostream object where errors should be written to </td></tr>
    <tr><td></td><td valign=top><em>DDILength</em>&nbsp;</td><td>if ISDN interface is in PtP mode, the length of the DDI must be set here. 0 means disabled (PtMP) </td></tr>
    <tr><td></td><td valign=top><em>DDIBaseLength</em>&nbsp;</td><td>the base number length w/o extension (and w/o 0) if DDI is used </td></tr>
    <tr><td></td><td valign=top><em>DDIStopNumbers</em>&nbsp;</td><td>list of DDIs shorter than DDILength we will accept </td></tr>
    <tr><td></td><td valign=top><em>maxLogicalConnection</em>&nbsp;</td><td>max. number of logical connections we will handle </td></tr>
    <tr><td></td><td valign=top><em>maxBDataBlocks</em>&nbsp;</td><td>max. number of unconfirmed B3-datablocks, 7 is the maximum supported by CAPI </td></tr>
    <tr><td></td><td valign=top><em>maxBDataLen</em>&nbsp;</td><td>max. B3-Datablocksize, 2048 is the maximum supported by CAPI </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiError</em>&nbsp;</td><td>Thrown if no ISDN controller is reported by CAPI </td></tr>
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown if registration at CAPI wasn't successful.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="Capi::~Capi" ></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"> Capi::~<a class="el" href="classCapi.html">Capi</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destructor. Unregister App at CAPI. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown if deregistration at CAPI failed.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d3" doxytag="Capi::alert_req" ></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"> void Capi::alert_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>plci</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Send ALERT_REQ to CAPI. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d12" doxytag="Capi::connect_active_resp" ></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"> void Capi::connect_active_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>plci</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send CONNECT_ACTIVE_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d14" doxytag="Capi::connect_b3_active_resp" ></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"> void Capi::connect_b3_active_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send CONNECT_B3_ACTIVE_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d6" doxytag="Capi::connect_b3_req" ></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"> void Capi::connect_b3_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>plci</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send CONNECT_B3_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d13" doxytag="Capi::connect_b3_resp" ></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"> void Capi::connect_b3_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>reject</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>ncpi</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send CONNECT_B3_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>reject</em>&nbsp;</td><td>tell CAPI if we want to accept (0) or reject (2) the incoming call </td></tr>
    <tr><td></td><td valign=top><em>ncpi</em>&nbsp;</td><td>protocol specific info </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d4" doxytag="Capi::connect_req" ></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"> void Capi::connect_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classConnection.html">Connection</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>Controller</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>CIPvalue</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>calledPartyNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>callingPartyNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B1protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B2protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B3protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B1configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B2configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B3configuration</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Send CONNECT_REQ to CAPI. 
<p>
To be able to see which CONNECT_CONF corresponds to this CONNECT_REQ, the <a class="el" href="classConnection.html">Connection</a> object will be saved in the connections map under a pseudo PLCI (0xFACE &amp; messageNumber). This will be corrected at the moment the CONNECT_CONF is received.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>conn</em>&nbsp;</td><td>reference to the <a class="el" href="classConnection.html">Connection</a> object which calls <a class="el" href="classCapi.html#d4">connect_req()</a> </td></tr>
    <tr><td></td><td valign=top><em>Controller</em>&nbsp;</td><td>Nr. of controller to use for connection establishment </td></tr>
    <tr><td></td><td valign=top><em>CIPvalue</em>&nbsp;</td><td>CIP (service indicator) to use for the connection </td></tr>
    <tr><td></td><td valign=top><em>calledPartyNumber</em>&nbsp;</td><td>The number of the party which is called (i.e. the destination of the call) </td></tr>
    <tr><td></td><td valign=top><em>callingPartyNumber</em>&nbsp;</td><td>The number of the party which calls (i.e. the source of the call) </td></tr>
    <tr><td></td><td valign=top><em>B1protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B1configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d11" doxytag="Capi::connect_resp" ></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"> void Capi::connect_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>plci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>reject</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B1protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B2protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B3protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B1configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B2configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B3configuration</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send CONNECT_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>reject</em>&nbsp;</td><td>tell CAPI if we want to accept (0) or reject (!=0, for details see CAPI spec) the incoming call </td></tr>
    <tr><td></td><td valign=top><em>B1protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B1configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d7" doxytag="Capi::data_b3_req" ></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"> void Capi::data_b3_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap> <em>Data</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>DataLength</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>DataHandle</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>Flags</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DATA_B3_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>Data</em>&nbsp;</td><td>pointer to transmission data </td></tr>
    <tr><td></td><td valign=top><em>DataLength</em>&nbsp;</td><td>length of transmission data </td></tr>
    <tr><td></td><td valign=top><em>DataHandle</em>&nbsp;</td><td>some word value which will be referred to in DATA_B3_CONF (to see which data packet was sent successful) </td></tr>
    <tr><td></td><td valign=top><em>Flags</em>&nbsp;</td><td>see CAPI 2.0 spec </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d15" doxytag="Capi::data_b3_resp" ></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"> void Capi::data_b3_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>dataHandle</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DATA_B3_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>dataHandle</em>&nbsp;</td><td>Data Handle given by the referred DATA_B3_IND </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="h0" doxytag="Capi::describeParamInfo" ></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"> string Capi::describeParamInfo           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>info</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [static, private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
textual description for Parameter Info 
<p>
This method returns an error string for the given info parameter. The strings were taken out of the CAPI 2.0 spec<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>info</em>&nbsp;</td><td>errorcode as given by CAPI </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>textual description of error</dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d8" doxytag="Capi::disconnect_b3_req" ></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"> void Capi::disconnect_b3_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>ncpi</em> = <code>NULL</code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DISCONNECT_B3_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>ncpi</em>&nbsp;</td><td>protocol specific info </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d19" doxytag="Capi::disconnect_b3_resp" ></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"> void Capi::disconnect_b3_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>ncci</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DISCONNECT_B3_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>ncci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d9" doxytag="Capi::disconnect_req" ></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"> void Capi::disconnect_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>plci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>Keypadfacility</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>Useruserdata</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>Facilitydataarray</em> = <code>NULL</code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DISCONNECT_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>Keypadfacility</em>&nbsp;</td><td>see CAPI spec </td></tr>
    <tr><td></td><td valign=top><em>Useruserdata</em>&nbsp;</td><td>see CAPI spec </td></tr>
    <tr><td></td><td valign=top><em>Facilitydataarray</em>&nbsp;</td><td>see CAPI spec </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d18" doxytag="Capi::disconnect_resp" ></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"> void Capi::disconnect_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>plci</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send DISCONNECT_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d10" doxytag="Capi::facility_req" ></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"> void Capi::facility_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>address</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>FacilitySelector</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>FacilityRequestParameter</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send FACILITY_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>address</em>&nbsp;</td><td>Nr. of connection (Controller/PLCI/NCCI) </td></tr>
    <tr><td></td><td valign=top><em>FacilitySelector</em>&nbsp;</td><td>see CAPI spec (1=DTMF) </td></tr>
    <tr><td></td><td valign=top><em>FacilityRequestParameter</em>&nbsp;</td><td>see CAPI spec (too long to describe it here...) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d16" doxytag="Capi::facility_resp" ></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"> void Capi::facility_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>address</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>facilitySelector</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>facilityResponseParameter</em> = <code>NULL</code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send FACILITY_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>address</em>&nbsp;</td><td>Nr. of connection (Controller/PLCI/NCCI) </td></tr>
    <tr><td></td><td valign=top><em>facilitySelector</em>&nbsp;</td><td>see CAPI spec (1=DTMF) </td></tr>
    <tr><td></td><td valign=top><em>facilityResponseParameter</em>&nbsp;</td><td>see CAPI spec </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d21" doxytag="Capi::getApplId" ></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"> unsigned short Capi::getApplId           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
getApplId returns the application id we got from CAPI 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>Application ID from CAPI</dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="Capi::getInfo" ></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"> string Capi::getInfo           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>verbose</em> = <code>false</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Static Returns some info about the installed Controllers. 
<p>
The returned string has the following format (UPPERCASE words replaced):<p>
"NUM controllers found. CAPI_MANUFACTURER, version VERSION_OF_CAPI/SUBVERSION_OF_CAPI Controller X: CONTROLLER_MANUFACTURER (NUM B channels, SERVICE1, SERVICE2, ..., driver version DRIVER_VERSION/DRIVER_SUBVERSION Controller X+1: CONTROLLER_MANUFACTURER (NUM B channels, SERVICE1, SERVICE2, ..., driver version DRIVER_VERSION/DRIVER_SUBVERSION ..."<p>
If verbose is set to false, only the first line is returned.<p>
The following services are checked currently and printed as SERVICEX if found: DTMF, SuppServ, transparent, FaxG3, FaxG3ext<p>
The method uses values stored by readProfile which must have been called before (constructor does it).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>verbose</em>&nbsp;</td><td>controls verbosity of output (see above). </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>string containing details (see above).</dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d17" doxytag="Capi::info_resp" ></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"> void Capi::info_resp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>messageNumber</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>address</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send INFO_RESP to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>messageNumber</em>&nbsp;</td><td>number of the referred INDICATION message </td></tr>
    <tr><td></td><td valign=top><em>address</em>&nbsp;</td><td>Nr. of connection (Controller/PLCI) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d2" doxytag="Capi::listen_req" ></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"> void Capi::listen_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>Controller</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>InfoMask</em> = <code>0x03FF</code>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>CIPMask</em> = <code>0x1FFF03FF</code></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Send LISTEN_REQ to CAPI. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>Controller</em>&nbsp;</td><td>Nr. of Controller </td></tr>
    <tr><td></td><td valign=top><em>InfoMask</em>&nbsp;</td><td>see CAPI 2.0 spec, ch 5.37, default = 0x03FF -&gt; all available info elements </td></tr>
    <tr><td></td><td valign=top><em>CIPMask</em>&nbsp;</td><td>see CAPI 2.0 spec, ch 5.37, default = 0x1FFF03FF -&gt; all available services </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d23" doxytag="Capi::prefix" ></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"> string Capi::prefix           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
return a prefix containing this pointer and date for log messages 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>constructed prefix as string</dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d20" doxytag="Capi::readMessage" ></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"> void Capi::readMessage           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>, <a class="el" href="classCapiError.html">CapiError</a>, <a class="el" href="classCapiWrongState.html">CapiWrongState</a>, <a class="el" href="classCapiExternalError.html">CapiExternalError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
read Message from CAPI and process it accordingly 
<p>
This method handles all incoming messages. It is called by <a class="el" href="classCapi.html#d22">run()</a> and will call special handler methods of <a class="el" href="classConnection.html">Connection</a> mainly. Prints messages for debug purposes.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>directly raised when CAPI_GET_MESSAGE or LISTEN_REQ fails, may also be raised by all called *_ind, *_conf handlers </td></tr>
    <tr><td></td><td valign=top><em>CapiError</em>&nbsp;</td><td>directly raised when general error occurs (unknown call references, unknown message, ... received) </td></tr>
    <tr><td></td><td valign=top><em>CapiWrongState</em>&nbsp;</td><td>may be raised by all called *_ind(), *_conf() handlers </td></tr>
    <tr><td></td><td valign=top><em>CapiExternalError</em>&nbsp;</td><td>may be raised by some called *_ind(), *_conf() handlers</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d1" doxytag="Capi::readProfile" ></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"> void Capi::readProfile           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get informations about CAPI driver and installed controllers. 
<p>
Fills the members profiles, capiVersion, capiManufacturer, numControllers <dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when requesting information fails</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="Capi::registerApplicationInterface" ></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"> void Capi::registerApplicationInterface           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classApplicationInterface.html">ApplicationInterface</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>application_in</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Register the instance implementing the <a class="el" href="classApplicationInterface.html">ApplicationInterface</a>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>application_in</em>&nbsp;</td><td>pointer to a class implementing (derived from) <a class="el" href="classApplicationInterface.html">ApplicationInterface</a></td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d22" doxytag="Capi::run" ></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"> void Capi::run           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Thread body - endless loop, will be blocked until message is received and then call <a class="el" href="classCapi.html#d20">readMessage()</a>. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="d5" doxytag="Capi::select_b_protocol_req" ></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"> void Capi::select_b_protocol_req           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname" nowrap> <em>plci</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B1protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B2protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cword&nbsp;</td>
          <td class="mdname" nowrap> <em>B3protocol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B1configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B2configuration</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>_cstruct&nbsp;</td>
          <td class="mdname" nowrap> <em>B3configuration</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2">  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>)<code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
send SELECT_B_PROTOCOL_REQ to CAPI 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>plci</em>&nbsp;</td><td>reference to physical connection </td></tr>
    <tr><td></td><td valign=top><em>B1protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3protocol</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B1configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B2configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
    <tr><td></td><td valign=top><em>B3configuration</em>&nbsp;</td><td>see CAPI spec for details </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown when CAPI_PUT_MESSAGE returned an error.</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="Capi::setListenFaxG3" ></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"> void Capi::setListenFaxG3           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>Controller</em> = <code>0</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>,<a class="el" href="classCapiError.html">CapiError</a>)</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell capi that we want to _additionally_ listen to Fax G3 calls. 
<p>
This method enables listening to fax calls from the analog network (coded as Bearer Capability 3.1kHz audio and from ISDN coded as fax group 3. The previously set listen mask is not cleared, so that the application can call this method after another listen request w/o loosing the other services.<p>
It will also check if this controller is able to handle this service and throw an error otherwise.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>Controller</em>&nbsp;</td><td>Nr. of Controller (0 = all available controllers) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown by listen_req, see there for details </td></tr>
    <tr><td></td><td valign=top><em>CapiError</em>&nbsp;</td><td>Thrown if the given controller can't handle fax group 3</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="Capi::setListenTelephony" ></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"> void Capi::setListenTelephony           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>Controller</em> = <code>0</code>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="classCapiMsgError.html">CapiMsgError</a>,<a class="el" href="classCapiError.html">CapiError</a>)</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell capi that we want to _additionally_ listen to Telephony calls. 
<p>
This method enables listening to speech calls from the analog network (coded as Bearer Capability 3.1kHz audio) and from ISDN (coded as Bearer Capability Speech or High Layer Compatibility telephony). The previously set listen mask is not cleared, so that the application can call this method after another listen request w/o loosing the other services.<p>
It will also check if this controller is able to handle this service and throw an error otherwise.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>Controller</em>&nbsp;</td><td>Nr. of Controller (0 = all available controllers) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>CapiMsgError</em>&nbsp;</td><td>Thrown by listen_req, see there for details </td></tr>
    <tr><td></td><td valign=top><em>CapiError</em>&nbsp;</td><td>Thrown if the given controller can't handle fax group 3</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="d0" doxytag="Capi::unregisterConnection" ></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"> void Capi::unregisterConnection           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">_cdword&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>plci</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
erase <a class="el" href="classConnection.html">Connection</a> object in connections map 
<p>
This method is used by <a class="el" href="classConnection.html#a1">Connection::~Connection()</a>    </td>
  </tr>
</table>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="n0" doxytag="Capi::capi_exec_handler" ></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"> void* capi_exec_handler           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [friend]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Thread exec handler for Capi class. 
<p>
This is a handler which will call this-&gt;<a class="el" href="classCapi.html#d22">run()</a> for the use in pthread_create().     </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="r12" doxytag="Capi::application" ></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"> <a class="el" href="classApplicationInterface.html">ApplicationInterface</a>* <a class="el" href="classCapi.html#r12">Capi::application</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
pointer to the application object implementing <a class="el" href="classApplicationInterface.html">ApplicationInterface</a> 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r11" doxytag="Capi::applId" ></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"> unsigned <a class="el" href="classCapi.html#r11">Capi::applId</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
containing the ID we got from CAPI after successful registration 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r1" doxytag="Capi::capiManufacturer" ></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"> string <a class="el" href="classCapi.html#r1">Capi::capiManufacturer</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
manufacturer of the general CAPI driver 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r2" doxytag="Capi::capiVersion" ></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"> string <a class="el" href="classCapi.html#r2">Capi::capiVersion</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
version of the general CAPI driver 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r7" doxytag="Capi::connections" ></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"> map&lt;_cdword,<a class="el" href="classConnection.html">Connection</a>*&gt; <a class="el" href="classCapi.html#r7">Capi::connections</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
objects, referenced by PLCI (or 0xFACE &amp; messageNum when <a class="el" href="classConnection.html">Connection</a> is in plci_state <a class="el" href="classConnection.html#x17x1">Connection::P01</a> 
<p>
containing pointers to the currently active <a class="el" href="classConnection.html">Connection</a>     </td>
  </tr>
</table>
<a class="anchor" name="r4" doxytag="Capi::DDIBaseLength" ></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"> unsigned short <a class="el" href="classCapi.html#r4">Capi::DDIBaseLength</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
base number length for the ISDN interface if PtP mode is used 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r3" doxytag="Capi::DDILength" ></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"> unsigned short <a class="el" href="classCapi.html#r3">Capi::DDILength</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
length of extension number (DDI) when ISDN PtP mode is used (0=PtMP) 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r5" doxytag="Capi::DDIStopNumbers" ></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"> vector&lt;string&gt; <a class="el" href="classCapi.html#r5">Capi::DDIStopNumbers</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
list of DDIs shorten than DDILength we'll accept 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r13" doxytag="Capi::debug" ></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"> ostream&amp; <a class="el" href="classCapi.html#r13">Capi::debug</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
stream to write debug info to 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r15" doxytag="Capi::debug_level" ></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"> unsigned short <a class="el" href="classCapi.html#r15">Capi::debug_level</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
debug level 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r14" doxytag="Capi::error" ></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"> ostream &amp; <a class="el" href="classCapi.html#r14">Capi::error</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
stream for error messages 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r8" doxytag="Capi::messageNumber" ></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"> _cword <a class="el" href="classCapi.html#r8">Capi::messageNumber</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
sequencial message number, must be increased for every sent message 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r0" doxytag="Capi::numControllers" ></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"> short <a class="el" href="classCapi.html#r0">Capi::numControllers</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
number of installed controllers, set by <a class="el" href="classCapi.html#d1">readProfile()</a> method 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r6" doxytag="Capi::profiles" ></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"> vector&lt;<a class="el" href="classCapi_1_1CardProfileT.html">CardProfileT</a>&gt; <a class="el" href="classCapi.html#r6">Capi::profiles</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
vector containing profiles for all found cards (ATTENTION: starts with index 0, while CAPI numbers controllers starting by 1 (sigh)     </td>
  </tr>
</table>
<a class="anchor" name="r16" doxytag="Capi::thread_handle" ></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"> pthread_t <a class="el" href="classCapi.html#r16">Capi::thread_handle</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
handle for the created message reading thread 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r10" doxytag="Capi::usedCIPMask" ></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"> _cdword <a class="el" href="classCapi.html#r10">Capi::usedCIPMask</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
CIPMask currently used (in last listen_req). 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="r9" doxytag="Capi::usedInfoMask" ></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"> _cdword <a class="el" href="classCapi.html#r9">Capi::usedInfoMask</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
InfoMask currently used (in last listen_req). 
<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="capi_8h-source.html">capi.h</a><li>capi.cpp</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>