summaryrefslogtreecommitdiff
path: root/firefoxos
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-04-11 20:44:54 +0100
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-04-11 20:46:16 +0100
commit4fae09f7ed6360dd6c7b4ce2e57166221820d450 (patch)
tree5a13d44fcb4f833dc0392670cd4f2d75fb5abb58 /firefoxos
parent6b3bca32186a59cc3632d3f6eb7f329b739e75b0 (diff)
Complete slideshow control functions.
Change-Id: I093d1a06c6771a22fb804b302d573dbfa72aaf86
Diffstat (limited to 'firefoxos')
-rw-r--r--firefoxos/sdremote/index.html23
-rw-r--r--firefoxos/sdremote/js/client.js57
-rw-r--r--firefoxos/sdremote/js/transmitter.js78
3 files changed, 110 insertions, 48 deletions
diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html
index 4d07d6eac458..eaf82f9a81be 100644
--- a/firefoxos/sdremote/index.html
+++ b/firefoxos/sdremote/index.html
@@ -17,13 +17,30 @@
console.info("Hello world");
}
- var mCommunicator;
+ var mClient;
+ var mTransmitter;
</script>
+ <script src="js/client.js"></script>
<script src="js/transmitter.js"></script>
</head>
<body onLoad="init();">
- <button id="open_comm" onclick="mCommunicator = new Communicator('127.0.0.1');">Press to Connect (localhost)</button>
- <button id="transition_next" onclick="if (mCommunicator) mCommunicator.sendMessage('transition_next\n\n');">transition_next</button>
+ <button id="open_comm" onclick="mClient = new Client('127.0.0.1'); mTransmitter = new Transmitter( mClient );">Press to Connect (localhost)</button>
+
+ <br/><br/>
+
+ <button id="startPres" onclick="mTransmitter.startPresentation()">Start Presentation</button>
+ <button id="stopPres" onclick="mTransmitter.stopPresentation()">Stop Presentation</button>
+
+ <br/><br/>
+
+ <button id="next" onclick="mTransmitter.nextTransition()">Next</button>
+ <button id="previous" onclick="mTransmitter.previousTransition()">Previous</button>
+ <br/>
+ <button id="blank" onclick="mTransmitter.blankScreen()">Blank Screen</button>
+ <button id="resume" onclick="mTransmitter.resume()">Resume</button>
+ <br/>
+
+
<p>Current slide: <span id="current slide">---</span></p>
</body>
</html>
diff --git a/firefoxos/sdremote/js/client.js b/firefoxos/sdremote/js/client.js
new file mode 100644
index 000000000000..f9ad71b8b250
--- /dev/null
+++ b/firefoxos/sdremote/js/client.js
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+function Client( aServerAddress ) {
+
+ var mReceiveBuffer = "";
+ var mCurrentMessage = [];
+ var mSocket;
+
+ // PUBLIC
+ this.sendMessage = function( aMessage ) {
+ mSocket.send( aMessage );
+ }
+
+ // PRIVATE
+ function processMessage( aMessage ) {
+ console.log( "Received message " + aMessage );
+ }
+
+ function dataReceived( aEvent ) {
+ mReceiveBuffer += aEvent.data;
+ var i;
+ while ( ( i = mReceiveBuffer.indexOf( '\n' ) ) != -1 ) {
+ var aLine = mReceiveBuffer.substring( 0, i );
+ mReceiveBuffer = mReceiveBuffer.substring( i+1 );
+ if ( aLine.length > 0 ) {
+ mCurrentMessage.push( aLine );
+ } else {
+ processMessage( mCurrentMessage );
+ mCurrentMessage = [];
+ }
+ aLine = "";
+ }
+ }
+
+ // CONSTRUCTOR
+ if( navigator.mozTCPSocket ) {
+ mSocket = navigator.mozTCPSocket.open( "localhost", 1599 );
+ mSocket.onopen = function( aEvent ) {
+ console.log( "Received onopen" );
+ mSocket.send( "LO_SERVER_CLIENT_PAIR\nFirefox OS\n1234\n\n" );
+ }
+ mSocket.onerror = function( aEvent ) {
+ console.log( "Received error: " + aEvent.data );
+ }
+ mSocket.ondata = dataReceived;
+ } else {
+ console.log( "Can't access socket." );
+ }
+
+}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
diff --git a/firefoxos/sdremote/js/transmitter.js b/firefoxos/sdremote/js/transmitter.js
index b22b2706b364..3fd500e25264 100644
--- a/firefoxos/sdremote/js/transmitter.js
+++ b/firefoxos/sdremote/js/transmitter.js
@@ -6,52 +6,40 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-function Communicator( aServerAddress ) {
-
- var mReceiveBuffer = "";
- var mCurrentMessage = [];
- var mSocket;
-
- // PUBLIC
- this.sendMessage = function( aMessage ) {
- mSocket.send( aMessage );
- }
-
- // PRIVATE
- function processMessage( aMessage ) {
- console.log( "Received message " + aMessage );
- }
-
- function dataReceived( aEvent ) {
- mReceiveBuffer += aEvent.data;
- var i;
- while ( ( i = mReceiveBuffer.indexOf( '\n' ) ) != -1 ) {
- var aLine = mReceiveBuffer.substring( 0, i );
- mReceiveBuffer = mReceiveBuffer.substring( i+1 );
- if ( aLine.length > 0 ) {
- mCurrentMessage.push( aLine );
- } else {
- processMessage( mCurrentMessage );
- mCurrentMessage = [];
- }
- aLine = "";
- }
- }
-
- // CONSTRUCTOR
- if( navigator.mozTCPSocket ) {
- mSocket = navigator.mozTCPSocket.open( "localhost", 1599 );
- mSocket.onopen = function( aEvent ) {
- console.log( "Received onopen" );
- mSocket.send( "LO_SERVER_CLIENT_PAIR\nFirefox OS\n1234\n\n" );
- }
- mSocket.onerror = function( aEvent ) {
- console.log( "Received error: " + aEvent.data );
- }
- mSocket.ondata = dataReceived;
- } else {
- console.log( "Can't access socket." );
+function Transmitter( aClient ) {
+
+ var mClient = aClient;
+
+ this.nextTransition = function() {
+ mClient.sendMessage( "transition_next\n\n" );
+ }
+
+ this.previousTransition = function() {
+ mClient.sendMessage( "transition_previous\n\n" );
+ }
+
+ this.gotoSlide = function( aSlide ) {
+ mClient.sendMessage( "goto_slide\n" + aSlide + "\n\n" );
+ }
+
+ this.blankScreen = function() {
+ mClient.sendMessage( "presentation_blank_screen\n\n" );
}
+ this.blankScreen = function( aColor ) {
+ mClient.sendMessage( "presentation_blank_screen\n" + aColor + "\n\n" );
+ }
+
+ this.resume = function() {
+ mClient.sendMessage( "presentation_resume\n\n" );
+ }
+
+ this.startPresentation = function() {
+ mClient.sendMessage( "presentation_start\n\n" );
+ }
+
+ this.stopPresentation = function() {
+ mClient.sendMessage( "presentation_stop\n\n" );
+ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file