Tarball tree for barry-0.15.tar.bz2
[barry.git] / doc / www / doxygen / html / classBarry_1_1Controller.html
blob24ee1107162db4c37eecd479de8a1c96d2a82f7f
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Barry: Barry::Controller Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class="navigation" id="top">
9 <div class="tabs">
10 <ul>
11 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="modules.html"><span>Modules</span></a></li>
13 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14 <li class="current"><a href="classes.html"><span>Classes</span></a></li>
15 <li><a href="files.html"><span>Files</span></a></li>
16 <li><a href="dirs.html"><span>Directories</span></a></li>
17 </ul>
18 </div>
19 <div class="tabs">
20 <ul>
21 <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
22 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
23 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
24 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
25 </ul>
26 </div>
27 <div class="navpath"><a class="el" href="namespaceBarry.html">Barry</a>::<a class="el" href="classBarry_1_1Controller.html">Controller</a>
28 </div>
29 </div>
30 <div class="contents">
31 <h1>Barry::Controller Class Reference</h1><!-- doxytag: class="Barry::Controller" --><code>#include &lt;<a class="el" href="controller_8h-source.html">controller.h</a>&gt;</code>
32 <p>
33 <div class="dynheader">
34 Collaboration diagram for Barry::Controller:</div>
35 <div class="dynsection">
36 <p><center><img src="classBarry_1_1Controller__coll__graph.png" border="0" usemap="#Barry_1_1Controller__coll__map" alt="Collaboration graph"></center>
37 <map name="Barry_1_1Controller__coll__map">
38 <area shape="rect" title="STL class." alt="" coords="332,60,412,87"><area shape="rect" title="STL class." alt="" coords="7,37,172,64"><area shape="rect" href="classBarry_1_1DataQueue.html" title="This class provides a thread aware fifo queue for Data objects, providing memory..." alt="" coords="27,89,152,116"></map>
39 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
41 <p>
42 <a href="classBarry_1_1Controller-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
43 The main interface class.
44 <p>
45 This class coordinates the communication to a single handheld. This class also owns the only Usb::Device object the handheld. All other classes reference this one for the low level device object. This class owns the only SocketZero object as well, which is the object that any SocketRoutingQueue is plugged into if constructed that way.<p>
46 To use this class, use the following steps:<p>
47 <ul>
48 <li>Probe the USB bus for matching devices with the Probe class</li><li>Create an optional SocketRoutingQueue object and create a read thread for it, or use its default read thread.</li><li>Pass one of the probe results into the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> constructor to connect to the USB device. Pass the routing queue to the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> constructor here too, if needed.</li><li>Create the Mode object of your choice. See <a class="el" href="m__desktop_8h.html" title="Mode class for the Desktop mode.">m_desktop.h</a> and <a class="el" href="m__serial_8h.html" title="Mode class for serial / GPRS modem mode.">m_serial.h</a> for these mode classes. You pass your controller object into these mode constructors to create the mode. </li></ul>
50 <p>Definition at line <a class="el" href="controller_8h-source.html#l00068">68</a> of file <a class="el" href="controller_8h-source.html">controller.h</a>.</p>
51 <table border="0" cellpadding="0" cellspacing="0">
52 <tr><td></td></tr>
53 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
54 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html#8b40b5d7e285b39375d857e1cea6cb15">ModeType</a> </td></tr>
56 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handheld mode type. <a href="classBarry_1_1Controller.html#8b40b5d7e285b39375d857e1cea6cb15">More...</a><br></td></tr>
57 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html#ddee3abdecf3dad6954d2041ceee1bf0">Controller</a> (const ProbeResult &amp;device)</td></tr>
60 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class. <a href="#ddee3abdecf3dad6954d2041ceee1bf0"></a><br></td></tr>
61 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html#b5f92153e6e5eb4eccf0375b63cbce10">Controller</a> (const ProbeResult &amp;device, SocketRoutingQueue &amp;queue)</td></tr>
63 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class. <a href="#b5f92153e6e5eb4eccf0375b63cbce10"></a><br></td></tr>
64 <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
65 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d04dbe14f6107d975127a419876dd46"></a><!-- doxytag: member="Barry::Controller::Barry::Mode::Mode" ref="8d04dbe14f6107d975127a419876dd46" args="" -->
66 class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html#8d04dbe14f6107d975127a419876dd46">Barry::Mode::Mode</a></td></tr>
68 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5dfdb73a8b9f132b5970ba6602ddbfb"></a><!-- doxytag: member="Barry::Controller::Barry::Mode::JavaLoader" ref="f5dfdb73a8b9f132b5970ba6602ddbfb" args="" -->
69 class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Controller.html#f5dfdb73a8b9f132b5970ba6602ddbfb">Barry::Mode::JavaLoader</a></td></tr>
71 </table>
72 <hr><h2>Member Enumeration Documentation</h2>
73 <a class="anchor" name="8b40b5d7e285b39375d857e1cea6cb15"></a><!-- doxytag: member="Barry::Controller::ModeType" ref="8b40b5d7e285b39375d857e1cea6cb15" args="" -->
74 <div class="memitem">
75 <div class="memproto">
76 <table class="memname">
77 <tr>
78 <td class="memname">enum <a class="el" href="classBarry_1_1Controller.html#8b40b5d7e285b39375d857e1cea6cb15">Barry::Controller::ModeType</a> </td>
79 </tr>
80 </table>
81 </div>
82 <div class="memdoc">
84 <p>
85 Handheld mode type.
86 <p>
88 <p>Definition at line <a class="el" href="controller_8h-source.html#l00077">77</a> of file <a class="el" href="controller_8h-source.html">controller.h</a>.</p>
90 </div>
91 </div><p>
92 <hr><h2>Constructor &amp; Destructor Documentation</h2>
93 <a class="anchor" name="ddee3abdecf3dad6954d2041ceee1bf0"></a><!-- doxytag: member="Barry::Controller::Controller" ref="ddee3abdecf3dad6954d2041ceee1bf0" args="(const ProbeResult &amp;device)" -->
94 <div class="memitem">
95 <div class="memproto">
96 <table class="memname">
97 <tr>
98 <td class="memname">Barry::Controller::Controller </td>
99 <td>(</td>
100 <td class="paramtype">const ProbeResult &amp;&nbsp;</td>
101 <td class="paramname"> <em>device</em> </td>
102 <td>&nbsp;)&nbsp;</td>
103 <td><code> [explicit]</code></td>
104 </tr>
105 </table>
106 </div>
107 <div class="memdoc">
110 Constructor for the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class.
112 Requires a valid ProbeResult object to find the USB device to talk to.<p>
113 <dl compact><dt><b>Parameters:</b></dt><dd>
114 <table border="0" cellspacing="2" cellpadding="0">
115 <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>One of the ProbeResult objects from the Probe class. </td></tr>
116 </table>
117 </dl>
119 <p>Definition at line <a class="el" href="controller_8cc-source.html#l00045">45</a> of file <a class="el" href="controller_8cc-source.html">controller.cc</a>.</p>
121 </div>
122 </div><p>
123 <a class="anchor" name="b5f92153e6e5eb4eccf0375b63cbce10"></a><!-- doxytag: member="Barry::Controller::Controller" ref="b5f92153e6e5eb4eccf0375b63cbce10" args="(const ProbeResult &amp;device, SocketRoutingQueue &amp;queue)" -->
124 <div class="memitem">
125 <div class="memproto">
126 <table class="memname">
127 <tr>
128 <td class="memname">Barry::Controller::Controller </td>
129 <td>(</td>
130 <td class="paramtype">const ProbeResult &amp;&nbsp;</td>
131 <td class="paramname"> <em>device</em>, </td>
132 </tr>
133 <tr>
134 <td class="paramkey"></td>
135 <td></td>
136 <td class="paramtype">SocketRoutingQueue &amp;&nbsp;</td>
137 <td class="paramname"> <em>queue</em></td><td>&nbsp;</td>
138 </tr>
139 <tr>
140 <td></td>
141 <td>)</td>
142 <td></td><td></td><td></td>
143 </tr>
144 </table>
145 </div>
146 <div class="memdoc">
149 Constructor for the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class.
151 Requires a valid ProbeResult object to find the USB device to talk to.<p>
152 <dl compact><dt><b>Parameters:</b></dt><dd>
153 <table border="0" cellspacing="2" cellpadding="0">
154 <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>One of the ProbeResult objects from the Probe class. </td></tr>
155 <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>queue</em>&nbsp;</td><td>Plugin router object for reading data from sockets. </td></tr>
156 </table>
157 </dl>
159 <p>Definition at line <a class="el" href="controller_8cc-source.html#l00068">68</a> of file <a class="el" href="controller_8cc-source.html">controller.cc</a>.</p>
161 </div>
162 </div><p>
163 <hr>The documentation for this class was generated from the following files:<ul>
164 <li><a class="el" href="controller_8h-source.html">controller.h</a><li><a class="el" href="controller_8cc-source.html">controller.cc</a></ul>
165 </div>
166 <hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 29 00:02:12 2009 for Barry by&nbsp;
167 <a href="http://www.doxygen.org/index.html">
168 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
169 </body>
170 </html>