Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 00862db86d46065a3a8f965b33c95850 > files > 26

echolib-devel-0.13.1-5.fc14.i686.rpm

<!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>EchoLib: EchoLink::Qso 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.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceEchoLink.html">EchoLink</a>::<a class="el" href="classEchoLink_1_1Qso.html">Qso</a>
  </div>
</div>
<div class="contents">
<h1>EchoLink::Qso Class Reference</h1><!-- doxytag: class="EchoLink::Qso" -->
<p>A class for creating an <a class="el" href="namespaceEchoLink.html" title="Namespace to encapsulate EchoLink communication classes.">EchoLink</a> connection.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>&gt;</code></p>

<p><a href="classEchoLink_1_1Qso-members.html">List of all members.</a></p>
<h2>Classes</h2>
<ul>
<li>class <a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">GsmVoicePacket</a>
</ul>
<h2>Public Types</h2>
<ul>
<li>enum <a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">State</a> { <a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2a2b2bb73fb446db8348c4fa664a567706">STATE_DISCONNECTED</a>, 
<a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2ace37dbb81de4e77abd6b766cd87660d0">STATE_CONNECTING</a>, 
<a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2a3644e0a33d6e3e5ea0a1c3d76c5a2132">STATE_BYE_RECEIVED</a>, 
<a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2ada85947853d658b985a274d4bcee8cf2">STATE_CONNECTED</a>
 }
<dl class="el"><dd class="mdescRight"><p>The type of the connection state. </p>
 <a href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">More...</a><br/></dl></ul>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classEchoLink_1_1Qso.html#ad1d126b749a731a2a27788e912ea6320">Qso</a> (const Async::IpAddress &amp;ip, const std::string &amp;callsign=&quot;&quot;, const std::string &amp;name=&quot;&quot;, const std::string &amp;info=&quot;&quot;)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#ad1d126b749a731a2a27788e912ea6320"></a><br/></dl><li><a class="el" href="classEchoLink_1_1Qso.html#a686b63d867729819b4edade99c1afc95">~Qso</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a686b63d867729819b4edade99c1afc95"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#ad2973518786fa3b0dc1ac27c02f768dc">initOk</a> (void)
<dl class="el"><dd class="mdescRight">Check that the initialization went ok.  <a href="#ad2973518786fa3b0dc1ac27c02f768dc"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#ad863b45beee7971efce2891e88299a73">setLocalCallsign</a> (const std::string &amp;callsign)
<dl class="el"><dd class="mdescRight">Set the local callsign.  <a href="#ad863b45beee7971efce2891e88299a73"></a><br/></dl><li>const std::string &amp; <a class="el" href="classEchoLink_1_1Qso.html#a1dc54e8cb88776397f86f23648585166">localCallsign</a> (void) const 
<dl class="el"><dd class="mdescRight">Retrieve the local callsign.  <a href="#a1dc54e8cb88776397f86f23648585166"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#ad0965204ebdfe109f3ad90ec6c36537c">setLocalName</a> (const std::string &amp;name)
<dl class="el"><dd class="mdescRight">Set the local name (name of station operator).  <a href="#ad0965204ebdfe109f3ad90ec6c36537c"></a><br/></dl><li>const std::string &amp; <a class="el" href="classEchoLink_1_1Qso.html#ac3b9bbd2e3000a87cbdc69a967d2fe50">localName</a> (void) const 
<dl class="el"><dd class="mdescRight">Retrieve the local name.  <a href="#ac3b9bbd2e3000a87cbdc69a967d2fe50"></a><br/></dl><li>void <a class="el" href="classEchoLink_1_1Qso.html#a83c45a48c6eb5a1a86fd08a272d12034">setLocalInfo</a> (const std::string &amp;info)
<dl class="el"><dd class="mdescRight">Set the local info.  <a href="#a83c45a48c6eb5a1a86fd08a272d12034"></a><br/></dl><li>const std::string &amp; <a class="el" href="classEchoLink_1_1Qso.html#a1bad13b2b789d07949ef47fb1c818b10">localInfo</a> (void) const 
<dl class="el"><dd class="mdescRight">Retrieve the local station info.  <a href="#a1bad13b2b789d07949ef47fb1c818b10"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#af8a6ac8d0ffed85e39c10018a937db1a">connect</a> (void)
<dl class="el"><dd class="mdescRight">Initiate a connection to the remote station.  <a href="#af8a6ac8d0ffed85e39c10018a937db1a"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a1aad7dada5631dc8cd98ed6d88b62769">accept</a> (void)
<dl class="el"><dd class="mdescRight">Accept an incoming connection.  <a href="#a1aad7dada5631dc8cd98ed6d88b62769"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a327f18e881b2266e378bd479d15efd58">disconnect</a> (void)
<dl class="el"><dd class="mdescRight">Initiate a disconnection from the remote station.  <a href="#a327f18e881b2266e378bd479d15efd58"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#ac8b030640008b4d9eba05dfc70cef15e">sendInfoData</a> (const std::string &amp;info=&quot;&quot;)
<dl class="el"><dd class="mdescRight">Send info data to the remote station.  <a href="#ac8b030640008b4d9eba05dfc70cef15e"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a41a93e17222e9cb5f00132296707ff60">sendChatData</a> (const std::string &amp;msg)
<dl class="el"><dd class="mdescRight">Send chat data to the remote station.  <a href="#a41a93e17222e9cb5f00132296707ff60"></a><br/></dl><li>const Async::IpAddress &amp; <a class="el" href="classEchoLink_1_1Qso.html#a330a3747f8b46dcc86e155d312520be4">remoteIp</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the IP address of the remote station.  <a href="#a330a3747f8b46dcc86e155d312520be4"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a1a31a877c33a34c5eddf534c0cac43cb">sendAudioRaw</a> (<a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">GsmVoicePacket</a> *packet)
<dl class="el"><dd class="mdescRight">Send a raw GSM audio packet to the remote station.  <a href="#a1a31a877c33a34c5eddf534c0cac43cb"></a><br/></dl><li>void <a class="el" href="classEchoLink_1_1Qso.html#acbf28297e322425b39e71c8d5902afe1">setRemoteName</a> (const std::string &amp;name)
<dl class="el"><dd class="mdescRight">Set the name of the remote station.  <a href="#acbf28297e322425b39e71c8d5902afe1"></a><br/></dl><li>const std::string &amp; <a class="el" href="classEchoLink_1_1Qso.html#a7ee6033cb5c05107feaa14d607ec1018">remoteName</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the remote name.  <a href="#a7ee6033cb5c05107feaa14d607ec1018"></a><br/></dl><li>void <a class="el" href="classEchoLink_1_1Qso.html#aeb0f5c52e05895a3f99f555106365745">setRemoteCallsign</a> (const std::string &amp;call)
<dl class="el"><dd class="mdescRight">Set the callsign of the remote station.  <a href="#aeb0f5c52e05895a3f99f555106365745"></a><br/></dl><li>const std::string &amp; <a class="el" href="classEchoLink_1_1Qso.html#a2cc09ae45adeaa9d3bca8fb4193e1156">remoteCallsign</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the remote callsign.  <a href="#a2cc09ae45adeaa9d3bca8fb4193e1156"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a86783e5d9d401fccd6cd6b68a52ab341">isRemoteInitiated</a> (void) const 
<dl class="el"><dd class="mdescRight">Find out if the connection is remotely initiated or locally initiated.  <a href="#a86783e5d9d401fccd6cd6b68a52ab341"></a><br/></dl><li>bool <a class="el" href="classEchoLink_1_1Qso.html#a9045b66b82d573e8ab86a604ba802e23">receivingAudio</a> (void) const 
<dl class="el"><dd class="mdescRight">Find out if there is audio coming in on this connection.  <a href="#a9045b66b82d573e8ab86a604ba802e23"></a><br/></dl><li><a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">State</a> <a class="el" href="classEchoLink_1_1Qso.html#af5dda85e8e9218c3466753898ed2278f">currentState</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the current state of the connection.  <a href="#af5dda85e8e9218c3466753898ed2278f"></a><br/></dl><li>virtual int <a class="el" href="classEchoLink_1_1Qso.html#a92c4bc2191f2f644cae82a290feb511d">writeSamples</a> (const float *samples, int count)
<dl class="el"><dd class="mdescRight">Write samples into this audio sink.  <a href="#a92c4bc2191f2f644cae82a290feb511d"></a><br/></dl><li>virtual void <a class="el" href="classEchoLink_1_1Qso.html#aa400993b95ade83b52bc8d52c6a1d1fa">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Tell the sink to flush the previously written samples.  <a href="#aa400993b95ade83b52bc8d52c6a1d1fa"></a><br/></dl><li>virtual void <a class="el" href="classEchoLink_1_1Qso.html#a3eda10132182056a5a37a7c3a010fc0e">resumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Resume audio output to the sink.  <a href="#a3eda10132182056a5a37a7c3a010fc0e"></a><br/></dl></ul>
<h2>Public Attributes</h2>
<ul>
<li>class <a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">EchoLink::Qso::GsmVoicePacket</a> <a class="el" href="classEchoLink_1_1Qso.html#ab9d67dad41bcfa624f66cc0121e357fc">packed</a>
<li>SigC::Signal1&lt; void, const <br class="typebreak"/>
std::string &amp; &gt; <a class="el" href="classEchoLink_1_1Qso.html#ab9172127abc03b8ce862b27f4e2f68a8">infoMsgReceived</a>
<dl class="el"><dd class="mdescRight">A signal that is emitted when a station info message is received.  <a href="#ab9172127abc03b8ce862b27f4e2f68a8"></a><br/></dl><li>SigC::Signal1&lt; void, const <br class="typebreak"/>
std::string &amp; &gt; <a class="el" href="classEchoLink_1_1Qso.html#a5b689f6dd34a810590bd34c312c27246">chatMsgReceived</a>
<dl class="el"><dd class="mdescRight">A signal that is emitted when a chat message is received.  <a href="#a5b689f6dd34a810590bd34c312c27246"></a><br/></dl><li>SigC::Signal1&lt; void, <a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">State</a> &gt; <a class="el" href="classEchoLink_1_1Qso.html#a85bf86e82f6a9d5b10efbc0a1e954be5">stateChange</a>
<dl class="el"><dd class="mdescRight">A signal that is emitted when the connection state changes.  <a href="#a85bf86e82f6a9d5b10efbc0a1e954be5"></a><br/></dl><li>SigC::Signal1&lt; void, bool &gt; <a class="el" href="classEchoLink_1_1Qso.html#af38aaa8840ef44e72c1aa4930de5e545">isReceiving</a>
<dl class="el"><dd class="mdescRight">A signal that is emitted when the audio receive state changes.  <a href="#af38aaa8840ef44e72c1aa4930de5e545"></a><br/></dl><li>SigC::Signal1&lt; void, <br class="typebreak"/>
<a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">GsmVoicePacket</a> * &gt; <a class="el" href="classEchoLink_1_1Qso.html#ae5099a2be41885fcdf163b40d5ce2f2a">audioReceivedRaw</a>
<dl class="el"><dd class="mdescRight">A signal that is emitted when an audio datagram has been received.  <a href="#ae5099a2be41885fcdf163b40d5ce2f2a"></a><br/></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>virtual void <a class="el" href="classEchoLink_1_1Qso.html#afc8a0a6e5712e6e1eaae3822a5e943c3">allSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">The registered sink has flushed all samples.  <a href="#afc8a0a6e5712e6e1eaae3822a5e943c3"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A class for creating an <a class="el" href="namespaceEchoLink.html" title="Namespace to encapsulate EchoLink communication classes.">EchoLink</a> connection. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Tobias Blomberg </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>2003-03-11</dd></dl>
<p>This class is used to create a connection to another <a class="el" href="namespaceEchoLink.html" title="Namespace to encapsulate EchoLink communication classes.">EchoLink</a> node. It only handles outgoing connections. To handle incoming connections, have a look at <a class="el" href="classEchoLink_1_1Dispatcher.html" title="A class for handling incoming connections and dispatch active connections.">EchoLink::Dispatcher</a>. However, when an incoming connection has been signalled by the dispatcher, a <a class="el" href="classEchoLink_1_1Qso.html" title="A class for creating an EchoLink connection.">Qso</a> object should be created to complete the connection. This logic should be glued together in the main program.</p>
<p>For an example usage, have a look at the code below. A connection is created to ourself. When the connection has been established the information message is automatically transmitted. Upon reception of the information message a disconnect is initiated. When the link has been disconnected the application exits.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &lt;AsyncCppApplication.h&gt;</span>
<span class="preprocessor">#include &lt;<a class="code" href="EchoLinkQso_8h.html" title="Contains a class for creating an EchoLink connection.">EchoLinkQso.h</a>&gt;</span>

<span class="keyword">using namespace </span>std;
<span class="keyword">using namespace </span>Async;
<span class="keyword">using namespace </span>EchoLink;

<span class="keyword">class </span>MyClass : <span class="keyword">public</span> SigC::Object
{
  <span class="keyword">public</span>:
    MyClass(<span class="keywordtype">void</span>)
    {
      qso = <span class="keyword">new</span> <a class="code" href="classEchoLink_1_1Qso.html#ad1d126b749a731a2a27788e912ea6320" title="Constructor.">Qso</a>(IpAddress(<span class="stringliteral">&quot;127.0.0.1&quot;</span>), <span class="stringliteral">&quot;MYCALL&quot;</span>, <span class="stringliteral">&quot;MyName&quot;</span>, <span class="stringliteral">&quot;A test Qso&quot;</span>);
      <span class="keywordflow">if</span> (!qso-&gt;initOk())
      {
        <span class="keyword">delete</span> qso;
        cerr &lt;&lt; <span class="stringliteral">&quot;Creation of Qso failed\n&quot;</span>;
        Application::app().quit();
        <span class="keywordflow">return</span>;
      }
      qso-&gt;infoMsgReceived.connect(slot(*<span class="keyword">this</span>, &amp;MyClass::onInfoMsgReceived));
      qso-&gt;stateChange.connect(slot(*<span class="keyword">this</span>, &amp;MyClass::onStateChange));
      qso-&gt;connect();
    }
    
    ~MyClass(<span class="keywordtype">void</span>)
    {
      <span class="keyword">delete</span> qso;
    }
    
  <span class="keyword">private</span>:
    <a class="code" href="classEchoLink_1_1Qso.html#ad1d126b749a731a2a27788e912ea6320" title="Constructor.">Qso</a> *qso;
    
    <span class="keywordtype">void</span> onInfoMsgReceived(<span class="keyword">const</span> <span class="keywordtype">string</span>&amp; msg)
    {
      cerr &lt;&lt; <span class="stringliteral">&quot;Info message received: &quot;</span> &lt;&lt; msg &lt;&lt; endl;
      qso-&gt;disconnect();
    }
    
    <span class="keywordtype">void</span> onStateChange(<a class="code" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2" title="The type of the connection state.">Qso::State</a> state)
    {
      cerr &lt;&lt; <span class="stringliteral">&quot;State changed to &quot;</span>;
      <span class="keywordflow">switch</span> (state)
      {
        <span class="keywordflow">case</span> <a class="code" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2a2b2bb73fb446db8348c4fa664a567706" title="No connection to the remote station.">Qso::STATE_DISCONNECTED</a>:
          cerr &lt;&lt; <span class="stringliteral">&quot;DISCONNECTED&quot;</span>;
          Application::app().quit();
          <span class="keywordflow">break</span>;
        <span class="keywordflow">case</span> <a class="code" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2ace37dbb81de4e77abd6b766cd87660d0" title="Connecting to remote station (not established).">Qso::STATE_CONNECTING</a>:
          cerr &lt;&lt; <span class="stringliteral">&quot;CONNECTING&quot;</span>;
          <span class="keywordflow">break</span>;
        <span class="keywordflow">case</span> <a class="code" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2ada85947853d658b985a274d4bcee8cf2" title="Connected to remote station.">Qso::STATE_CONNECTED</a>:
          cerr &lt;&lt; <span class="stringliteral">&quot;CONNECTED&quot;</span>;
          <span class="keywordflow">break</span>;
        <span class="keywordflow">default</span>:
          <span class="keywordflow">break</span>;
      }
      cout &lt;&lt; endl;
    }
};

<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
{
  CppApplication app; <span class="comment">// or QtApplication</span>
  MyClass my_class;
  app.exec();
}
</pre></div> <dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="EchoLinkQso__demo_8cpp-example.html#_a0">EchoLinkQso_demo.cpp</a>.</p>
</dd>
</dl>
<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00145">145</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="af23753f0f8487728b975b18dc4da26b2"></a><!-- doxytag: member="EchoLink::Qso::State" ref="af23753f0f8487728b975b18dc4da26b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">EchoLink::Qso::State</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of the connection state. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af23753f0f8487728b975b18dc4da26b2a2b2bb73fb446db8348c4fa664a567706"></a><!-- doxytag: member="STATE_DISCONNECTED" ref="af23753f0f8487728b975b18dc4da26b2a2b2bb73fb446db8348c4fa664a567706" args="" -->STATE_DISCONNECTED</em>&nbsp;</td><td>
<p>No connection to the remote station. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af23753f0f8487728b975b18dc4da26b2ace37dbb81de4e77abd6b766cd87660d0"></a><!-- doxytag: member="STATE_CONNECTING" ref="af23753f0f8487728b975b18dc4da26b2ace37dbb81de4e77abd6b766cd87660d0" args="" -->STATE_CONNECTING</em>&nbsp;</td><td>
<p>Connecting to remote station (not established). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af23753f0f8487728b975b18dc4da26b2a3644e0a33d6e3e5ea0a1c3d76c5a2132"></a><!-- doxytag: member="STATE_BYE_RECEIVED" ref="af23753f0f8487728b975b18dc4da26b2a3644e0a33d6e3e5ea0a1c3d76c5a2132" args="" -->STATE_BYE_RECEIVED</em>&nbsp;</td><td>
<p>Received a disconnect request from remote station. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af23753f0f8487728b975b18dc4da26b2ada85947853d658b985a274d4bcee8cf2"></a><!-- doxytag: member="STATE_CONNECTED" ref="af23753f0f8487728b975b18dc4da26b2ada85947853d658b985a274d4bcee8cf2" args="" -->STATE_CONNECTED</em>&nbsp;</td><td>
<p>Connected to remote station. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00163">163</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad1d126b749a731a2a27788e912ea6320"></a><!-- doxytag: member="EchoLink::Qso::Qso" ref="ad1d126b749a731a2a27788e912ea6320" args="(const Async::IpAddress &amp;ip, const std::string &amp;callsign=&quot;&quot;, const std::string &amp;name=&quot;&quot;, const std::string &amp;info=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EchoLink::Qso::Qso </td>
          <td>(</td>
          <td class="paramtype">const Async::IpAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>ip</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>callsign</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>info</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ip</em>&nbsp;</td><td>The IP-address of the remote station </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callsign</em>&nbsp;</td><td>Callsign of local user (not remote callsign) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of local user (not remote name) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>Local information to send upon connect </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a686b63d867729819b4edade99c1afc95"></a><!-- doxytag: member="EchoLink::Qso::~Qso" ref="a686b63d867729819b4edade99c1afc95" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EchoLink::Qso::~Qso </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1aad7dada5631dc8cd98ed6d88b62769"></a><!-- doxytag: member="EchoLink::Qso::accept" ref="a1aad7dada5631dc8cd98ed6d88b62769" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::accept </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accept an incoming connection. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the connect message was sent successfully or <em>false</em> on failure</dd></dl>
<p>Use this function to accept an incoming connection. Incoming connections are signalled through the <a class="el" href="classEchoLink_1_1Dispatcher.html" title="A class for handling incoming connections and dispatch active connections.">EchoLink::Dispatcher</a>. When an incoming connection has been received, a <a class="el" href="classEchoLink_1_1Qso.html" title="A class for creating an EchoLink connection.">Qso</a> object should be created and this function should be called to accept the connection. Be sure to check that a valid callsign has connected. At least if the <a class="el" href="namespaceEchoLink.html" title="Namespace to encapsulate EchoLink communication classes.">EchoLink</a> node is connected to a radio transmitter.</p>
<p>The difference between the connect and accept functions are that the accept function goes right into the connected state. The remote station is assumed to be present. This might not be true in some strange cases. In such a strange case, the connection will timeout after a while. </p>

</div>
</div>
<a class="anchor" id="afc8a0a6e5712e6e1eaae3822a5e943c3"></a><!-- doxytag: member="EchoLink::Qso::allSamplesFlushed" ref="afc8a0a6e5712e6e1eaae3822a5e943c3" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void EchoLink::Qso::allSamplesFlushed </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The registered sink has flushed all samples. </p>
<p>This function will be called when all samples have been flushed in the registered sink. If it is not reimplemented, a handler must be set that handle the function call. This function is normally only called from a connected sink object. </p>

</div>
</div>
<a class="anchor" id="af8a6ac8d0ffed85e39c10018a937db1a"></a><!-- doxytag: member="EchoLink::Qso::connect" ref="af8a6ac8d0ffed85e39c10018a937db1a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::connect </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initiate a connection to the remote station. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the connect message was sent ok or <em>false</em> on failure</dd></dl>
<p>Use this function to connect to the remote station. The <em>StateChange</em> signal will be emitted to indicate that a connection is in progress. When the connection has been established, the <em>stateChange</em> signal will be emitted again. On failure to connect, the <em>stateChange</em> signal will be emitted to indicate that the disconnected state has been entered again. </p>

</div>
</div>
<a class="anchor" id="af5dda85e8e9218c3466753898ed2278f"></a><!-- doxytag: member="EchoLink::Qso::currentState" ref="af5dda85e8e9218c3466753898ed2278f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">State</a> EchoLink::Qso::currentState </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current state of the connection. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return the current connection state (</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2" title="The type of the connection state.">State</a>) </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00354">354</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a327f18e881b2266e378bd479d15efd58"></a><!-- doxytag: member="EchoLink::Qso::disconnect" ref="a327f18e881b2266e378bd479d15efd58" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::disconnect </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initiate a disconnection from the remote station. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the disconnection message was sent successfully or <em>false</em> on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aa400993b95ade83b52bc8d52c6a1d1fa"></a><!-- doxytag: member="EchoLink::Qso::flushSamples" ref="aa400993b95ade83b52bc8d52c6a1d1fa" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void EchoLink::Qso::flushSamples </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tell the sink to flush the previously written samples. </p>
<p>This function is used to tell the sink to flush previously written samples. When done flushing, the sink should call the sourceAllSamplesFlushed function. This function is normally only called from a connected source object. </p>

</div>
</div>
<a class="anchor" id="ad2973518786fa3b0dc1ac27c02f768dc"></a><!-- doxytag: member="EchoLink::Qso::initOk" ref="ad2973518786fa3b0dc1ac27c02f768dc" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::initOk </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check that the initialization went ok. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the initialization was ok or <em>false</em> on failure</dd></dl>
<p>This function should be called after creating a new <a class="el" href="classEchoLink_1_1Qso.html" title="A class for creating an EchoLink connection.">Qso</a> object to make sure everything went well. </p>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00194">194</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a86783e5d9d401fccd6cd6b68a52ab341"></a><!-- doxytag: member="EchoLink::Qso::isRemoteInitiated" ref="a86783e5d9d401fccd6cd6b68a52ab341" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::isRemoteInitiated </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find out if the connection is remotely initiated or locally initiated. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return <em>true</em> if the connection is remotely initiated or else <em>false</em>. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Valid when either connect or accept has been called </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00341">341</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1dc54e8cb88776397f86f23648585166"></a><!-- doxytag: member="EchoLink::Qso::localCallsign" ref="a1dc54e8cb88776397f86f23648585166" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; EchoLink::Qso::localCallsign </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the local callsign. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the local callsign </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00207">207</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1bad13b2b789d07949ef47fb1c818b10"></a><!-- doxytag: member="EchoLink::Qso::localInfo" ref="a1bad13b2b789d07949ef47fb1c818b10" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; EchoLink::Qso::localInfo </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the local station info. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the local station info </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00233">233</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3b9bbd2e3000a87cbdc69a967d2fe50"></a><!-- doxytag: member="EchoLink::Qso::localName" ref="ac3b9bbd2e3000a87cbdc69a967d2fe50" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; EchoLink::Qso::localName </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the local name. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the local name </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00220">220</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9045b66b82d573e8ab86a604ba802e23"></a><!-- doxytag: member="EchoLink::Qso::receivingAudio" ref="a9045b66b82d573e8ab86a604ba802e23" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::receivingAudio </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find out if there is audio coming in on this connection. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return <em>true</em> if audio is being received or else <em>false</em>. </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00348">348</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2cc09ae45adeaa9d3bca8fb4193e1156"></a><!-- doxytag: member="EchoLink::Qso::remoteCallsign" ref="a2cc09ae45adeaa9d3bca8fb4193e1156" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; EchoLink::Qso::remoteCallsign </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the remote callsign. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return the callsign of the remote station </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Valid when the connection has been established </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00332">332</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a330a3747f8b46dcc86e155d312520be4"></a><!-- doxytag: member="EchoLink::Qso::remoteIp" ref="a330a3747f8b46dcc86e155d312520be4" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const Async::IpAddress&amp; EchoLink::Qso::remoteIp </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the IP address of the remote station. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the IP address </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00293">293</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7ee6033cb5c05107feaa14d607ec1018"></a><!-- doxytag: member="EchoLink::Qso::remoteName" ref="a7ee6033cb5c05107feaa14d607ec1018" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; EchoLink::Qso::remoteName </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the remote name. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return the name of the remote station </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Valid when the connection has been established </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00319">319</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3eda10132182056a5a37a7c3a010fc0e"></a><!-- doxytag: member="EchoLink::Qso::resumeOutput" ref="a3eda10132182056a5a37a7c3a010fc0e" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void EchoLink::Qso::resumeOutput </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resume audio output to the sink. </p>
<p>This function will be called when the registered audio sink is ready to accept more samples. This function is normally only called from a connected sink object. </p>

</div>
</div>
<a class="anchor" id="a1a31a877c33a34c5eddf534c0cac43cb"></a><!-- doxytag: member="EchoLink::Qso::sendAudioRaw" ref="a1a31a877c33a34c5eddf534c0cac43cb" args="(GsmVoicePacket *packet)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::sendAudioRaw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">GsmVoicePacket</a> *&nbsp;</td>
          <td class="paramname"> <em>packet</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send a raw GSM audio packet to the remote station. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>The packet to send</td></tr>
  </table>
  </dd>
</dl>
<p>This function can be used to send a raw GSM packet to the remote station. Probably only useful if you received it from the audioReceivedRaw signal. </p>

</div>
</div>
<a class="anchor" id="a41a93e17222e9cb5f00132296707ff60"></a><!-- doxytag: member="EchoLink::Qso::sendChatData" ref="a41a93e17222e9cb5f00132296707ff60" args="(const std::string &amp;msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::sendChatData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send chat data to the remote station. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>The message to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or <em>false</em> on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ac8b030640008b4d9eba05dfc70cef15e"></a><!-- doxytag: member="EchoLink::Qso::sendInfoData" ref="ac8b030640008b4d9eba05dfc70cef15e" args="(const std::string &amp;info=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::sendInfoData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>info</em> = <code>&quot;&quot;</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send info data to the remote station. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>The info to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or <em>false</em> on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ad863b45beee7971efce2891e88299a73"></a><!-- doxytag: member="EchoLink::Qso::setLocalCallsign" ref="ad863b45beee7971efce2891e88299a73" args="(const std::string &amp;callsign)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::setLocalCallsign </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>callsign</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the local callsign. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>callsign</em>&nbsp;</td><td>The callsign to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or <em>false</em> on failure </dd></dl>

</div>
</div>
<a class="anchor" id="a83c45a48c6eb5a1a86fd08a272d12034"></a><!-- doxytag: member="EchoLink::Qso::setLocalInfo" ref="a83c45a48c6eb5a1a86fd08a272d12034" args="(const std::string &amp;info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EchoLink::Qso::setLocalInfo </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the local info. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>The informational message that is sent to the remote station upon connection. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad0965204ebdfe109f3ad90ec6c36537c"></a><!-- doxytag: member="EchoLink::Qso::setLocalName" ref="ad0965204ebdfe109f3ad90ec6c36537c" args="(const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool EchoLink::Qso::setLocalName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the local name (name of station operator). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or <em>false</em> on failure </dd></dl>

</div>
</div>
<a class="anchor" id="aeb0f5c52e05895a3f99f555106365745"></a><!-- doxytag: member="EchoLink::Qso::setRemoteCallsign" ref="aeb0f5c52e05895a3f99f555106365745" args="(const std::string &amp;call)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EchoLink::Qso::setRemoteCallsign </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>call</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the callsign of the remote station. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>call</em>&nbsp;</td><td>The callsign to set </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00325">325</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="acbf28297e322425b39e71c8d5902afe1"></a><!-- doxytag: member="EchoLink::Qso::setRemoteName" ref="acbf28297e322425b39e71c8d5902afe1" args="(const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EchoLink::Qso::setRemoteName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the name of the remote station. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name to set </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00312">312</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a92c4bc2191f2f644cae82a290feb511d"></a><!-- doxytag: member="EchoLink::Qso::writeSamples" ref="a92c4bc2191f2f644cae82a290feb511d" args="(const float *samples, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int EchoLink::Qso::writeSamples </td>
          <td>(</td>
          <td class="paramtype">const float *&nbsp;</td>
          <td class="paramname"> <em>samples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write samples into this audio sink. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The buffer containing the samples </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>The number of samples in the buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of samples that has been taken care of</dd></dl>
<p>This function is used to write audio into this audio sink. If it returns 0, no more samples should be written until the resumeOutput function in the source have been called. This function is normally only called from a connected source object. </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae5099a2be41885fcdf163b40d5ce2f2a"></a><!-- doxytag: member="EchoLink::Qso::audioReceivedRaw" ref="ae5099a2be41885fcdf163b40d5ce2f2a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SigC::Signal1&lt;void, <a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">GsmVoicePacket</a>*&gt; <a class="el" href="classEchoLink_1_1Qso.html#ae5099a2be41885fcdf163b40d5ce2f2a">EchoLink::Qso::audioReceivedRaw</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A signal that is emitted when an audio datagram has been received. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to the buffer that contains the raw audio packet</td></tr>
  </table>
  </dd>
</dl>
<p>This signal is emitted whenever an audio packet has been received on the connection. It gives access to the raw GSM packet. This can be used if the encoded data is going to be retransmitted. In this case it is not good to decode and then encode the data again. It will sound awful. </p>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00391">391</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5b689f6dd34a810590bd34c312c27246"></a><!-- doxytag: member="EchoLink::Qso::chatMsgReceived" ref="a5b689f6dd34a810590bd34c312c27246" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SigC::Signal1&lt;void, const std::string&amp;&gt; <a class="el" href="classEchoLink_1_1Qso.html#a5b689f6dd34a810590bd34c312c27246">EchoLink::Qso::chatMsgReceived</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A signal that is emitted when a chat message is received. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>The received chat message </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00366">366</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab9172127abc03b8ce862b27f4e2f68a8"></a><!-- doxytag: member="EchoLink::Qso::infoMsgReceived" ref="ab9172127abc03b8ce862b27f4e2f68a8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SigC::Signal1&lt;void, const std::string&amp;&gt; <a class="el" href="classEchoLink_1_1Qso.html#ab9172127abc03b8ce862b27f4e2f68a8">EchoLink::Qso::infoMsgReceived</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A signal that is emitted when a station info message is received. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>The received message </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00360">360</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="af38aaa8840ef44e72c1aa4930de5e545"></a><!-- doxytag: member="EchoLink::Qso::isReceiving" ref="af38aaa8840ef44e72c1aa4930de5e545" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SigC::Signal1&lt;void, bool&gt; <a class="el" href="classEchoLink_1_1Qso.html#af38aaa8840ef44e72c1aa4930de5e545">EchoLink::Qso::isReceiving</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A signal that is emitted when the audio receive state changes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>is_receiving</em>&nbsp;</td><td>Is <em>true</em> when audio is being received and <em>false</em> when not </td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This signal can be used to control a reception indicator </dd></dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00380">380</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab9d67dad41bcfa624f66cc0121e357fc"></a><!-- doxytag: member="EchoLink::Qso::packed" ref="ab9d67dad41bcfa624f66cc0121e357fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class <a class="el" href="classEchoLink_1_1Qso_1_1GsmVoicePacket.html">EchoLink::Qso::GsmVoicePacket</a> <a class="el" href="classEchoLink_1_1Qso.html#ab9d67dad41bcfa624f66cc0121e357fc">EchoLink::Qso::packed</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a85bf86e82f6a9d5b10efbc0a1e954be5"></a><!-- doxytag: member="EchoLink::Qso::stateChange" ref="a85bf86e82f6a9d5b10efbc0a1e954be5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SigC::Signal1&lt;void, <a class="el" href="classEchoLink_1_1Qso.html#af23753f0f8487728b975b18dc4da26b2">State</a>&gt; <a class="el" href="classEchoLink_1_1Qso.html#a85bf86e82f6a9d5b10efbc0a1e954be5">EchoLink::Qso::stateChange</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A signal that is emitted when the connection state changes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The new connection state </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="EchoLinkQso_8h_source.html#l00372">372</a> of file <a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="EchoLinkQso_8h_source.html">EchoLinkQso.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>