From 4fae09f7ed6360dd6c7b4ce2e57166221820d450 Mon Sep 17 00:00:00 2001 From: "Andrzej J.R. Hunt" Date: Thu, 11 Apr 2013 20:44:54 +0100 Subject: Complete slideshow control functions. Change-Id: I093d1a06c6771a22fb804b302d573dbfa72aaf86 --- firefoxos/sdremote/index.html | 23 +++++++++-- firefoxos/sdremote/js/client.js | 57 ++++++++++++++++++++++++++ firefoxos/sdremote/js/transmitter.js | 78 +++++++++++++++--------------------- 3 files changed, 110 insertions(+), 48 deletions(-) create mode 100644 firefoxos/sdremote/js/client.js 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; + - - + + +

+ + + + +

+ + + +
+ + +
+ +

Current slide: ---

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 -- cgit