diff options
author | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-04-11 18:17:30 +0100 |
---|---|---|
committer | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-04-11 18:17:30 +0100 |
commit | 6b3bca32186a59cc3632d3f6eb7f329b739e75b0 (patch) | |
tree | 9c8e6dabfe9bea7d4347c7905b097c0e0926ec71 /firefoxos | |
parent | i#79611: SvxFieldData::Create() is not supposed to throw. (diff) | |
download | core-6b3bca32186a59cc3632d3f6eb7f329b739e75b0.tar.gz core-6b3bca32186a59cc3632d3f6eb7f329b739e75b0.zip |
Basic Firefox OS Impress Remote.
Change-Id: Icb62af55a9d117627794852971a20542db51424c
Diffstat (limited to 'firefoxos')
-rw-r--r-- | firefoxos/sdremote/index.html | 29 | ||||
-rw-r--r-- | firefoxos/sdremote/js/transmitter.js | 57 | ||||
-rw-r--r-- | firefoxos/sdremote/manifest.webapp | 26 |
3 files changed, 112 insertions, 0 deletions
diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html new file mode 100644 index 000000000000..4d07d6eac458 --- /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 000000000000..b22b2706b364 --- /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 000000000000..a63e399a776b --- /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 |