~ubuntu-branches/ubuntu/vivid/tesseract/vivid

« back to all changes in this revision

Viewing changes to doc/html/a00576.html

  • Committer: Package Import Robot
  • Author(s): Jeff Breidenbach
  • Date: 2014-02-03 11:10:20 UTC
  • mfrom: (1.3.1) (19.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20140203111020-igquodd7pjlp3uri
Tags: 3.03.01-1
* New upstream release, includes critical fix to PDF rendering
* Complete leptonlib transition (see bug #735509)
* Promote from experimental to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml">
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
 
6
<title>tesseract: SVNetwork Class Reference</title>
 
7
 
 
8
<link href="tabs.css" rel="stylesheet" type="text/css"/>
 
9
<link href="doxygen.css" rel="stylesheet" type="text/css" />
 
10
<link href="navtree.css" rel="stylesheet" type="text/css"/>
 
11
<script type="text/javascript" src="jquery.js"></script>
 
12
<script type="text/javascript" src="resize.js"></script>
 
13
<script type="text/javascript" src="navtree.js"></script>
 
14
<script type="text/javascript">
 
15
  $(document).ready(initResizable);
 
16
</script>
 
17
<link href="search/search.css" rel="stylesheet" type="text/css"/>
 
18
<script type="text/javascript" src="search/search.js"></script>
 
19
<script type="text/javascript">
 
20
  $(document).ready(function() { searchBox.OnSelectItem(0); });
 
21
</script>
 
22
 
 
23
</head>
 
24
<body>
 
25
<div id="top"><!-- do not remove this div! -->
 
26
 
 
27
 
 
28
<div id="titlearea">
 
29
<table cellspacing="0" cellpadding="0">
 
30
 <tbody>
 
31
 <tr style="height: 56px;">
 
32
  
 
33
  
 
34
  <td style="padding-left: 0.5em;">
 
35
   <div id="projectname">tesseract
 
36
   &#160;<span id="projectnumber">3.03</span>
 
37
   </div>
 
38
   
 
39
  </td>
 
40
  
 
41
  
 
42
  
 
43
 </tr>
 
44
 </tbody>
 
45
</table>
 
46
</div>
 
47
 
 
48
<!-- Generated by Doxygen 1.7.6.1 -->
 
49
<script type="text/javascript">
 
50
var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
51
</script>
 
52
  <div id="navrow1" class="tabs">
 
53
    <ul class="tablist">
 
54
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
 
55
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
 
56
      <li><a href="modules.html"><span>Modules</span></a></li>
 
57
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
 
58
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
 
59
      <li><a href="files.html"><span>Files</span></a></li>
 
60
      <li>
 
61
        <div id="MSearchBox" class="MSearchBoxInactive">
 
62
        <span class="left">
 
63
          <img id="MSearchSelect" src="search/mag_sel.png"
 
64
               onmouseover="return searchBox.OnSearchSelectShow()"
 
65
               onmouseout="return searchBox.OnSearchSelectHide()"
 
66
               alt=""/>
 
67
          <input type="text" id="MSearchField" value="Search" accesskey="S"
 
68
               onfocus="searchBox.OnSearchFieldFocus(true)" 
 
69
               onblur="searchBox.OnSearchFieldFocus(false)" 
 
70
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
 
71
          </span><span class="right">
 
72
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
 
73
          </span>
 
74
        </div>
 
75
      </li>
 
76
    </ul>
 
77
  </div>
 
78
  <div id="navrow2" class="tabs2">
 
79
    <ul class="tablist">
 
80
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
 
81
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
 
82
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
 
83
    </ul>
 
84
  </div>
 
85
</div>
 
86
<div id="side-nav" class="ui-resizable side-nav-resizable">
 
87
  <div id="nav-tree">
 
88
    <div id="nav-tree-contents">
 
89
    </div>
 
90
  </div>
 
91
  <div id="splitbar" style="-moz-user-select:none;" 
 
92
       class="ui-resizable-handle">
 
93
  </div>
 
94
</div>
 
95
<script type="text/javascript">
 
96
  initNavTree('a00576.html','');
 
97
</script>
 
98
<div id="doc-content">
 
99
<div class="header">
 
100
  <div class="summary">
 
101
<a href="#pub-methods">Public Member Functions</a>  </div>
 
102
  <div class="headertitle">
 
103
<div class="title">SVNetwork Class Reference</div>  </div>
 
104
</div><!--header-->
 
105
<div class="contents">
 
106
<!-- doxytag: class="SVNetwork" -->
 
107
<p><code>#include &lt;<a class="el" href="a01208_source.html">svutil.h</a>&gt;</code></p>
 
108
 
 
109
<p><a href="a01670.html">List of all members.</a></p>
 
110
<table class="memberdecls">
 
111
<tr><td colspan="2"><h2><a name="pub-methods"></a>
 
112
Public Member Functions</h2></td></tr>
 
113
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#a72f0c73a7d3a610035043d10f552d462">SVNetwork</a> (const char *hostname, int port)</td></tr>
 
114
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set up a connection to hostname on port.  <a href="#a72f0c73a7d3a610035043d10f552d462"></a><br/></td></tr>
 
115
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#a85f11ef0f1e673319ec4cdd740eddbfa">~SVNetwork</a> ()</td></tr>
 
116
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a85f11ef0f1e673319ec4cdd740eddbfa"></a><br/></td></tr>
 
117
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#a2de9fb634926d1ffc46b617e87d129f6">Send</a> (const char *msg)</td></tr>
 
118
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Put a message in the messagebuffer to the server and try to send it.  <a href="#a2de9fb634926d1ffc46b617e87d129f6"></a><br/></td></tr>
 
119
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#a6cf1cd38c287bdce0ed8594ed9076c2d">Receive</a> ()</td></tr>
 
120
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#ac42718fcb9311770b737210a5ab14b27">Close</a> ()</td></tr>
 
121
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the connection to the server.  <a href="#ac42718fcb9311770b737210a5ab14b27"></a><br/></td></tr>
 
122
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00576.html#ad89f207ad0f1b7fa764e2edb37c0e2c0">Flush</a> ()</td></tr>
 
123
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush the buffer.  <a href="#ad89f207ad0f1b7fa764e2edb37c0e2c0"></a><br/></td></tr>
 
124
</table>
 
125
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
 
126
<div class="textblock"><p>The <a class="el" href="a00576.html">SVNetwork</a> class takes care of the remote connection for <a class="el" href="a00532.html">ScrollView</a> This means setting up and maintaining a remote connection, sending and receiving messages and closing the connection. It is designed to work on both Linux and Windows. </p>
 
127
 
 
128
<p>Definition at line <a class="el" href="a01208_source.html#l00107">107</a> of file <a class="el" href="a01208_source.html">svutil.h</a>.</p>
 
129
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
 
130
<a class="anchor" id="a72f0c73a7d3a610035043d10f552d462"></a><!-- doxytag: member="SVNetwork::SVNetwork" ref="a72f0c73a7d3a610035043d10f552d462" args="(const char *hostname, int port)" -->
 
131
<div class="memitem">
 
132
<div class="memproto">
 
133
      <table class="memname">
 
134
        <tr>
 
135
          <td class="memname"><a class="el" href="a00576.html#a72f0c73a7d3a610035043d10f552d462">SVNetwork::SVNetwork</a> </td>
 
136
          <td>(</td>
 
137
          <td class="paramtype">const char *&#160;</td>
 
138
          <td class="paramname"><em>hostname</em>, </td>
 
139
        </tr>
 
140
        <tr>
 
141
          <td class="paramkey"></td>
 
142
          <td></td>
 
143
          <td class="paramtype">int&#160;</td>
 
144
          <td class="paramname"><em>port</em>&#160;</td>
 
145
        </tr>
 
146
        <tr>
 
147
          <td></td>
 
148
          <td>)</td>
 
149
          <td></td><td></td>
 
150
        </tr>
 
151
      </table>
 
152
</div>
 
153
<div class="memdoc">
 
154
 
 
155
<p>Set up a connection to hostname on port. </p>
 
156
 
 
157
<p>Definition at line <a class="el" href="a01207_source.html#l00386">386</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
158
<div class="fragment"><pre class="fragment">                                                   {
 
159
  mutex_send_ = <span class="keyword">new</span> <a class="code" href="a00575.html">SVMutex</a>();
 
160
  msg_buffer_in_ = <span class="keyword">new</span> <span class="keywordtype">char</span>[<a class="code" href="a01202.html#a4a4ce82f9687ca37d149b0a62c5ed379">kMaxMsgSize</a> + 1];
 
161
  msg_buffer_in_[0] = <span class="charliteral">&#39;\0&#39;</span>;
 
162
 
 
163
  has_content = <span class="keyword">false</span>;
 
164
  buffer_ptr_ = NULL;
 
165
 
 
166
  <span class="keyword">struct </span>addrinfo *addr_info = NULL;
 
167
 
 
168
  <span class="keywordflow">if</span> (GetAddrInfo(hostname, port, &amp;addr_info) != 0) {
 
169
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Error resolving name for ScrollView host &quot;</span>
 
170
              &lt;&lt; std::string(hostname) &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; port &lt;&lt; std::endl;
 
171
  }
 
172
 
 
173
  stream_ = socket(addr_info-&gt;ai_family, addr_info-&gt;ai_socktype,
 
174
                   addr_info-&gt;ai_protocol);
 
175
 
 
176
  <span class="comment">// If server is not there, we will start a new server as local child process.</span>
 
177
  <span class="keywordflow">if</span> (connect(stream_, addr_info-&gt;ai_addr, addr_info-&gt;ai_addrlen) &lt; 0) {
 
178
    <span class="keyword">const</span> <span class="keywordtype">char</span>* scrollview_path = getenv(<span class="stringliteral">&quot;SCROLLVIEW_PATH&quot;</span>);
 
179
    <span class="keywordflow">if</span> (scrollview_path == NULL) {
 
180
<span class="preprocessor">#ifdef SCROLLVIEW_PATH</span>
 
181
<span class="preprocessor"></span><span class="preprocessor">#define _STR(a) #a</span>
 
182
<span class="preprocessor"></span><span class="preprocessor">#define _XSTR(a) _STR(a)</span>
 
183
<span class="preprocessor"></span>      scrollview_path = _XSTR(SCROLLVIEW_PATH);
 
184
<span class="preprocessor">#undef _XSTR</span>
 
185
<span class="preprocessor"></span><span class="preprocessor">#undef _STR</span>
 
186
<span class="preprocessor"></span><span class="preprocessor">#else</span>
 
187
<span class="preprocessor"></span>      scrollview_path = <span class="stringliteral">&quot;.&quot;</span>;
 
188
<span class="preprocessor">#endif</span>
 
189
<span class="preprocessor"></span>    }
 
190
    <span class="keyword">const</span> <span class="keywordtype">char</span> *prog = ScrollViewProg();
 
191
    std::string command = ScrollViewCommand(scrollview_path);
 
192
    <a class="code" href="a00582.html#aea4f2c7847c7c165fba1a60aadec3e05" title="Starts a new process.">SVSync::StartProcess</a>(prog, command.c_str());
 
193
 
 
194
    <span class="comment">// Wait for server to show up.</span>
 
195
    <span class="comment">// Note: There is no exception handling in case the server never turns up.</span>
 
196
 
 
197
    stream_ = socket(addr_info-&gt;ai_family, addr_info-&gt;ai_socktype,
 
198
                   addr_info-&gt;ai_protocol);
 
199
 
 
200
    <span class="keywordflow">while</span> (connect(stream_, addr_info-&gt;ai_addr,
 
201
                   addr_info-&gt;ai_addrlen) &lt; 0) {
 
202
      std::cout &lt;&lt; <span class="stringliteral">&quot;ScrollView: Waiting for server...\n&quot;</span>;
 
203
<span class="preprocessor">#ifdef _WIN32</span>
 
204
<span class="preprocessor"></span>      Sleep(1000);
 
205
<span class="preprocessor">#else</span>
 
206
<span class="preprocessor"></span>      sleep(1);
 
207
<span class="preprocessor">#endif</span>
 
208
<span class="preprocessor"></span>
 
209
      stream_ = socket(addr_info-&gt;ai_family, addr_info-&gt;ai_socktype,
 
210
                   addr_info-&gt;ai_protocol);
 
211
    }
 
212
  }
 
213
  FreeAddrInfo(addr_info);
 
214
}
 
215
</pre></div>
 
216
</div>
 
217
</div>
 
218
<a class="anchor" id="a85f11ef0f1e673319ec4cdd740eddbfa"></a><!-- doxytag: member="SVNetwork::~SVNetwork" ref="a85f11ef0f1e673319ec4cdd740eddbfa" args="()" -->
 
219
<div class="memitem">
 
220
<div class="memproto">
 
221
      <table class="memname">
 
222
        <tr>
 
223
          <td class="memname"><a class="el" href="a00576.html#a85f11ef0f1e673319ec4cdd740eddbfa">SVNetwork::~SVNetwork</a> </td>
 
224
          <td>(</td>
 
225
          <td class="paramname"></td><td>)</td>
 
226
          <td></td>
 
227
        </tr>
 
228
      </table>
 
229
</div>
 
230
<div class="memdoc">
 
231
 
 
232
<p>Destructor. </p>
 
233
 
 
234
<p>Definition at line <a class="el" href="a01207_source.html#l00444">444</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
235
<div class="fragment"><pre class="fragment">                      {
 
236
  <span class="keyword">delete</span>[] msg_buffer_in_;
 
237
  <span class="keyword">delete</span> mutex_send_;
 
238
}
 
239
</pre></div>
 
240
</div>
 
241
</div>
 
242
<hr/><h2>Member Function Documentation</h2>
 
243
<a class="anchor" id="ac42718fcb9311770b737210a5ab14b27"></a><!-- doxytag: member="SVNetwork::Close" ref="ac42718fcb9311770b737210a5ab14b27" args="()" -->
 
244
<div class="memitem">
 
245
<div class="memproto">
 
246
      <table class="memname">
 
247
        <tr>
 
248
          <td class="memname">void <a class="el" href="a00576.html#ac42718fcb9311770b737210a5ab14b27">SVNetwork::Close</a> </td>
 
249
          <td>(</td>
 
250
          <td class="paramname"></td><td>)</td>
 
251
          <td></td>
 
252
        </tr>
 
253
      </table>
 
254
</div>
 
255
<div class="memdoc">
 
256
 
 
257
<p>Close the connection to the server. </p>
 
258
 
 
259
<p>Definition at line <a class="el" href="a01207_source.html#l00271">271</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
260
<div class="fragment"><pre class="fragment">                      {
 
261
<span class="preprocessor">#ifdef _WIN32</span>
 
262
<span class="preprocessor"></span>  closesocket(stream_);
 
263
<span class="preprocessor">#else</span>
 
264
<span class="preprocessor"></span>  close(stream_);
 
265
<span class="preprocessor">#endif</span>
 
266
<span class="preprocessor"></span>}
 
267
</pre></div>
 
268
</div>
 
269
</div>
 
270
<a class="anchor" id="ad89f207ad0f1b7fa764e2edb37c0e2c0"></a><!-- doxytag: member="SVNetwork::Flush" ref="ad89f207ad0f1b7fa764e2edb37c0e2c0" args="()" -->
 
271
<div class="memitem">
 
272
<div class="memproto">
 
273
      <table class="memname">
 
274
        <tr>
 
275
          <td class="memname">void <a class="el" href="a00576.html#ad89f207ad0f1b7fa764e2edb37c0e2c0">SVNetwork::Flush</a> </td>
 
276
          <td>(</td>
 
277
          <td class="paramname"></td><td>)</td>
 
278
          <td></td>
 
279
        </tr>
 
280
      </table>
 
281
</div>
 
282
<div class="memdoc">
 
283
 
 
284
<p>Flush the buffer. </p>
 
285
 
 
286
<p>Definition at line <a class="el" href="a01207_source.html#l00212">212</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
287
<div class="fragment"><pre class="fragment">                      {
 
288
  mutex_send_-&gt;<a class="code" href="a00575.html#ac2a19e2b7ce47e75ee1f72870574e41f" title="Locks on a mutex.">Lock</a>();
 
289
  <span class="keywordflow">while</span> (msg_buffer_out_.size() &gt; 0) {
 
290
    <span class="keywordtype">int</span> i = send(stream_, msg_buffer_out_.c_str(), msg_buffer_out_.length(), 0);
 
291
    msg_buffer_out_.erase(0, i);
 
292
  }
 
293
  mutex_send_-&gt;<a class="code" href="a00575.html#aa70f2446491c0de56b69eba6dd877f31" title="Unlocks on a mutex.">Unlock</a>();
 
294
}
 
295
</pre></div>
 
296
</div>
 
297
</div>
 
298
<a class="anchor" id="a6cf1cd38c287bdce0ed8594ed9076c2d"></a><!-- doxytag: member="SVNetwork::Receive" ref="a6cf1cd38c287bdce0ed8594ed9076c2d" args="()" -->
 
299
<div class="memitem">
 
300
<div class="memproto">
 
301
      <table class="memname">
 
302
        <tr>
 
303
          <td class="memname">char * <a class="el" href="a00576.html#a6cf1cd38c287bdce0ed8594ed9076c2d">SVNetwork::Receive</a> </td>
 
304
          <td>(</td>
 
305
          <td class="paramname"></td><td>)</td>
 
306
          <td></td>
 
307
        </tr>
 
308
      </table>
 
309
</div>
 
310
<div class="memdoc">
 
311
<p>Receive a message from the server. This will always return one line of char* (denoted by <br/>
 
312
). </p>
 
313
 
 
314
<p>Definition at line <a class="el" href="a01207_source.html#l00223">223</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
315
<div class="fragment"><pre class="fragment">                         {
 
316
  <span class="keywordtype">char</span>* result = NULL;
 
317
<span class="preprocessor">#ifdef _WIN32</span>
 
318
<span class="preprocessor"></span>  <span class="keywordflow">if</span> (has_content) { result = strtok (NULL, <span class="stringliteral">&quot;\n&quot;</span>); }
 
319
<span class="preprocessor">#else</span>
 
320
<span class="preprocessor"></span>  <span class="keywordflow">if</span> (buffer_ptr_ != NULL) { result = <a class="code" href="a01216.html#ada6f0d1c8962c7543f073d258efdb1bf">strtok_r</a>(NULL, <span class="stringliteral">&quot;\n&quot;</span>, &amp;buffer_ptr_); }
 
321
<span class="preprocessor">#endif</span>
 
322
<span class="preprocessor"></span>
 
323
  <span class="comment">// This means there is something left in the buffer and we return it.</span>
 
324
  <span class="keywordflow">if</span> (result != NULL) { <span class="keywordflow">return</span> result;
 
325
  <span class="comment">// Otherwise, we read from the stream_.</span>
 
326
  } <span class="keywordflow">else</span> {
 
327
    buffer_ptr_ = NULL;
 
328
    has_content = <span class="keyword">false</span>;
 
329
 
 
330
    <span class="comment">// The timeout length is not really important since we are looping anyway</span>
 
331
    <span class="comment">// until a new message is delivered.</span>
 
332
    <span class="keyword">struct </span>timeval tv;
 
333
    tv.tv_sec = 10;
 
334
    tv.tv_usec = 0;
 
335
 
 
336
    <span class="comment">// Set the flags to return when the stream_ is ready to be read.</span>
 
337
    fd_set readfds;
 
338
    FD_ZERO(&amp;readfds);
 
339
    FD_SET(stream_, &amp;readfds);
 
340
 
 
341
    <span class="keywordtype">int</span> i = select(stream_+1, &amp;readfds, NULL, NULL, &amp;tv);
 
342
 
 
343
    <span class="comment">// The stream_ died.</span>
 
344
    <span class="keywordflow">if</span> (i == 0) { <span class="keywordflow">return</span> NULL; }
 
345
 
 
346
    <span class="comment">// Read the message buffer.</span>
 
347
    i = recv(stream_, msg_buffer_in_, <a class="code" href="a01202.html#a4a4ce82f9687ca37d149b0a62c5ed379">kMaxMsgSize</a>, 0);
 
348
 
 
349
    <span class="comment">// Server quit (0) or error (-1).</span>
 
350
    <span class="keywordflow">if</span> (i &lt;= 0) { <span class="keywordflow">return</span> NULL; }
 
351
    msg_buffer_in_[i] = <span class="charliteral">&#39;\0&#39;</span>;
 
352
    has_content = <span class="keyword">true</span>;
 
353
<span class="preprocessor">#ifdef _WIN32</span>
 
354
<span class="preprocessor"></span>    <span class="keywordflow">return</span> strtok(msg_buffer_in_, <span class="stringliteral">&quot;\n&quot;</span>);
 
355
<span class="preprocessor">#else</span>
 
356
<span class="preprocessor"></span>    <span class="comment">// Setup a new string tokenizer.</span>
 
357
    <span class="keywordflow">return</span> <a class="code" href="a01216.html#ada6f0d1c8962c7543f073d258efdb1bf">strtok_r</a>(msg_buffer_in_, <span class="stringliteral">&quot;\n&quot;</span>, &amp;buffer_ptr_);
 
358
<span class="preprocessor">#endif</span>
 
359
<span class="preprocessor"></span>  }
 
360
}
 
361
</pre></div>
 
362
</div>
 
363
</div>
 
364
<a class="anchor" id="a2de9fb634926d1ffc46b617e87d129f6"></a><!-- doxytag: member="SVNetwork::Send" ref="a2de9fb634926d1ffc46b617e87d129f6" args="(const char *msg)" -->
 
365
<div class="memitem">
 
366
<div class="memproto">
 
367
      <table class="memname">
 
368
        <tr>
 
369
          <td class="memname">void <a class="el" href="a00576.html#a2de9fb634926d1ffc46b617e87d129f6">SVNetwork::Send</a> </td>
 
370
          <td>(</td>
 
371
          <td class="paramtype">const char *&#160;</td>
 
372
          <td class="paramname"><em>msg</em></td><td>)</td>
 
373
          <td></td>
 
374
        </tr>
 
375
      </table>
 
376
</div>
 
377
<div class="memdoc">
 
378
 
 
379
<p>Put a message in the messagebuffer to the server and try to send it. </p>
 
380
 
 
381
<p>Definition at line <a class="el" href="a01207_source.html#l00205">205</a> of file <a class="el" href="a01207_source.html">svutil.cpp</a>.</p>
 
382
<div class="fragment"><pre class="fragment">                                    {
 
383
  mutex_send_-&gt;<a class="code" href="a00575.html#ac2a19e2b7ce47e75ee1f72870574e41f" title="Locks on a mutex.">Lock</a>();
 
384
  msg_buffer_out_.append(msg);
 
385
  mutex_send_-&gt;<a class="code" href="a00575.html#aa70f2446491c0de56b69eba6dd877f31" title="Unlocks on a mutex.">Unlock</a>();
 
386
}
 
387
</pre></div>
 
388
</div>
 
389
</div>
 
390
<hr/>The documentation for this class was generated from the following files:<ul>
 
391
<li>/usr/local/google/home/jbreiden/tesseract-ocr-read-only/viewer/<a class="el" href="a01208_source.html">svutil.h</a></li>
 
392
<li>/usr/local/google/home/jbreiden/tesseract-ocr-read-only/viewer/<a class="el" href="a01207_source.html">svutil.cpp</a></li>
 
393
</ul>
 
394
</div><!-- contents -->
 
395
</div>
 
396
<!-- window showing the filter options -->
 
397
<div id="MSearchSelectWindow"
 
398
     onmouseover="return searchBox.OnSearchSelectShow()"
 
399
     onmouseout="return searchBox.OnSearchSelectHide()"
 
400
     onkeydown="return searchBox.OnSearchSelectKey(event)">
 
401
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
 
402
 
 
403
<!-- iframe showing the search results (closed by default) -->
 
404
<div id="MSearchResultsWindow">
 
405
<iframe src="javascript:void(0)" frameborder="0" 
 
406
        name="MSearchResults" id="MSearchResults">
 
407
</iframe>
 
408
</div>
 
409
 
 
410
  <div id="nav-path" class="navpath">
 
411
    <ul>
 
412
      <li class="navelem"><a class="el" href="a00576.html">SVNetwork</a>      </li>
 
413
 
 
414
    <li class="footer">Generated on Mon Feb 3 2014 10:59:17 for tesseract by
 
415
    <a href="http://www.doxygen.org/index.html">
 
416
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
 
417
   </ul>
 
418
 </div>
 
419
 
 
420
 
 
421
</body>
 
422
</html>