<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: AnalogLineGroup Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> </div> </div> <div class="contents"> <h1>AnalogLineGroup Class Reference</h1><!-- doxytag: class="TelEngine::AnalogLineGroup" --><!-- doxytag: inherits="TelEngine::SignallingCircuitGroup" -->A group of analog lines. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatesig_8h-source.html">yatesig.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for AnalogLineGroup:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1AnalogLineGroup.png" usemap="#AnalogLineGroup_map" border="0" alt=""></center> <map name="AnalogLineGroup_map"> <area href="classTelEngine_1_1SignallingCircuitGroup.html" alt="SignallingCircuitGroup" shape="rect" coords="149,112,288,136"> <area href="classTelEngine_1_1SignallingComponent.html" alt="SignallingComponent" shape="rect" coords="74,56,213,80"> <area href="classTelEngine_1_1Mutex.html" alt="Mutex" shape="rect" coords="223,56,362,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,139,24"> <area href="classTelEngine_1_1DebugEnabler.html" alt="DebugEnabler" shape="rect" coords="149,0,288,24"> </map> </div> <p> <a href="classTelEngine_1_1AnalogLineGroup-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#6fbbbcec4ff0985d6411f03c2b09372a">AnalogLineGroup</a> (<a class="el" href="classTelEngine_1_1AnalogLine.html#1d1cfd8ffb84e947f82999c682b666a7">AnalogLine::Type</a> type, const char *name, bool slave=false)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#16565db5439bff9ccae173d8106509ca">AnalogLineGroup</a> (const char *name, <a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> *fxo)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#531b5095e2bcb85caef0a4ab78f8c011">~AnalogLineGroup</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1AnalogLine.html#1d1cfd8ffb84e947f82999c682b666a7">AnalogLine::Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#e89dd1254016a882baf7cfd2ff4b16c6">type</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#697141bee0a7798b161339f72359d46f">lines</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#b3b1249e25793087b1882204878b4485">fxo</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#3d1dd9d050c52b72edcdf8476455f515">slave</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#18e4b5ab0f760b11b333225f465d4f5c">appendLine</a> (<a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> *line, bool destructOnFail=true)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#aaae69f669ed3737062e105832c665ac">removeLine</a> (unsigned int cic)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#5b8489f123718e745015a6cd6373fbfc">removeLine</a> (<a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> *line)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#37e049ad1b034ec1c870a17b8f21e81a">findLine</a> (unsigned int cic)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#2d716499ef1693fe14a9a9f21ea02b39">findLine</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &address)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1AnalogLineEvent.html">AnalogLineEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#a2ab1bdcf9d027784c32f090561f972b">getEvent</a> (const <a class="el" href="classTelEngine_1_1Time.html">Time</a> &when)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#757ca89703a72ac56715edb379958716">destruct</a> ()</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html#82659512a9dbd62b0870fa9510ef840a">m_lines</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A group of analog lines. <p> This class is an analog line container. It may contain another group when used to monitor analog lines <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="6fbbbcec4ff0985d6411f03c2b09372a"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::AnalogLineGroup" ref="6fbbbcec4ff0985d6411f03c2b09372a" args="(AnalogLine::Type type, const char *name, bool slave=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1AnalogLine.html#1d1cfd8ffb84e947f82999c682b666a7">AnalogLine::Type</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>slave</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. Construct an analog line group owning single lines <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Line type as enumeration </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of this component </td></tr> <tr><td valign="top"></td><td valign="top"><em>slave</em> </td><td>True if this is an FXO group owned by an FXS one. Ignored if type is not FXO </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="16565db5439bff9ccae173d8106509ca"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::AnalogLineGroup" ref="16565db5439bff9ccae173d8106509ca" args="(const char *name, AnalogLineGroup *fxo)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> * </td> <td class="paramname"> <em>fxo</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. Construct an FXS analog line group owning another group of FXO analog lines. The fxo group is owned by this component and will be destructed if invalid (not FXO type) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of this component </td></tr> <tr><td valign="top"></td><td valign="top"><em>fxo</em> </td><td>The FXO group </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="531b5095e2bcb85caef0a4ab78f8c011"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::~AnalogLineGroup" ref="531b5095e2bcb85caef0a4ab78f8c011" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="18e4b5ab0f760b11b333225f465d4f5c"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::appendLine" ref="18e4b5ab0f760b11b333225f465d4f5c" args="(AnalogLine *line, bool destructOnFail=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool appendLine </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> * </td> <td class="paramname"> <em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>destructOnFail</em> = <code>true</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Append a line to this group. Line must have the same type as this group and must be owned by this group <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>line</em> </td><td>The line to append </td></tr> <tr><td valign="top"></td><td valign="top"><em>destructOnFail</em> </td><td>Destroy line if failed to append. Defaults to true </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success </dd></dl> </div> </div><p> <a class="anchor" name="757ca89703a72ac56715edb379958716"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::destruct" ref="757ca89703a72ac56715edb379958716" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void destruct </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Remove all lines. Release object <p>Reimplemented from <a class="el" href="classTelEngine_1_1SignallingCircuitGroup.html#757ca89703a72ac56715edb379958716">SignallingCircuitGroup</a>.</p> </div> </div><p> <a class="anchor" name="2d716499ef1693fe14a9a9f21ea02b39"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::findLine" ref="2d716499ef1693fe14a9a9f21ea02b39" args="(const String &address)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a>* findLine </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>address</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Find a line by its address <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>The address of the line </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1AnalogLine.html" title="An analog line.">AnalogLine</a> pointer or 0 if not found </dd></dl> </div> </div><p> <a class="anchor" name="37e049ad1b034ec1c870a17b8f21e81a"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::findLine" ref="37e049ad1b034ec1c870a17b8f21e81a" args="(unsigned int cic)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a>* findLine </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>cic</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Find a line by its circuit <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cic</em> </td><td>The signalling circuit's code used by the line </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1AnalogLine.html" title="An analog line.">AnalogLine</a> pointer or 0 if not found </dd></dl> </div> </div><p> <a class="anchor" name="b3b1249e25793087b1882204878b4485"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::fxo" ref="b3b1249e25793087b1882204878b4485" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLineGroup.html">AnalogLineGroup</a>* fxo </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the group holding the FXO lines if present <dl class="return" compact><dt><b>Returns:</b></dt><dd>The group holding the FXO lines or 0 </dd></dl> </div> </div><p> <a class="anchor" name="a2ab1bdcf9d027784c32f090561f972b"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::getEvent" ref="a2ab1bdcf9d027784c32f090561f972b" args="(const Time &when)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classTelEngine_1_1AnalogLineEvent.html">AnalogLineEvent</a>* getEvent </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1Time.html">Time</a> & </td> <td class="paramname"> <em>when</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Iterate through the line list to get an event <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>when</em> </td><td>The current time </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1AnalogLineEvent.html" title="A single analog line related event.">AnalogLineEvent</a> pointer or 0 if no events </dd></dl> </div> </div><p> <a class="anchor" name="697141bee0a7798b161339f72359d46f"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::lines" ref="697141bee0a7798b161339f72359d46f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a>& lines </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the analog lines belonging to this group <dl class="return" compact><dt><b>Returns:</b></dt><dd>The group's lines list </dd></dl> </div> </div><p> <a class="anchor" name="5b8489f123718e745015a6cd6373fbfc"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::removeLine" ref="5b8489f123718e745015a6cd6373fbfc" args="(AnalogLine *line)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void removeLine </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1AnalogLine.html">AnalogLine</a> * </td> <td class="paramname"> <em>line</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Remove a line from the list without destroying it <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>line</em> </td><td>The line to be removed </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="aaae69f669ed3737062e105832c665ac"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::removeLine" ref="aaae69f669ed3737062e105832c665ac" args="(unsigned int cic)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void removeLine </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>cic</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Remove a line from the list and destruct it <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cic</em> </td><td>The signalling circuit's code used by the line </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="3d1dd9d050c52b72edcdf8476455f515"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::slave" ref="3d1dd9d050c52b72edcdf8476455f515" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool slave </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if this is an FXO group owned by an FXS one <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this is an FXO group owned by an FXS one </dd></dl> </div> </div><p> <a class="anchor" name="e89dd1254016a882baf7cfd2ff4b16c6"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::type" ref="e89dd1254016a882baf7cfd2ff4b16c6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1AnalogLine.html#1d1cfd8ffb84e947f82999c682b666a7">AnalogLine::Type</a> type </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get this group's type <dl class="return" compact><dt><b>Returns:</b></dt><dd>The group's type </dd></dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="82659512a9dbd62b0870fa9510ef840a"></a><!-- doxytag: member="TelEngine::AnalogLineGroup::m_lines" ref="82659512a9dbd62b0870fa9510ef840a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> <a class="el" href="classTelEngine_1_1AnalogLineGroup.html#82659512a9dbd62b0870fa9510ef840a">m_lines</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> The analog lines belonging to this group </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatesig_8h-source.html">yatesig.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:14 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>