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">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>peekabot: src/client/PeekabotClient.hh Source File</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.7.1 -->
11
<div class="navigation" id="top">
14
<li><a href="main.html"><span>Main Page</span></a></li>
15
<li><a href="pages.html"><span>Related Pages</span></a></li>
16
<li><a href="annotated.html"><span>Classes</span></a></li>
17
<li class="current"><a href="files.html"><span>Files</span></a></li>
22
<li><a href="files.html"><span>File List</span></a></li>
26
<div class="headertitle">
27
<h1>src/client/PeekabotClient.hh</h1> </div>
29
<div class="contents">
30
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
31
<a name="l00002"></a>00002 <span class="comment"> * Copyright Staffan Gimåker 2006-2010.</span>
32
<a name="l00003"></a>00003 <span class="comment"> *</span>
33
<a name="l00004"></a>00004 <span class="comment"> * ---</span>
34
<a name="l00005"></a>00005 <span class="comment"> *</span>
35
<a name="l00006"></a>00006 <span class="comment"> * Distributed under the Boost Software License, Version 1.0.</span>
36
<a name="l00007"></a>00007 <span class="comment"> * (See accompanying file LICENSE_1_0.txt or copy at</span>
37
<a name="l00008"></a>00008 <span class="comment"> * http://www.boost.org/LICENSE_1_0.txt)</span>
38
<a name="l00009"></a>00009 <span class="comment"> */</span>
39
<a name="l00010"></a>00010
40
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef PEEKABOT_CLIENT_PEEKABOT_CLIENT_HH_INCLUDED</span>
41
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define PEEKABOT_CLIENT_PEEKABOT_CLIENT_HH_INCLUDED</span>
42
<a name="l00013"></a>00013 <span class="preprocessor"></span>
43
<a name="l00014"></a>00014
44
<a name="l00015"></a>00015 <span class="preprocessor">#include <stdexcept></span>
45
<a name="l00016"></a>00016 <span class="preprocessor">#include <string></span>
46
<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/shared_ptr.hpp></span>
47
<a name="l00018"></a>00018 <span class="preprocessor">#include <boost/function.hpp></span>
48
<a name="l00019"></a>00019
49
<a name="l00020"></a>00020 <span class="preprocessor">#include "../Visibility.hh"</span>
50
<a name="l00021"></a>00021 <span class="preprocessor">#include "DelayedDispatch.hh"</span>
51
<a name="l00022"></a>00022 <span class="preprocessor">#include "OperationResult.hh"</span>
52
<a name="l00023"></a>00023 <span class="preprocessor">#include "Recording.hh"</span>
53
<a name="l00024"></a>00024
54
<a name="l00025"></a>00025
55
<a name="l00026"></a>00026 <span class="keyword">namespace </span>peekabot
56
<a name="l00027"></a>00027 {
57
<a name="l00028"></a>00028 <span class="keyword">class </span>Action;
58
<a name="l00029"></a>00029
59
<a name="l00030"></a>00030 <span class="keyword">namespace </span>client
60
<a name="l00031"></a>00031 {
61
<a name="l00032"></a>00032 <span class="keyword">class </span>ClientImpl;
62
<a name="l00033"></a>00033 <span class="keyword">class </span>PeekabotProxyBase;
63
<a name="l00034"></a>00034
64
<a name="l00038"></a><a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html">00038</a> <span class="keyword">class </span>PEEKABOT_API <a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a>
65
<a name="l00039"></a>00039 {
66
<a name="l00040"></a>00040 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classpeekabot_1_1client_1_1PeekabotProxyBase.html" title="Base class for all client proxies.">PeekabotProxyBase</a>;
67
<a name="l00041"></a>00041
68
<a name="l00042"></a>00042 <span class="keyword">public</span>:
69
<a name="l00043"></a>00043 <a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a>();
70
<a name="l00044"></a>00044
71
<a name="l00051"></a>00051 <a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a>(<span class="keyword">const</span> <a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a> &client);
72
<a name="l00052"></a>00052
73
<a name="l00053"></a>00053 <span class="keyword">virtual</span> ~<a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a>();
74
<a name="l00054"></a>00054
75
<a name="l00057"></a>00057
76
<a name="l00084"></a>00084 <span class="keywordtype">void</span> connect(<span class="keyword">const</span> std::string &hostname, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port = 5050);
77
<a name="l00085"></a>00085
78
<a name="l00096"></a>00096 <span class="keywordtype">void</span> disconnect();
79
<a name="l00097"></a>00097
80
<a name="l00104"></a>00104 <span class="keywordtype">void</span> flush();
81
<a name="l00105"></a>00105
82
<a name="l00120"></a>00120 <span class="keywordtype">void</span> sync();
83
<a name="l00121"></a>00121
84
<a name="l00132"></a>00132 <span class="keywordtype">void</span> start_recording(<span class="keyword">const</span> std::string &filename);
85
<a name="l00133"></a>00133
86
<a name="l00141"></a>00141 <span class="keywordtype">void</span> stop_recording();
87
<a name="l00142"></a>00142
88
<a name="l00146"></a>00146
89
<a name="l00150"></a>00150 <span class="keywordtype">void</span> client_version(<span class="keywordtype">int</span> &major, <span class="keywordtype">int</span> &minor, <span class="keywordtype">int</span> &rev) <span class="keyword">const</span>;
90
<a name="l00151"></a>00151
91
<a name="l00155"></a>00155 <span class="keyword">const</span> std::string &client_version_str() <span class="keyword">const</span>;
92
<a name="l00156"></a>00156
93
<a name="l00161"></a>00161 <span class="keywordtype">bool</span> is_connected() <span class="keyword">const</span>;
94
<a name="l00162"></a>00162
95
<a name="l00168"></a>00168 <span class="keywordtype">bool</span> is_recording() <span class="keyword">const</span>;
96
<a name="l00169"></a>00169
97
<a name="l00185"></a>00185 <a class="code" href="classpeekabot_1_1client_1_1DelayedDispatch.html" title="A wrapper class that enables optional status tracking of operations.">DelayedDispatch</a> noop();
98
<a name="l00186"></a>00186
99
<a name="l00209"></a>00209 <span class="keywordtype">void</span> begin_bundle();
100
<a name="l00210"></a>00210
101
<a name="l00217"></a>00217 <a class="code" href="classpeekabot_1_1client_1_1DelayedDispatch.html" title="A wrapper class that enables optional status tracking of operations.">DelayedDispatch</a> end_bundle();
102
<a name="l00218"></a>00218
103
<a name="l00223"></a>00223 <span class="keywordtype">bool</span> is_bundling() <span class="keyword">const</span>;
104
<a name="l00224"></a>00224
105
<a name="l00225"></a>00225 <a class="code" href="classpeekabot_1_1client_1_1Recording.html" title="Class that controls playback of peekabot recordings.">Recording</a> open_recording(<span class="keyword">const</span> std::string &filename);
106
<a name="l00226"></a>00226
107
<a name="l00239"></a>00239 <a class="code" href="classpeekabot_1_1client_1_1DelayedDispatch.html" title="A wrapper class that enables optional status tracking of operations.">DelayedDispatch</a> upload_file(<span class="keyword">const</span> std::string &filename);
108
<a name="l00240"></a>00240
109
<a name="l00245"></a>00245 <a class="code" href="classpeekabot_1_1client_1_1DelayedDispatch.html" title="A wrapper class that enables optional status tracking of operations.">DelayedDispatch</a> remove_file(<span class="keyword">const</span> std::string &filename);
110
<a name="l00246"></a>00246
111
<a name="l00248"></a>00248
112
<a name="l00249"></a>00249 <span class="keyword">private</span>:
113
<a name="l00250"></a>00250 PEEKABOT_HIDDEN <a class="code" href="classpeekabot_1_1client_1_1PeekabotClient.html" title="Encapsulates a connection to a peekabot server.">PeekabotClient</a>(boost::shared_ptr<ClientImpl> impl);
114
<a name="l00251"></a>00251
115
<a name="l00252"></a>00252 PEEKABOT_HIDDEN boost::shared_ptr<ClientImpl> get_impl();
116
<a name="l00253"></a>00253
117
<a name="l00254"></a>00254 PEEKABOT_HIDDEN <span class="keyword">const</span> boost::shared_ptr<ClientImpl> get_impl() <span class="keyword">const</span>;
118
<a name="l00255"></a>00255
119
<a name="l00256"></a>00256 <span class="keyword">private</span>:
120
<a name="l00260"></a>00260 boost::shared_ptr<ClientImpl> m_impl;
121
<a name="l00261"></a>00261 };
122
<a name="l00262"></a>00262 }
123
<a name="l00263"></a>00263 }
124
<a name="l00264"></a>00264
125
<a name="l00265"></a>00265
126
<a name="l00266"></a>00266 <span class="preprocessor">#endif // PEEKABOT_CLIENT_PEEKABOT_CLIENT_HH_INCLUDED</span>
129
<hr class="footer"/><address class="footer"><small>Generated on Sun Jan 30 2011 for peekabot by
130
<a href="http://www.doxygen.org/index.html">
131
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>