[Libreoffice-commits] core.git: firefoxos/sdremote

Andrzej J.R. Hunt andrzej at ahunt.org
Thu Apr 11 12:47:37 PDT 2013


 firefoxos/sdremote/index.html        |   23 ++++++++--
 firefoxos/sdremote/js/client.js      |   57 +++++++++++++++++++++++++
 firefoxos/sdremote/js/transmitter.js |   78 ++++++++++++++---------------------
 3 files changed, 110 insertions(+), 48 deletions(-)

New commits:
commit 4fae09f7ed6360dd6c7b4ce2e57166221820d450
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Thu Apr 11 20:44:54 2013 +0100

    Complete slideshow control functions.
    
    Change-Id: I093d1a06c6771a22fb804b302d573dbfa72aaf86

diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html
index 4d07d6e..eaf82f9 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 0000000..f9ad71b
--- /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 b22b270..3fd500e 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


More information about the Libreoffice-commits mailing list