17:39
[skypekit:skypekit.git] / skypekit_2.0.0.190_29281_CB30 / interfaces / skype / cpp_embedded / documentation / html / class_s_e_transport.html
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 <title>SkypeKit C++ Wrapper: Main Page</title>
6 <link href="tabs.css" rel="stylesheet" type="text/css"/>
7 <link href="islander.css" rel="stylesheet" type="text/css"/>
8 </head>
9 <body>
10 <img src="..\skypekit.png" align="right">
11 <!-- Generated by Doxygen 1.6.2 -->
12 <script type="text/javascript">
13 <!--
14 function changeDisplayState (e){
15   var num=this.id.replace(/[^[0-9]/g,'');
16   var button=this.firstChild;
17   var sectionDiv=document.getElementById('dynsection'+num);
18   if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
19     sectionDiv.style.display='block';
20     button.src='open.gif';
21   }else{
22     sectionDiv.style.display='none';
23     button.src='closed.gif';
24   }
25 }
26 function initDynSections(){
27   var divs=document.getElementsByTagName('div');
28   var sectionCounter=1;
29   for(var i=0;i<divs.length-1;i++){
30     if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
31       var header=divs[i];
32       var section=divs[i+1];
33       var button=header.firstChild;
34       if (button!='IMG'){
35         divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
36         button=document.createElement('img');
37         divs[i].insertBefore(button,divs[i].firstChild);
38       }
39       header.style.cursor='pointer';
40       header.onclick=changeDisplayState;
41       header.id='dynheader'+sectionCounter;
42       button.src='closed.gif';
43       section.id='dynsection'+sectionCounter;
44       section.style.display='none';
45       section.style.marginLeft='14px';
46       sectionCounter++;
47     }
48   }
49 }
50 window.onload = initDynSections;
51 -->
52 </script>
53 <div class="navigation" id="top">
54   <div class="tabs">
55     <ul>
56       <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
57       <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
58       <li><a href="files.html"><span>Files</span></a></li>
59       <li><a href="examples.html"><span>Examples</span></a></li>
60     </ul>
61   </div>
62   <div class="tabs">
63     <ul>
64       <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
65       <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
66       <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
67     </ul>
68   </div>
69 </div>
70 <div class="contents">
71 <h1>SETransport Class Reference</h1><!-- doxytag: class="SETransport" -->
72 <p>Abstract interface for transport layer.  
73 <a href="#_details">More...</a></p>
74
75 <p><code>#include &lt;<a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>&gt;</code></p>
76 <div class="dynheader">
77 Inheritance diagram for SETransport:</div>
78 <div class="dynsection">
79 <div class="center"><img src="class_s_e_transport__inherit__graph.png" border="0" usemap="#_s_e_transport_inherit__map" alt="Inheritance graph"/></div>
80 <map name="_s_e_transport_inherit__map" id="_s_e_transport_inherit__map">
81 <area shape="rect" href="class_s_e_pipe_transport.html" title="Windows pipes transport to skypekit." alt="" coords="5,276,165,545"/><area shape="rect" href="class_s_e_socket_transport.html" title="UNIX Socket transport to skypekit." alt="" coords="189,301,365,520"/><area shape="rect" href="class_s_e_t_c_p_transport.html" title="TCP transport to skypekit." alt="" coords="389,309,544,512"/></map>
82 </div>
83
84 <p><a href="class_s_e_transport-members.html">List of all members.</a></p>
85 <table border="0" cellpadding="0" cellspacing="0">
86 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
87 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a907c927da81aec7894dbdcc14d905d05">LOG</a> (const char *format,...)</td></tr>
88 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a51e11e9316a22cb72d69976042eb2078">SETransport</a> ()</td></tr>
89 <tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#af265d87ae61eeb276948784cae5a76e7">~SETransport</a> ()</td></tr>
90 <tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a21af4c91e511ac90faa8d81bbc75b768">connect</a> ()=0</td></tr>
91 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to skypekit. When this function returns successfully, you can start sending and receiving messages.  <a href="#a21af4c91e511ac90faa8d81bbc75b768"></a><br/></td></tr>
92 <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#ad72121a97ce0cab2e697b0f82512b2da">disconnect</a> ()=0</td></tr>
93 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects from skypekit.  <a href="#ad72121a97ce0cab2e697b0f82512b2da"></a><br/></td></tr>
94 <tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a6ac0733481dec47755d90d1f410c16d5">read</a> (unsigned int num_bytes, char *dest)=0</td></tr>
95 <tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a843aa0ef28b3e3bd82faf858cda5db85">write</a> (unsigned int num_bytes, const char *dest)=0</td></tr>
96 <tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a75af518d0ee4247dc9a765ac4db24d72">isConnected</a> () const =0</td></tr>
97 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the connection to skypekit is still there.  <a href="#a75af518d0ee4247dc9a765ac4db24d72"></a><br/></td></tr>
98 <tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a2a2ea09333e9a0a9cb7c76042becbf4f">getSocket</a> () const =0</td></tr>
99 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the socket descriptor which can be used to manually call select on. If the implementation doesn't support this functionality it returns -1.  <a href="#a2a2ea09333e9a0a9cb7c76042becbf4f"></a><br/></td></tr>
100 <tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
101 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_e_transport.html#a5e680ec4f492e3db6b5e27da9851ec1f">debug</a></td></tr>
102 </table>
103 <hr/><a name="_details"></a><h2>Detailed Description</h2>
104 <p>Abstract interface for transport layer. </p>
105 <p>You can't create instance of that class. Use one of successors instead.</p>
106 <p>The <a class="el" href="class_s_e_transport.html" title="Abstract interface for transport layer.">SETransport</a> class defines the way the <a class="el" href="class_skype.html" title="The main class that exposes Skype-related functionality to your application.">Skype</a> client communicates with skypekit. <a class="el" href="class_s_e_transport.html" title="Abstract interface for transport layer.">SETransport</a> is an abstract class, the actual transport implementation is in one of the sub-class.</p>
107 <p>The functions are called by the API wrapper code, so the UI doesn't have to call them. The UI developer should also not need to implement a transport class: They are normally provided by <a class="el" href="class_skype.html" title="The main class that exposes Skype-related functionality to your application.">Skype</a> since the corresponding transport mechanism needs to be supported by skypekit.</p>
108 <p>In summary, the UI developer should only have to create an instance of the proper transport class and pass it to the <a class="el" href="class_skype.html" title="The main class that exposes Skype-related functionality to your application.">Skype</a> constructor.</p>
109 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_s_e_socket_transport.html" title="UNIX Socket transport to skypekit.">SESocketTransport</a> </dd>
110 <dd>
111 <a class="el" href="class_s_e_t_c_p_transport.html" title="TCP transport to skypekit.">SETCPTransport</a> </dd></dl>
112 <dl><dt><b>Examples: </b></dt><dd>
113 <p><a class="el" href="tutorial__1_8cpp-example.html#_a13">tutorial_1.cpp</a>, <a class="el" href="tutorial__10_8cpp-example.html#_a15">tutorial_10.cpp</a>, <a class="el" href="tutorial__2_8cpp-example.html#_a25">tutorial_2.cpp</a>, <a class="el" href="tutorial__3_8cpp-example.html#_a20">tutorial_3.cpp</a>, <a class="el" href="tutorial__4_8cpp-example.html#_a37">tutorial_4.cpp</a>, <a class="el" href="tutorial__5_8cpp-example.html#_a23">tutorial_5.cpp</a>, <a class="el" href="tutorial__6_8cpp-example.html#_a22">tutorial_6.cpp</a>, <a class="el" href="tutorial__7_8cpp-example.html#_a23">tutorial_7.cpp</a>, <a class="el" href="tutorial__8_8cpp-example.html#_a24">tutorial_8.cpp</a>, and <a class="el" href="tutorial__9_8cpp-example.html#_a16">tutorial_9.cpp</a>.</p>
114 </dd>
115 </dl>
116 <p>Definition at line <a class="el" href="skype-transport_8h_source.html#l00029">29</a> of file <a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>.</p>
117 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
118 <a class="anchor" id="a51e11e9316a22cb72d69976042eb2078"></a><!-- doxytag: member="SETransport::SETransport" ref="a51e11e9316a22cb72d69976042eb2078" args="()" -->
119 <div class="memitem">
120 <div class="memproto">
121       <table class="memname">
122         <tr>
123           <td class="memname">SETransport::SETransport </td>
124           <td>(</td>
125           <td class="paramname"></td>
126           <td>&nbsp;)&nbsp;</td>
127           <td><code> [inline]</code></td>
128         </tr>
129       </table>
130 </div>
131 <div class="memdoc">
132
133 <p>Definition at line <a class="el" href="skype-transport_8h_source.html#l00056">56</a> of file <a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>.</p>
134
135 </div>
136 </div>
137 <a class="anchor" id="af265d87ae61eeb276948784cae5a76e7"></a><!-- doxytag: member="SETransport::~SETransport" ref="af265d87ae61eeb276948784cae5a76e7" args="()" -->
138 <div class="memitem">
139 <div class="memproto">
140       <table class="memname">
141         <tr>
142           <td class="memname">virtual SETransport::~SETransport </td>
143           <td>(</td>
144           <td class="paramname"></td>
145           <td>&nbsp;)&nbsp;</td>
146           <td><code> [inline, virtual]</code></td>
147         </tr>
148       </table>
149 </div>
150 <div class="memdoc">
151
152 <p>Definition at line <a class="el" href="skype-transport_8h_source.html#l00057">57</a> of file <a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>.</p>
153
154 </div>
155 </div>
156 <hr/><h2>Member Function Documentation</h2>
157 <a class="anchor" id="a21af4c91e511ac90faa8d81bbc75b768"></a><!-- doxytag: member="SETransport::connect" ref="a21af4c91e511ac90faa8d81bbc75b768" args="()=0" -->
158 <div class="memitem">
159 <div class="memproto">
160       <table class="memname">
161         <tr>
162           <td class="memname">virtual bool SETransport::connect </td>
163           <td>(</td>
164           <td class="paramname"></td>
165           <td>&nbsp;)&nbsp;</td>
166           <td><code> [pure virtual]</code></td>
167         </tr>
168       </table>
169 </div>
170 <div class="memdoc">
171
172 <p>Connects to skypekit. When this function returns successfully, you can start sending and receiving messages. </p>
173
174 <p>Implemented in <a class="el" href="class_s_e_socket_transport.html#a910d138d61791c6fed90bf143acf58b3">SESocketTransport</a>, <a class="el" href="class_s_e_t_c_p_transport.html#a242d1aef375280b856f6601d3ab1ae38">SETCPTransport</a>, and <a class="el" href="class_s_e_pipe_transport.html#a3fa08c05b6749187828c2148745211cb">SEPipeTransport</a>.</p>
175
176 </div>
177 </div>
178 <a class="anchor" id="ad72121a97ce0cab2e697b0f82512b2da"></a><!-- doxytag: member="SETransport::disconnect" ref="ad72121a97ce0cab2e697b0f82512b2da" args="()=0" -->
179 <div class="memitem">
180 <div class="memproto">
181       <table class="memname">
182         <tr>
183           <td class="memname">virtual void SETransport::disconnect </td>
184           <td>(</td>
185           <td class="paramname"></td>
186           <td>&nbsp;)&nbsp;</td>
187           <td><code> [pure virtual]</code></td>
188         </tr>
189       </table>
190 </div>
191 <div class="memdoc">
192
193 <p>Disconnects from skypekit. </p>
194
195 <p>Implemented in <a class="el" href="class_s_e_socket_transport.html#ae0ea178e71faec9d2039e33e8be42edd">SESocketTransport</a>, <a class="el" href="class_s_e_t_c_p_transport.html#a2ee5d03c91ffc7e898f9113642bc3fbc">SETCPTransport</a>, and <a class="el" href="class_s_e_pipe_transport.html#ad1db9fcdda1ff05351a5340838f303fb">SEPipeTransport</a>.</p>
196
197 </div>
198 </div>
199 <a class="anchor" id="a2a2ea09333e9a0a9cb7c76042becbf4f"></a><!-- doxytag: member="SETransport::getSocket" ref="a2a2ea09333e9a0a9cb7c76042becbf4f" args="() const =0" -->
200 <div class="memitem">
201 <div class="memproto">
202       <table class="memname">
203         <tr>
204           <td class="memname">virtual int SETransport::getSocket </td>
205           <td>(</td>
206           <td class="paramname"></td>
207           <td>&nbsp;)&nbsp;</td>
208           <td> const<code> [pure virtual]</code></td>
209         </tr>
210       </table>
211 </div>
212 <div class="memdoc">
213
214 <p>Returns the socket descriptor which can be used to manually call select on. If the implementation doesn't support this functionality it returns -1. </p>
215
216 <p>Implemented in <a class="el" href="class_s_e_socket_transport.html#a6f6a20a0bc7966edae9f68c7d21925cd">SESocketTransport</a>, <a class="el" href="class_s_e_t_c_p_transport.html#a2c14f6240ac1de67fd0bc1e9ba6f1e00">SETCPTransport</a>, and <a class="el" href="class_s_e_pipe_transport.html#a9c9cc5adc1d250460cdc44009494eb01">SEPipeTransport</a>.</p>
217
218 </div>
219 </div>
220 <a class="anchor" id="a75af518d0ee4247dc9a765ac4db24d72"></a><!-- doxytag: member="SETransport::isConnected" ref="a75af518d0ee4247dc9a765ac4db24d72" args="() const =0" -->
221 <div class="memitem">
222 <div class="memproto">
223       <table class="memname">
224         <tr>
225           <td class="memname">virtual bool SETransport::isConnected </td>
226           <td>(</td>
227           <td class="paramname"></td>
228           <td>&nbsp;)&nbsp;</td>
229           <td> const<code> [pure virtual]</code></td>
230         </tr>
231       </table>
232 </div>
233 <div class="memdoc">
234
235 <p>Check if the connection to skypekit is still there. </p>
236
237 <p>Implemented in <a class="el" href="class_s_e_socket_transport.html#acf1a9d6839423a8e1fc1d650b7912ae8">SESocketTransport</a>, <a class="el" href="class_s_e_t_c_p_transport.html#a3580adc084a567b049d5e0b721e5937d">SETCPTransport</a>, and <a class="el" href="class_s_e_pipe_transport.html#ab01628d5f35b72408a60b86de933fbcb">SEPipeTransport</a>.</p>
238
239 </div>
240 </div>
241 <a class="anchor" id="a907c927da81aec7894dbdcc14d905d05"></a><!-- doxytag: member="SETransport::LOG" ref="a907c927da81aec7894dbdcc14d905d05" args="(const char *format,...)" -->
242 <div class="memitem">
243 <div class="memproto">
244       <table class="memname">
245         <tr>
246           <td class="memname">void SETransport::LOG </td>
247           <td>(</td>
248           <td class="paramtype">const char *&nbsp;</td>
249           <td class="paramname"> <em>format</em>, </td>
250         </tr>
251         <tr>
252           <td class="paramkey"></td>
253           <td></td>
254           <td class="paramtype">&nbsp;</td>
255           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
256         </tr>
257         <tr>
258           <td></td>
259           <td>)</td>
260           <td></td><td></td><td><code> [inline]</code></td>
261         </tr>
262       </table>
263 </div>
264 <div class="memdoc">
265
266 <p>Definition at line <a class="el" href="skype-transport_8h_source.html#l00044">44</a> of file <a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>.</p>
267
268 <p>References <a class="el" href="skype-string_8cpp_source.html#l00623">SEString::Format()</a>.</p>
269
270 </div>
271 </div>
272 <a class="anchor" id="a6ac0733481dec47755d90d1f410c16d5"></a><!-- doxytag: member="SETransport::read" ref="a6ac0733481dec47755d90d1f410c16d5" args="(unsigned int num_bytes, char *dest)=0" -->
273 <div class="memitem">
274 <div class="memproto">
275       <table class="memname">
276         <tr>
277           <td class="memname">virtual bool SETransport::read </td>
278           <td>(</td>
279           <td class="paramtype">unsigned int&nbsp;</td>
280           <td class="paramname"> <em>num_bytes</em>, </td>
281         </tr>
282         <tr>
283           <td class="paramkey"></td>
284           <td></td>
285           <td class="paramtype">char *&nbsp;</td>
286           <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
287         </tr>
288         <tr>
289           <td></td>
290           <td>)</td>
291           <td></td><td></td><td><code> [pure virtual]</code></td>
292         </tr>
293       </table>
294 </div>
295 <div class="memdoc">
296
297 <p>Implemented in <a class="el" href="class_s_e_t_c_p_transport.html#aee29c4ff6ccfb6291a8da93dc008a7f3">SETCPTransport</a>.</p>
298
299 </div>
300 </div>
301 <a class="anchor" id="a843aa0ef28b3e3bd82faf858cda5db85"></a><!-- doxytag: member="SETransport::write" ref="a843aa0ef28b3e3bd82faf858cda5db85" args="(unsigned int num_bytes, const char *dest)=0" -->
302 <div class="memitem">
303 <div class="memproto">
304       <table class="memname">
305         <tr>
306           <td class="memname">virtual bool SETransport::write </td>
307           <td>(</td>
308           <td class="paramtype">unsigned int&nbsp;</td>
309           <td class="paramname"> <em>num_bytes</em>, </td>
310         </tr>
311         <tr>
312           <td class="paramkey"></td>
313           <td></td>
314           <td class="paramtype">const char *&nbsp;</td>
315           <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
316         </tr>
317         <tr>
318           <td></td>
319           <td>)</td>
320           <td></td><td></td><td><code> [pure virtual]</code></td>
321         </tr>
322       </table>
323 </div>
324 <div class="memdoc">
325
326 <p>Implemented in <a class="el" href="class_s_e_t_c_p_transport.html#a2dff69ef79cb49c986bd41ee6ab1e1ec">SETCPTransport</a>.</p>
327
328 </div>
329 </div>
330 <hr/><h2>Member Data Documentation</h2>
331 <a class="anchor" id="a5e680ec4f492e3db6b5e27da9851ec1f"></a><!-- doxytag: member="SETransport::debug" ref="a5e680ec4f492e3db6b5e27da9851ec1f" args="" -->
332 <div class="memitem">
333 <div class="memproto">
334       <table class="memname">
335         <tr>
336           <td class="memname">bool <a class="el" href="class_s_e_transport.html#a5e680ec4f492e3db6b5e27da9851ec1f">SETransport::debug</a></td>
337         </tr>
338       </table>
339 </div>
340 <div class="memdoc">
341 <p>Enables transport level debugging, i.e. logs the messages exchanged with skypekit. Please note that is for debugging the wrapper only. It might log binary on the console and create weird behaviour then (such when getting the avatar property). </p>
342
343 <p>Definition at line <a class="el" href="skype-transport_8h_source.html#l00036">36</a> of file <a class="el" href="skype-transport_8h_source.html">skype-transport.h</a>.</p>
344
345 </div>
346 </div>
347 <hr/>The documentation for this class was generated from the following file:<ul>
348 <li><a class="el" href="skype-transport_8h_source.html">skype-transport.h</a></li>
349 </ul>
350 </div>
351
352 <hr/>   
353                 <p><b>(c) Skype Technologies S.A. Confidential/Proprietary</b></p>              
354                 <p>Last updated: 18 Jun 2010</p>                
355                 </BODY>
356 </HTML>