blob: a48b19b2f9b80efce5dfeef28e8622aa06111e5c [file] [log] [blame]
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
<title>JsDoc Reference - Guacamole.Client</title>
<style type="text/css">
/* default.css */
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
}
/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
</style>
</head>
<body>
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header">
</div>
<!-- end static/header.html -->
<!-- ============================== classes index ============================ -->
<div id="index">
<!-- begin publish.classesIndex -->
<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li><i><a href="../symbols/_global_.html">_global_</a></i></li>
<li><a href="../symbols/Guacamole.html">Guacamole</a></li>
<li><a href="../symbols/Guacamole.AudioChannel.html">Guacamole.AudioChannel</a></li>
<li><a href="../symbols/Guacamole.AudioChannel.Packet.html">Guacamole.AudioChannel.Packet</a></li>
<li><a href="../symbols/Guacamole.Blob.html">Guacamole.Blob</a></li>
<li><a href="../symbols/Guacamole.ChainedTunnel.html">Guacamole.ChainedTunnel</a></li>
<li><a href="../symbols/Guacamole.Client.html">Guacamole.Client</a></li>
<li><a href="../symbols/Guacamole.Client.LayerContainer.html">Guacamole.Client.LayerContainer</a></li>
<li><a href="../symbols/Guacamole.HTTPTunnel.html">Guacamole.HTTPTunnel</a></li>
<li><a href="../symbols/Guacamole.Keyboard.html">Guacamole.Keyboard</a></li>
<li><a href="../symbols/Guacamole.Layer.html">Guacamole.Layer</a></li>
<li><a href="../symbols/Guacamole.Layer.Pixel.html">Guacamole.Layer.Pixel</a></li>
<li><a href="../symbols/Guacamole.Mouse.html">Guacamole.Mouse</a></li>
<li><a href="../symbols/Guacamole.Mouse.State.html">Guacamole.Mouse.State</a></li>
<li><a href="../symbols/Guacamole.Mouse.Touchpad.html">Guacamole.Mouse.Touchpad</a></li>
<li><a href="../symbols/Guacamole.Mouse.Touchscreen.html">Guacamole.Mouse.Touchscreen</a></li>
<li><a href="../symbols/Guacamole.OnScreenKeyboard.html">Guacamole.OnScreenKeyboard</a></li>
<li><a href="../symbols/Guacamole.OnScreenKeyboard.Cap.html">Guacamole.OnScreenKeyboard.Cap</a></li>
<li><a href="../symbols/Guacamole.OnScreenKeyboard.Key.html">Guacamole.OnScreenKeyboard.Key</a></li>
<li><a href="../symbols/Guacamole.Parser.html">Guacamole.Parser</a></li>
<li><a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a></li>
<li><a href="../symbols/Guacamole.WebSocketTunnel.html">Guacamole.WebSocketTunnel</a></li>
</ul>
<hr />
<!-- end publish.classesIndex -->
</div>
<div id="content">
<!-- ============================== class title ============================ -->
<h1 class="classTitle">
Class Guacamole.Client
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
<br /><i>Defined in: </i> <a href="../symbols/src/src_main_resources_guacamole.js.html">guacamole.js</a>.
</p>
<!-- ============================== constructor summary ==================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class Guacamole.Client.">
<caption>Class Summary</caption>
<thead>
<tr>
<th scope="col">Constructor Attributes</th>
<th scope="col">Constructor Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription" >
<div class="fixedFont">
<b><a href="../symbols/Guacamole.Client.html#constructor">Guacamole.Client</a></b>(tunnel)
</div>
<div class="description">Guacamole protocol client.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== properties summary ===================== -->
<!-- ============================== methods summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class Guacamole.Client.">
<caption>Method Summary</caption>
<thead>
<tr>
<th scope="col">Method Attributes</th>
<th scope="col">Method Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#connect">connect</a></b>(data)
</div>
<div class="description">Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#disconnect">disconnect</a></b>()
</div>
<div class="description">Sends a disconnect instruction to the server and closes the tunnel.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#flatten">flatten</a></b>()
</div>
<div class="description">Returns a canvas element containing the entire display, with all child
layers composited within.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getDisplay">getDisplay</a></b>()
</div>
<div class="description">Returns an element containing the display of this Guacamole.Client.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getHeight">getHeight</a></b>()
</div>
<div class="description">Returns the height of the display.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getScale">getScale</a></b>()
</div>
<div class="description">Returns the scale of the display.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getWidth">getWidth</a></b>()
</div>
<div class="description">Returns the width of the display.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#scale">scale</a></b>(scale)
</div>
<div class="description">Sets the scale of the client display element such that it renders at
a relatively smaller or larger size, without affecting the true
resolution of the display.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendKeyEvent">sendKeyEvent</a></b>(pressed, keysym)
</div>
<div class="description">Sends a key event having the given properties as if the user
pressed or released a key.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendMouseState">sendMouseState</a></b>(mouseState)
</div>
<div class="description">Sends a mouse event having the properties provided by the given mouse
state.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendSize">sendSize</a></b>(width, height)
</div>
<div class="description">Sends the current size of the screen.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#setClipboard">setClipboard</a></b>(data)
</div>
<div class="description">Sets the clipboard of the remote client to the given text data.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== events summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the events documented in the class Guacamole.Client.">
<caption>Event Summary</caption>
<thead>
<tr>
<th scope="col">Event Attributes</th>
<th scope="col">Event Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onblob">onblob</a></b>(blob)
</div>
<div class="description">Fired when a blob is created.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onclipboard">onclipboard</a></b>(data)
</div>
<div class="description">Fired when the clipboard of the remote client is changing.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onerror">onerror</a></b>(error)
</div>
<div class="description">Fired when an error is reported by the remote client, and the connection
is being closed.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onname">onname</a></b>(name)
</div>
<div class="description">Fired when the remote client sends a name update.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onresize">onresize</a></b>(width, height)
</div>
<div class="description">Fired when the default layer (and thus the entire Guacamole display)
is resized.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onstatechange">onstatechange</a></b>(state)
</div>
<div class="description">Fired whenever the state of this Guacamole.Client changes.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== constructor details ==================== -->
<div class="details"><a name="constructor"> </a>
<div class="sectionTitle">
Class Detail
</div>
<div class="fixedFont">
<b>Guacamole.Client</b>(tunnel)
</div>
<div class="description">
Guacamole protocol client. Given a display element and <a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a>,
automatically handles incoming and outgoing Guacamole instructions via the
provided tunnel, updating the display using one or more canvas elements.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a>}</span> <b>tunnel</b>
</dt>
<dd>The tunnel to use to send and receive
Guacamole instructions.</dd>
</dl>
</div>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<div class="sectionTitle">
Method Detail
</div>
<a name="connect"> </a>
<div class="fixedFont">
<b>connect</b>(data)
</div>
<div class="description">
Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<b>data</b>
</dt>
<dd>Arbitrary connection data to be sent to the underlying
tunnel during the connection process.</dd>
</dl>
<hr />
<a name="disconnect"> </a>
<div class="fixedFont">
<b>disconnect</b>()
</div>
<div class="description">
Sends a disconnect instruction to the server and closes the tunnel.
</div>
<hr />
<a name="flatten"> </a>
<div class="fixedFont">
<span class="light">{HTMLCanvasElement}</span>
<b>flatten</b>()
</div>
<div class="description">
Returns a canvas element containing the entire display, with all child
layers composited within.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{HTMLCanvasElement}</span> A new canvas element containing a copy of
the display.</dd>
</dl>
<hr />
<a name="getDisplay"> </a>
<div class="fixedFont">
<span class="light">{Element}</span>
<b>getDisplay</b>()
</div>
<div class="description">
Returns an element containing the display of this Guacamole.Client.
Adding the element returned by this function to an element in the body
of a document will cause the client's display to be visible.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Element}</span> An element containing ths display of this
Guacamole.Client.</dd>
</dl>
<hr />
<a name="getHeight"> </a>
<div class="fixedFont">
<span class="light">{Number}</span>
<b>getHeight</b>()
</div>
<div class="description">
Returns the height of the display.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> The height of the display.</dd>
</dl>
<hr />
<a name="getScale"> </a>
<div class="fixedFont">
<span class="light">{Number}</span>
<b>getScale</b>()
</div>
<div class="description">
Returns the scale of the display.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> The scale of the display.</dd>
</dl>
<hr />
<a name="getWidth"> </a>
<div class="fixedFont">
<span class="light">{Number}</span>
<b>getWidth</b>()
</div>
<div class="description">
Returns the width of the display.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> The width of the display.</dd>
</dl>
<hr />
<a name="scale"> </a>
<div class="fixedFont">
<b>scale</b>(scale)
</div>
<div class="description">
Sets the scale of the client display element such that it renders at
a relatively smaller or larger size, without affecting the true
resolution of the display.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Number}</span> <b>scale</b>
</dt>
<dd>The scale to resize to, where 1.0 is normal
size (1:1 scale).</dd>
</dl>
<hr />
<a name="sendKeyEvent"> </a>
<div class="fixedFont">
<b>sendKeyEvent</b>(pressed, keysym)
</div>
<div class="description">
Sends a key event having the given properties as if the user
pressed or released a key.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Boolean}</span> <b>pressed</b>
</dt>
<dd>Whether the key is pressed (true) or released
(false).</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>keysym</b>
</dt>
<dd>The keysym of the key being pressed or released.</dd>
</dl>
<hr />
<a name="sendMouseState"> </a>
<div class="fixedFont">
<b>sendMouseState</b>(mouseState)
</div>
<div class="description">
Sends a mouse event having the properties provided by the given mouse
state.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/Guacamole.Mouse.State.html">Guacamole.Mouse.State</a>}</span> <b>mouseState</b>
</dt>
<dd>The state of the mouse to send
in the mouse event.</dd>
</dl>
<hr />
<a name="sendSize"> </a>
<div class="fixedFont">
<b>sendSize</b>(width, height)
</div>
<div class="description">
Sends the current size of the screen.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Number}</span> <b>width</b>
</dt>
<dd>The width of the screen.</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>height</b>
</dt>
<dd>The height of the screen.</dd>
</dl>
<hr />
<a name="setClipboard"> </a>
<div class="fixedFont">
<b>setClipboard</b>(data)
</div>
<div class="description">
Sets the clipboard of the remote client to the given text data.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>data</b>
</dt>
<dd>The data to send as the clipboard contents.</dd>
</dl>
<!-- ============================== event details ========================= -->
<div class="sectionTitle">
Event Detail
</div>
<a name="event:onblob"> </a>
<div class="fixedFont">
<b>onblob</b>(blob)
</div>
<div class="description">
Fired when a blob is created. The blob provided to this event handler
will contain its own event handlers for received data and the close
event.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/Guacamole.Blob.html">Guacamole.Blob</a>}</span> <b>blob</b>
</dt>
<dd>A container for blob data that will receive
data from the server.</dd>
</dl>
<hr />
<a name="event:onclipboard"> </a>
<div class="fixedFont">
<b>onclipboard</b>(data)
</div>
<div class="description">
Fired when the clipboard of the remote client is changing.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>data</b>
</dt>
<dd>The new text data of the remote clipboard.</dd>
</dl>
<hr />
<a name="event:onerror"> </a>
<div class="fixedFont">
<b>onerror</b>(error)
</div>
<div class="description">
Fired when an error is reported by the remote client, and the connection
is being closed.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>error</b>
</dt>
<dd>A human-readable description of the error.</dd>
</dl>
<hr />
<a name="event:onname"> </a>
<div class="fixedFont">
<b>onname</b>(name)
</div>
<div class="description">
Fired when the remote client sends a name update.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>name</b>
</dt>
<dd>The new name of this client.</dd>
</dl>
<hr />
<a name="event:onresize"> </a>
<div class="fixedFont">
<b>onresize</b>(width, height)
</div>
<div class="description">
Fired when the default layer (and thus the entire Guacamole display)
is resized.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Number}</span> <b>width</b>
</dt>
<dd>The new width of the Guacamole display.</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>height</b>
</dt>
<dd>The new height of the Guacamole display.</dd>
</dl>
<hr />
<a name="event:onstatechange"> </a>
<div class="fixedFont">
<b>onstatechange</b>(state)
</div>
<div class="description">
Fired whenever the state of this Guacamole.Client changes.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Number}</span> <b>state</b>
</dt>
<dd>The new state of the client.</dd>
</dl>
<hr />
</div>
<!-- ============================== footer ================================= -->
<div class="fineprint" style="clear:both">
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Fri May 23 2014 12:15:22 GMT-0700 (PDT)
</div>
<!-- Google Analytics -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-75289145-1', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
</body>
</html>