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

Andrzej J.R. Hunt andrzej at ahunt.org
Thu Apr 11 10:20:16 PDT 2013


 firefoxos/sdremote/index.html        |   29 +++++++++++++++++
 firefoxos/sdremote/js/transmitter.js |   57 +++++++++++++++++++++++++++++++++++
 firefoxos/sdremote/manifest.webapp   |   26 +++++++++++++++
 3 files changed, 112 insertions(+)

New commits:
commit 6b3bca32186a59cc3632d3f6eb7f329b739e75b0
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Thu Apr 11 18:17:30 2013 +0100

    Basic Firefox OS Impress Remote.
    
    Change-Id: Icb62af55a9d117627794852971a20542db51424c

diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html
new file mode 100644
index 0000000..4d07d6e
--- /dev/null
+++ b/firefoxos/sdremote/index.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<!--
+ * 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/.
+ *
+-->
+<html>
+<head>
+    <title>SDRemote Firefox OS Demo</title>
+    <!--<meta name="viewport" content="width=device-width" />-->
+
+    <script>
+        function init() {
+            console.info("Hello world");
+        }
+
+        var mCommunicator;
+    </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>
+    <p>Current slide: <span id="current slide">---</span></p>
+</body>
+</html>
diff --git a/firefoxos/sdremote/js/transmitter.js b/firefoxos/sdremote/js/transmitter.js
new file mode 100644
index 0000000..b22b270
--- /dev/null
+++ b/firefoxos/sdremote/js/transmitter.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 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." );
+    }
+
+}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/firefoxos/sdremote/manifest.webapp b/firefoxos/sdremote/manifest.webapp
new file mode 100644
index 0000000..a63e399
--- /dev/null
+++ b/firefoxos/sdremote/manifest.webapp
@@ -0,0 +1,26 @@
+{
+    "name": "Impress Remote",
+    "description": "Remote control for LibreOffice Impress slideshows.",
+    "launch_path": "/index.html",
+    "developer": {
+        "name": "The Document Foundation",
+        "url": "http://www.libreoffice.org"
+    },
+    "icons": {
+        "16": "/img/icon16.png",
+        "32": "/img/icon32.png",
+        "48": "/img/icon48.png",
+        "64": "/img/icon64.png",
+        "128": "/img/icon128.png"
+    },
+    "default_locale": "en",
+    "type": "certified",
+    "permissions": {
+        "tcp-socket": {
+            "description": "Required to connect to LO server using wifi."
+        },
+        "bluetooth": {
+            "description": "Required to connect to LO server using bluetooth."
+        }
+    }
+}
\ No newline at end of file


More information about the Libreoffice-commits mailing list