<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Jack2: Jack::JackConnectionManager Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Jack2 <span id="projectnumber">1.9.7</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</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 id="navrow2" class="tabs2"> <ul class="tablist"> <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 id="nav-path" class="navpath"> <ul> <li class="navelem"><b>Jack</b> </li> <li class="navelem"><a class="el" href="classJack_1_1JackConnectionManager.html">JackConnectionManager</a> </li> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>Jack::JackConnectionManager Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="Jack::JackConnectionManager" --> <p>Connection manager. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="JackConnectionManager_8h_source.html">JackConnectionManager.h</a>></code></p> <p><a href="classJack_1_1JackConnectionManager-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af390894a77d47b1dac8ac3d36727511d"></a><!-- doxytag: member="Jack::JackConnectionManager::Connect" ref="af390894a77d47b1dac8ac3d36727511d" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#af390894a77d47b1dac8ac3d36727511d">Connect</a> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Connect port_src to port_dst. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add9a78ee4e29647c6b916881af09edec"></a><!-- doxytag: member="Jack::JackConnectionManager::Disconnect" ref="add9a78ee4e29647c6b916881af09edec" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#add9a78ee4e29647c6b916881af09edec">Disconnect</a> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Disconnect port_src from port_dst. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe7227b869826572fca98b369b8ce4ef"></a><!-- doxytag: member="Jack::JackConnectionManager::IsConnected" ref="abe7227b869826572fca98b369b8ce4ef" args="(jack_port_id_t port_src, jack_port_id_t port_dst) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#abe7227b869826572fca98b369b8ce4ef">IsConnected</a> (jack_port_id_t port_src, jack_port_id_t port_dst) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check if port_src and port_dst are connected. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19c57945de840cae7926bde0c8f485ae"></a><!-- doxytag: member="Jack::JackConnectionManager::Connections" ref="a19c57945de840cae7926bde0c8f485ae" args="(jack_port_id_t port_index) const " --> jack_int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a19c57945de840cae7926bde0c8f485ae">Connections</a> (jack_port_id_t port_index) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the connection number of a given port. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75249571890d8dcfd6c909949bb80014"></a><!-- doxytag: member="Jack::JackConnectionManager::GetPort" ref="a75249571890d8dcfd6c909949bb80014" args="(jack_port_id_t port_index, int connection) const " --> jack_port_id_t </td><td class="memItemRight" valign="bottom"><b>GetPort</b> (jack_port_id_t port_index, int connection) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a989437c026fbc70789a3558d7c4ab466"></a><!-- doxytag: member="Jack::JackConnectionManager::GetConnections" ref="a989437c026fbc70789a3558d7c4ab466" args="(jack_port_id_t port_index) const " --> const jack_int_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a989437c026fbc70789a3558d7c4ab466">GetConnections</a> (jack_port_id_t port_index) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the connection port array. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1166fc3bb356f23adf0cbb362d63b05c"></a><!-- doxytag: member="Jack::JackConnectionManager::IncFeedbackConnection" ref="a1166fc3bb356f23adf0cbb362d63b05c" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> bool </td><td class="memItemRight" valign="bottom"><b>IncFeedbackConnection</b> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ab34f1f67f7e83cc05e605435acee1b"></a><!-- doxytag: member="Jack::JackConnectionManager::DecFeedbackConnection" ref="a5ab34f1f67f7e83cc05e605435acee1b" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> bool </td><td class="memItemRight" valign="bottom"><b>DecFeedbackConnection</b> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f727a1a1aefe6c78abcbfe9b5ff07d4"></a><!-- doxytag: member="Jack::JackConnectionManager::IsFeedbackConnection" ref="a6f727a1a1aefe6c78abcbfe9b5ff07d4" args="(jack_port_id_t port_src, jack_port_id_t port_dst) const " --> bool </td><td class="memItemRight" valign="bottom"><b>IsFeedbackConnection</b> (jack_port_id_t port_src, jack_port_id_t port_dst) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad89c15bab01229d5c35448808bacc44b"></a><!-- doxytag: member="Jack::JackConnectionManager::IsLoopPath" ref="ad89c15bab01229d5c35448808bacc44b" args="(jack_port_id_t port_src, jack_port_id_t port_dst) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#ad89c15bab01229d5c35448808bacc44b">IsLoopPath</a> (jack_port_id_t port_src, jack_port_id_t port_dst) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test is a connection path exists between port_src and port_dst. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a250ea9a0a8273cdb24482e444ccbc311"></a><!-- doxytag: member="Jack::JackConnectionManager::IncDirectConnection" ref="a250ea9a0a8273cdb24482e444ccbc311" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a250ea9a0a8273cdb24482e444ccbc311">IncDirectConnection</a> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Increment the number of ports between 2 clients, if the 2 clients become connected, then the Activation counter is updated. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a593a0448fa5b534f844b4f5697d6e7ea"></a><!-- doxytag: member="Jack::JackConnectionManager::DecDirectConnection" ref="a593a0448fa5b534f844b4f5697d6e7ea" args="(jack_port_id_t port_src, jack_port_id_t port_dst)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a593a0448fa5b534f844b4f5697d6e7ea">DecDirectConnection</a> (jack_port_id_t port_src, jack_port_id_t port_dst)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Decrement the number of ports between 2 clients, if the 2 clients become disconnected, then the Activation counter is updated. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ec552b4df5fbccfd416fa2cffd954e1"></a><!-- doxytag: member="Jack::JackConnectionManager::AddInputPort" ref="a1ec552b4df5fbccfd416fa2cffd954e1" args="(int refnum, jack_port_id_t port_index)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a1ec552b4df5fbccfd416fa2cffd954e1">AddInputPort</a> (int refnum, jack_port_id_t port_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add an input port to a client. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6307b32c7e25e6b7637038b45c5e7f2"></a><!-- doxytag: member="Jack::JackConnectionManager::AddOutputPort" ref="aa6307b32c7e25e6b7637038b45c5e7f2" args="(int refnum, jack_port_id_t port_index)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#aa6307b32c7e25e6b7637038b45c5e7f2">AddOutputPort</a> (int refnum, jack_port_id_t port_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add an output port to a client. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add0ea88a37059e65c5d4ec69c3ebc732"></a><!-- doxytag: member="Jack::JackConnectionManager::RemoveInputPort" ref="add0ea88a37059e65c5d4ec69c3ebc732" args="(int refnum, jack_port_id_t port_index)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#add0ea88a37059e65c5d4ec69c3ebc732">RemoveInputPort</a> (int refnum, jack_port_id_t port_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove an input port from a client. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8df903f93795b4985e3abf246343103"></a><!-- doxytag: member="Jack::JackConnectionManager::RemoveOutputPort" ref="aa8df903f93795b4985e3abf246343103" args="(int refnum, jack_port_id_t port_index)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#aa8df903f93795b4985e3abf246343103">RemoveOutputPort</a> (int refnum, jack_port_id_t port_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove an output port from a client. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1c84d5b186504831e211851fdfb1af6"></a><!-- doxytag: member="Jack::JackConnectionManager::GetInputPorts" ref="ab1c84d5b186504831e211851fdfb1af6" args="(int refnum)" --> const jack_int_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#ab1c84d5b186504831e211851fdfb1af6">GetInputPorts</a> (int refnum)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the input port array of a given refnum. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12ec4c3f196b583ed5aa2739a495fb8b"></a><!-- doxytag: member="Jack::JackConnectionManager::GetOutputPorts" ref="a12ec4c3f196b583ed5aa2739a495fb8b" args="(int refnum)" --> const jack_int_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a12ec4c3f196b583ed5aa2739a495fb8b">GetOutputPorts</a> (int refnum)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the output port array of a given refnum. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72929f4518f627dd3822bbfd10428006"></a><!-- doxytag: member="Jack::JackConnectionManager::InitRefNum" ref="a72929f4518f627dd3822bbfd10428006" args="(int refnum)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a72929f4518f627dd3822bbfd10428006">InitRefNum</a> (int refnum)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Init the refnum. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63344aa7b8f849f7c458afc3e5147129"></a><!-- doxytag: member="Jack::JackConnectionManager::GetInputRefNum" ref="a63344aa7b8f849f7c458afc3e5147129" args="(jack_port_id_t port_index) const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a63344aa7b8f849f7c458afc3e5147129">GetInputRefNum</a> (jack_port_id_t port_index) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the client refnum of a given input port. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72025b815c23636093d4e1e3cf4a9024"></a><!-- doxytag: member="Jack::JackConnectionManager::GetOutputRefNum" ref="a72025b815c23636093d4e1e3cf4a9024" args="(jack_port_id_t port_index) const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a72025b815c23636093d4e1e3cf4a9024">GetOutputRefNum</a> (jack_port_id_t port_index) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the client refnum of a given ouput port. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f525edd82024bc060e3e58e2292d371"></a><!-- doxytag: member="Jack::JackConnectionManager::IsDirectConnection" ref="a8f525edd82024bc060e3e58e2292d371" args="(int ref1, int ref2) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a8f525edd82024bc060e3e58e2292d371">IsDirectConnection</a> (int ref1, int ref2) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the connections state between 2 refnum. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a588c86811aeee712e830d5a58c21d4f1"></a><!-- doxytag: member="Jack::JackConnectionManager::DirectConnect" ref="a588c86811aeee712e830d5a58c21d4f1" args="(int ref1, int ref2)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a588c86811aeee712e830d5a58c21d4f1">DirectConnect</a> (int ref1, int ref2)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Directly connect 2 reference numbers. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11feb9d453c4aefff1e217e711aa302c"></a><!-- doxytag: member="Jack::JackConnectionManager::DirectDisconnect" ref="a11feb9d453c4aefff1e217e711aa302c" args="(int ref1, int ref2)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a11feb9d453c4aefff1e217e711aa302c">DirectDisconnect</a> (int ref1, int ref2)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Directly disconnect 2 reference numbers. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abff7bf245f95a369c8ecf05f9807dc65"></a><!-- doxytag: member="Jack::JackConnectionManager::GetActivation" ref="abff7bf245f95a369c8ecf05f9807dc65" args="(int refnum) const " --> int </td><td class="memItemRight" valign="bottom"><b>GetActivation</b> (int refnum) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b21572138ef02bb3d91f144e84bb38b"></a><!-- doxytag: member="Jack::JackConnectionManager::ResetGraph" ref="a4b21572138ef02bb3d91f144e84bb38b" args="(JackClientTiming *timing)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#a4b21572138ef02bb3d91f144e84bb38b">ResetGraph</a> (<a class="el" href="structJack_1_1JackClientTiming.html">JackClientTiming</a> *timing)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reset all clients activation. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac009c72e0a701dc5d023ac1a066072d1"></a><!-- doxytag: member="Jack::JackConnectionManager::ResumeRefNum" ref="ac009c72e0a701dc5d023ac1a066072d1" args="(JackClientControl *control, JackSynchro *table, JackClientTiming *timing)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#ac009c72e0a701dc5d023ac1a066072d1">ResumeRefNum</a> (<a class="el" href="structJack_1_1JackClientControl.html">JackClientControl</a> *control, <a class="el" href="classJack_1_1JackMachSemaphore.html">JackSynchro</a> *table, <a class="el" href="structJack_1_1JackClientTiming.html">JackClientTiming</a> *timing)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Signal clients connected to the given client. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab773bd4394e674f31f9531e9b13ee70a"></a><!-- doxytag: member="Jack::JackConnectionManager::SuspendRefNum" ref="ab773bd4394e674f31f9531e9b13ee70a" args="(JackClientControl *control, JackSynchro *table, JackClientTiming *timing, long time_out_usec)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classJack_1_1JackConnectionManager.html#ab773bd4394e674f31f9531e9b13ee70a">SuspendRefNum</a> (<a class="el" href="structJack_1_1JackClientControl.html">JackClientControl</a> *control, <a class="el" href="classJack_1_1JackMachSemaphore.html">JackSynchro</a> *table, <a class="el" href="structJack_1_1JackClientTiming.html">JackClientTiming</a> *timing, long time_out_usec)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Wait on the input synchro. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6bc9d3971164fc5984cd978cfae9d44"></a><!-- doxytag: member="Jack::JackConnectionManager::TopologicalSort" ref="ab6bc9d3971164fc5984cd978cfae9d44" args="(std::vector< jack_int_t > &sorted)" --> void </td><td class="memItemRight" valign="bottom"><b>TopologicalSort</b> (std::vector< jack_int_t > &sorted)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Connection manager. </p> <ul> <li> The <b>fConnection</b> array contains the list (array line) of connected ports for a given port. </li> <li> The <b>fInputPort</b> array contains the list (array line) of input connected ports for a given client. </li> <li> The <b>fOutputPort</b> array contains the list (array line) of ouput connected ports for a given client. </li> <li> The <b>fConnectionRef</b> array contains the number of ports connected between two clients. </li> <li> The <b>fInputCounter</b> array contains the number of input clients connected to a given for activation purpose. </li> </ul> <p>Definition at line <a class="el" href="JackConnectionManager_8h_source.html#l00405">405</a> of file <a class="el" href="JackConnectionManager_8h_source.html">JackConnectionManager.h</a>.</p> </div><hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="JackConnectionManager_8h_source.html">JackConnectionManager.h</a></li> <li><a class="el" href="JackConnectionManager_8cpp_source.html">JackConnectionManager.cpp</a></li> </ul> </div> <hr size="1"><address style="text-align: right;"><small> Generated for Jack2 by <a href="http://www.doxygen.org/ index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.3</small></address> </body> </html>