Author: vingtetun
Date: 2009-02-17 02:25:27 +0100 (Tue, 17 Feb 2009)
New Revision: 3652
Modified:
software_suite_v2/tuxware/tuxhttpserver/trunk/src/data/js/TuxAPI.js
Log:
* Remove dependancy from HashTable and rewrite a cleaner TuxHTTPRequest, plus
some minor correction
Modified: software_suite_v2/tuxware/tuxhttpserver/trunk/src/data/js/TuxAPI.js
===================================================================
--- software_suite_v2/tuxware/tuxhttpserver/trunk/src/data/js/TuxAPI.js
2009-02-16 14:37:48 UTC (rev 3651)
+++ software_suite_v2/tuxware/tuxhttpserver/trunk/src/data/js/TuxAPI.js
2009-02-17 01:25:27 UTC (rev 3652)
@@ -5,8 +5,9 @@
* trying to be as closed as possible from the python one.
*
* TODO
- * Rename the CommandRequest en TuxHTTPRequest to be consistent
* Remove const keyword for other browser than moz
+ * Throw error instead of returning some false result
+ * Check all the default value
*
*/
@@ -47,19 +48,19 @@
verDict["api"] = this.getVersion();
verDict["tuxhttpserver"] = this.server.getVersion();
rv = this.status.requestOne(ST_NAME_DRIVER_SYMB_VER);
- verDict["libtuxdriver"] = rv.get("data0").get("value");
+ verDict["libtuxdriver"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_OSL_SYMB_VER)
- verDict["libtuxosl"] = rv.get("data0").get("value");
+ verDict["libtuxosl"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_TUXCORE_SYMB_VER)
- verDict["tuxcore"] = rv.get("data0").get("value");
+ verDict["tuxcore"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_TUXAUDIO_SYMB_VER)
- verDict["tuxaudio"] = rv.get("data0").get("value");
+ verDict["tuxaudio"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_FUXUSB_SYMB_VER)
- verDict["fuxusb"] = rv.get("data0").get("value");
+ verDict["fuxusb"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_FUXRF_SYMB_VER)
- verDict["fuxrf"] = rv.get("data0").get("value");
+ verDict["fuxrf"] = rv["data0"]["value"];
rv = this.status.requestOne(ST_NAME_TUXRF_SYMB_VER)
- verDict["tuxrf"] = rv.get("data0").get("value");
+ verDict["tuxrf"] = rv["data0"]["value"];
return verDict;
};
@@ -526,8 +527,8 @@
this.getState = function(){
var rv = self.status.requestOne( aSwitchName );
- if (rv.get("result") == "Success"){
- if( rv.get("data0").get("value") == 'False') return false;
+ if (rv["result"] == "Success"){
+ if( rv["data0"]["value"] == 'False') return false;
else return true;
}
return null;
@@ -581,8 +582,8 @@
this.getState = function(){
var rv = self.status.requestOne( ST_NAME_REMOTE_BUTTON );
- if (rv.get("result") == "Success"){
- return rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ return rv["data0"]["value"];
}
return K_RELEASED;
},
@@ -635,9 +636,7 @@
this.acquire = function( aPriorityLevel ){
if( aPriorityLevel == undefined ) aPriorityLevel = ACCESS_PRIORITY_NORMAL;
if( self.server.getClientLevel() == CLIENT_LEVEL_ANONYME ) return false;
- var rv = self.server.request( 'access', 'acquire' , {
'priority_level':aPriorityLevel } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'acquire' , {
'priority_level':aPriorityLevel }, {}, {} );
},
this.waitAcquire = function( aTimeout, aPriorityLevel ){
@@ -645,42 +644,32 @@
while (!this.acquire(priorityLevel)){
if( start + (aTimeout*1000) > (new Date()).getTime() ) return false;
}
- return True
+ return true
},
this.forcingAcquire = function( aClientID ){
if( self.server.getClientLevel() != CLIENT_LEVEL_ROOT ) return false;
- var rv = self.server.request( 'access', 'forcing_acquire' , {
'id_client':aClientID } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'forcing_acquire' , {
'id_client':aClientID }, {}, {});
},
this.release = function(){
if( self.server.getClientLevel() == CLIENT_LEVEL_ANONYME ) return false;
- var rv = self.server.request( 'access', 'release' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'release' , {}, {}, {} );
},
this.forcingRelease = function(){
if( self.server.getClientLevel() != CLIENT_LEVEL_ROOT ) return false;
- var rv = self.server.request( 'access', 'forcing_release' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'forcing_release' , {}, {}, {} );
},
this.lock = function(){
if( self.server.getClientLevel() != CLIENT_LEVEL_ROOT ) return false;
- var rv = self.server.request( 'access', 'lock' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'lock' , {}, {}, {} );
},
this.unLock = function(){
if( self.server.getClientLevel() != CLIENT_LEVEL_ROOT ) return false;
- var rv = self.server.request( 'access', 'unlock' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'access', 'unlock' , {}, {}, {} );
}
};
@@ -692,21 +681,15 @@
* **************************************************************************/
var TuxAPI_attitune = function( self ){
this.load = function( aPath ){
- var rv = self.server.request( 'attitune', 'load' , { 'path':aPath } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'attitune', 'load' , { 'path':aPath }, {}, {}
);
},
this.play = function( aBegin ){
- var rv = self.server.request( 'attitune', 'play' , { 'begin':aBegin } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'attitune', 'play' , { 'begin':aBegin }, {},
{} );
},
this.stop = function(){
- var rv = self.server.request( 'attitune', 'stop' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'attitune', 'stop' , {}, {}, {} );
},
this.loadAndPlay = function( aPath ){
@@ -725,9 +708,7 @@
var _eventHandlers = self.getEventHandlers();
this.playAsync = function(){
- var rv = self.server.request( 'sound_flash', 'play' , { 'track': aTrack,
'volume':aVolume } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'sound_flash', 'play' , { 'track': aTrack,
'volume':aVolume }, {}, {} );
},
this.play = function( aTrack, aVolume ){
@@ -738,9 +719,7 @@
},
this.reflash = function( someTracks ){
- var rv = self.server.request( 'sound_flash', 'reflash' , { 'tracks':
someTracks } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'sound_flash', 'reflash' , { 'tracks':
someTracks }, {}, {} );
}
};
@@ -758,9 +737,7 @@
rawCommand += ':0x' + b2;
rawCommand += ':0x' + b3;
rawCommand += ':0x' + b4;
- var rv = self.server.request( 'macro', 'play' , { 'macro':rawCommand } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'macro', 'play' , { 'macro':rawCommand }, {},
{} );
}
};
@@ -774,9 +751,7 @@
var _eventHandlers = self.getEventHandlers();
this.playAsync = function( aBegin, aEnd, aPath ){
- var rv = self.server.request( 'wav', 'play' , { 'begin':aBegin,
'end':aEnd, 'path':aPath } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'wav', 'play' , { 'begin':aBegin, 'end':aEnd,
'path':aPath }, {}, {} );
},
this.play = function( aBegin, aEnd, aPath ){
@@ -787,15 +762,11 @@
},
this.stop = function(){
- var rv = self.server.request( 'wav', 'stop' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'wav', 'stop' , {}, {}, {} );
},
this.setPause = function( aValue ){
- var rv = self.server.request( 'wav', 'pause' , { 'value': aValue } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'wav', 'pause' , { 'value': aValue }, {}, {} );
}
};
@@ -836,41 +807,83 @@
_locutor = aLocutor;
},
- this.speakAsync = function(){
- return TUXAPI_NOT_IMPLEMENTED;
+ this.speakAsync = function( aText, aLocutor, aPitch ){
+ if( aLocutor != undefined ) this.setLocutor( aLocutor );
+ if( !self.server.request( 'tts', 'locutor_name', { 'name':_locutor }, {},
{} ) ) return false;
+
+ if( aPitch != undefined ) this.setPitch( aPitch );
+ if( !self.server.request( 'tts', 'pitch', { 'value':_locutor }, {}, {} ) )
return false;
+
+ //XXX Do the encoding stuff
+
+ // Remove ending lines
+ aText = aText.replace('\n', '.');
+
+ // Perform the speech
+ var mText = escape( aText );
+ var result = {};
+ if( !self.server.request( 'tts', 'speak', { 'text':mText }, {}, result ) )
return false;
+
+ if( self.server.getClientLevel() == CLIENT_LEVEL_ANONYME ) return result;
+
+ // Wait the speak status
+ var rv = __eventHandlers.waitCondition(ST_NAME_SPEAK_STATUS, null, 5.0)
+ if (!rv ) return False
+
+ // Get the speak status
+ rv = self.status.requestOne(ST_NAME_SPEAK_STATUS)
+ if (rv["value"] == "NoError") return true;
+ return false;
},
- this.speakPush = function(){
- return TUXAPI_NOT_IMPLEMENTED;
+ this.speakPush = function( aText ){
+ //XXX Do the encoding stuff
+
+ // Remove ending lines
+ aText = aText.replace('\n', '.');
+
+ // Perform the speech
+ var mText = escape( aText );
+ return self.server.request( 'tts', 'stack_speak', { 'text':mText }, {}, {}
);
},
this.speakFlush = function(){
- var rv = this.request( 'tts', 'flush', {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'tts', 'flush', {}, {}, {} );
},
- this.speak = function(){
- return TUXAPI_NOT_IMPLEMENTED;
+ this.speak = function( aText, aLocutor, aPitch ){
+ if ( this.speakAsync( aText, aLocutor, aPitch ) ){
+ if( self.server.getClientLevel() == CLIENT_LEVEL_ANONYME ) return true;
+ _eventHandlers.waitCondition(ST_NAME_TTS_SOUND_STATE, "ON", 1.0)
+ var rv = self.status.requestOne(ST_NAME_TTS_SOUND_STATE);
+ if (rv["value"] == "ON")
+ _eventHandlers.waitCondition(ST_NAME_TTS_SOUND_STATE, "OFF", 9.0)
+ return true;
+ }
+ return false;
},
this.stop = function(){
- var rv = this.request( 'tts', 'stop', {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'tts', 'stop', {}, {}, {} );
},
this.setPause = function( aValue ){
if( aValue == undefined ) aValue = true;
if( aValue ) aValue = 'True';
else aValue = 'False';
- var rv = this.request( 'tts', 'pause', { 'value':aValue } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'tts', 'pause', { 'value':aValue }, {}, {} );
},
this.getVoices = function(){
- return TUXAPI_NOT_IMPLEMENTED;
+ var rv = [];
+ var result = {};
+ if( !self.server.request( 'tts', 'voices', {}, {}, result ) ) return [];
+ var dataCount = parseInt(result['data_count']);
+ for( var i = 0 ; i < dataCount ; i++){
+ rv.push( result['data' + i]['locutor'] );
+ rv[i] = rv[i].substring(0, rv[i].length - 2);
+ }
+ return rv;
},
this.registerEventOnVoiceList = function( aFunc ){
@@ -912,6 +925,7 @@
* **************************************************************************/
var TuxAPI_server = function( self, aHost, aPort ){
var _eventHandlers = self.getEventHandlers();
+ var _sender = new TuxHTTPRequest( aHost, aPort );
this.autoConnect = function( aLevel, aName, aPasswd ){
_autoConnectTimer = setInterval( function(){
@@ -922,11 +936,12 @@
this.connect = function tuxConnect( aLevel, aName, aPasswd ){
if (_connected) return true;
- var rv = this.request( 'client', 'create', {'level':aLevel, 'name':aName,
'passwd':aPasswd } );
+ var result = {};
+ this.request( 'client', 'create', {'level':aLevel, 'name':aName,
'passwd':aPasswd } , {}, result, true);
var id_client = "-1";
- if (rv.get("result") == "Success"){
- id_client = rv.get("data0").get("client_id");
+ if (result["result"] == "Success"){
+ id_client = result["data0"]["client_id"];
}
if (id_client != "-1"){
@@ -960,8 +975,7 @@
clearInterval( _autoConnectTimer );
_connected = false;
- var rv = this.request( 'client', 'destroy', { 'passwd':this._passwd } );
- if (rv.get("result") == "Success") {
+ if( this.request( 'client', 'destroy', { 'passwd':this._passwd }, {}, {} )
){
_eventHandlers.emit( ST_NAME_API_CONNECT, ['False',0] );
return true;
}
@@ -991,27 +1005,78 @@
},
this.getVersion = function(){
- var rv = send_command( _base_url + 'version?' );
+
+ //XXX to do
+ var result = {};
+ this.request( null, 'version', {}, {}, result );
- if (rv.get("result") == "Success")
- return rv.get("data0").get("version");
+ if (result["result"] == "Success")
+ return result["data0"]["version"];
return null;
},
- //request(self, cmd, varStruct = {}, varResult = {}, forceExec = False):
- this.request = function( aModule, aCommand , someParams ){
- //if ( !this._connected ) return false;
+ this.request = function( aModule, aCommand , someParams, aStruct, aResult,
aForceExec ){
+ if( aForceExec == undefined ) aForceExec = false;
+ if( ! aForceExec )
+ if (!this.getConnected() ) return false;
- var cmd = _base_url + aModule + '/' + aCommand + '?';
+ // Build the request
+ if( aModule != null )
+ var cmd = _base_url + aModule + '/' + aCommand + '?';
+ else
+ var cmd = _base_url + aCommand + '?';
+
var params = '';
-
for (param in someParams){
params += param + '=' + someParams[param] + '&';
}
//XXX Check the last char if it is a & and remove it
+
+ var rv = _sender.request( cmd + params );
+ if (rv['server_run'] != "Success") // Server seems to be disconnected
+ return false;
+ if (rv['result'] != "Success") return false;
+
+
+ function getValueFromStructure( aStructure, aValuePath ){
+ var pathList = aValuePath.split('.');
+ var node = aStructure;
+ var result = null;
- return send_command( cmd + params );
+ for( var i = 0 ; i < pathList.length ; i++ ){
+ if( node[pathList[i]] ){
+ if( i == pathList.length - 1){
+ result = node[pathList[i]];
+ return result;
+ }
+ else
+ node = node[pathList[i]];
+ }
+ else
+ return result;
+ }
+
+ return result;
+ }
+
+
+ // Get values from paths
+ var lenStruct = 0;
+ for (var k in aStruct) lenStruct++;
+ if( lenStruct ){
+ for (var key in aStruct){
+ var valuePath = aStruct[key];
+ var value = getValueFromStructure( aStruct, valuePath );
+ aResult[key] = value;
+ }
+ }
+ else{
+ for (var key in rv){
+ aResult[key] = rv[key];
+ }
+ }
+ return true;
}
// Private variables
@@ -1030,7 +1095,109 @@
+
/*****************************************************************************
+ * HTTPRequest Namespace
+ * **************************************************************************/
+var TuxHTTPRequest = function( aHost, aPort ){
+ var _sendCommand = function( aUrl, aMethod ){
+ if (window.XMLHttpRequest){ // Mozilla, Safari,...
+ var xhr = new XMLHttpRequest();
+ if (xhr.overrideMimeType) xhr.overrideMimeType('text/xml');
+ }
+ else{
+ if (window.ActiveXObject){ // IE
+ try{
+ var xhr = new ActiveXObject("Msxml2.XMLHTTP");
+ }
+ catch(e){
+ try{
+ var xhr = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (e){}
+ }
+ }
+ }
+
+ if (!xhr){
+ alert('Cannot create XMLHTTP instance');
+ return false;
+ }
+
+ xhr.open( aMethod, aUrl, false);
+ try{
+ xhr.send(null);
+ }
+ catch (e){
+ return false;
+ }
+ if( xhr.status != 200 )
+ return false;
+
+ return xhr;
+ };
+
+ var _parseXml = function( anXML ){
+ var struct = {
+ 'result': 'Failed',
+ 'data_count': 0,
+ 'server_run': 'Success'
+ }
+
+ var dataCount = 0;
+ var dataNodeName = '';
+
+ var root = anXML.firstChild;
+ for( var i = 0 ; i < root.childNodes.length ; i++ ){
+ var node = root.childNodes[i];
+ if( node.firstChild.nodeValue ){
+ struct[node.nodeName] = node.firstChild.data;
+ }
+ else{
+ var subStruct = {};
+ for( var j = 0 ; j < node.childNodes.length ; j++ ){
+ var node1 = node.childNodes[j];
+ subStruct[node1.nodeName] = node1.firstChild.data;
+ if( node.nodeName == "data" )
+ var dataNodeName = "data" + dataCount++;
+ else
+ var dataNodeName = node.nodeName
+ struct[dataNodeName] = subStruct;
+ }
+ }
+ }
+
+ struct['data_count'] = dataCount;
+
+ return struct;
+ };
+
+ this.request = function( aCmd, aMethod ){
+ if( aMethod == undefined ) aMethod = 'GET';
+ var xmlStruct = {
+ 'result': 'Failed',
+ 'data_count': 0,
+ 'server_run': 'Failed',
+ }
+ var xml = _sendCommand( aCmd, aMethod );
+ if( !xml ){
+ return xmlStruct;
+ }
+
+ if(xml.getResponseHeader('Content-Length') == 0 ){
+ xmlStruct['server_run'] = 'Success';
+ }
+ else{
+ xmlStruct = _parseXml( xml.responseXML );
+ }
+
+ return xmlStruct;
+ };
+};
+
+
+
+/*****************************************************************************
* Event Namespace
* **************************************************************************/
var TuxAPI_event = function(self){
@@ -1062,22 +1229,22 @@
var events_struct = self.status.events();
- if (events_struct.get("server_run") == "Failed"){
+ if (events_struct["server_run"] == "Failed"){
self.server.disconnect();
}
- if (events_struct.get("result") != "Success"){
+ if (events_struct["result"] != "Success"){
return; // No event was found
}
- var event_count = events_struct.get("data_count");
+ var event_count = events_struct["data_count"];
var cbk, event_name, data_node, event_struct;
for ( var i = 0 ; i < event_count ; i++ ){
data_node = 'data' + i;
- event_struct = events_struct.get(data_node);
- event_name = event_struct.get("name");
- self.event.handler.emit( event_name, [event_struct.get('value'),
event_struct.get('delay') ] );
+ event_struct = events_struct[data_node];
+ event_name = event_struct["name"];
+ self.event.handler.emit( event_name, [event_struct['value'],
event_struct['delay'] ] );
}
};
};
@@ -1280,15 +1447,11 @@
},
this.leftOnAsync = function( aCount ){
- var rv = self.server.request( 'spinning', 'left_on' , { 'count':aCount } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'left_on' , { 'count':aCount },
{}, {} );
},
this.leftOnDuringAsync = function( aCount ){
- var rv = self.server.request( 'spinning', 'left_on_during' , {
'duration':aDuration } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'left_on_during' , {
'duration':aDuration }, {}, {} );
},
this.rightOn = function( aCount ){
@@ -1306,27 +1469,19 @@
},
this.rightOnAsync = function( aCount ){
- var rv = self.server.request( 'spinning', 'right_on' , { 'count':aCount }
);
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'right_on' , { 'count':aCount },
{}, {} );
},
this.rigthOnDuringAsync = function(){
- var rv = self.server.request( 'spinning', 'right_on_during' , {
'duration':aDuration } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'right_on_during' , {
'duration':aDuration }, {}, {} );
},
this.setSpeed = function( aSpeed ){
- var rv = self.server.request( 'spinning', 'speed' , { 'value':aSpeed } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'speed' , { 'value':aSpeed }, {},
{} );
},
this.off = function(){
- var rv = self.server.request( 'spinning', 'off' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'spinning', 'off' , {}, {}, {} );
},
this.waitLeftMovingOff = function( aTimeout ){
@@ -1344,8 +1499,8 @@
var rv = self.status.requestOne("spinning_direction");
- if (rv.get("result") == "Success"){
- return rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ return rv["data0"]["value"];
}
return null;
},
@@ -1353,8 +1508,8 @@
this.getLeftMovingState = function(){
if ( !self.server.getConnected() ) return false;
var rv = self.status.requestOne("spin_left_motor_on");
- if (rv.get("result") == "Success"){
- if (rv.get("data0").get("value") == "0"){
+ if (rv["result"] == "Success"){
+ if (rv["data0"]["value"] == "0"){
return false;
}
}
@@ -1364,8 +1519,8 @@
this.getRightMovingState = function(){
if ( !self.server.getConnected() ) return false;
var rv = self.status.requestOne("spin_right_motor_on");
- if (rv.get("result") == "Success"){
- if (rv.get("data0").get("value") == "0"){
+ if (rv["result"] == "Success"){
+ if (rv["data0"]["value"] == "0"){
return false;
}
}
@@ -1404,21 +1559,18 @@
var _changeIntensity = function( aType, anIntensity ){
if( aType == LFX_NONE ){
- var rv = self.server.request( 'leds', 'on' , { 'intensity':anIntensity,
'leds':aName } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'leds', 'on' , { 'intensity':anIntensity,
'leds':aName }, {}, {} );
}
else{ //some effect
var fxStep = 0;
if( aType == LFX_FADE ) fxStep = 10;
else if( aType == LFX_STEP ) fxStep = 3;
var fcxType = LFXEX_GRADIENT_NBR;
- var rv = self.server.request( 'leds', 'set' ,
- { 'fx_speed':'0.5', 'fx_step':fxStep, 'fx_type':aType,
'intensity':anIntensity, 'leds':aName }
- );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'leds', 'set' ,
+ { 'fx_speed':'0.5', 'fx_step':fxStep, 'fx_type':aType,
'intensity':anIntensity, 'leds':aName },
+ {}, {} );
}
+ return false;
};
@@ -1450,9 +1602,7 @@
var delay = parseFloat(1.0 / perSec);
if (aFXType == LFX_NONE) {
- var rv = self.server.request( 'leds', 'blink' , { 'leds':aName,
'count':aCount, 'delay':_floatToString(delay) } );
- if (rv.get("result") == "Success") rv = true;
- else rv = false;
+ return self.server.request( 'leds', 'blink' , { 'leds':aName,
'count':aCount, 'delay':_floatToString(delay) }, {}, {} );
}
else{
var fxStep = 0;
@@ -1462,11 +1612,9 @@
fxStep = 2;
var fxCType = LFXEX_GRADIENT_NBR;
var fxSpeed = _floatToString(parseFloat(delay / 3.0));
- var rv = self.server.request( 'leds', 'pulse' , { 'count':aCount,
'fx_speed':fxSpeed, 'fx_step':fxStep, 'fx_type':fxCType, 'leds':aName,
'max_intensity':'1.0', 'min_intensity':'0.0', 'period':_floatToString(delay) }
);
- if (rv.get("result") == "Success") rv = true;
- else rv = false;
+ return self.server.request( 'leds', 'pulse' , { 'count':aCount,
'fx_speed':fxSpeed, 'fx_step':fxStep, 'fx_type':fxCType, 'leds':aName,
'max_intensity':'1.0', 'min_intensity':'0.0', 'period':_floatToString(delay) },
{}, {} );
}
- return rv;
+ return false;
},
this.blinkAsync = function( aSpeed, aCount, aFXType ){
@@ -1474,9 +1622,7 @@
var delay = parseFloat(1.0 / parseFloat(aSpeed));
if (aFXType == LFX_NONE) {
- var rv = self.server.request( 'leds', 'blink' , { 'leds':aName,
'count':aCount, 'delay':_floatToString(delay) } );
- if (rv.get("result") == "Success") rv = true;
- else rv = false;
+ return self.server.request( 'leds', 'blink' , { 'leds':aName,
'count':aCount, 'delay':_floatToString(delay) }, {}, {} );
}
else{
var fxStep = 0;
@@ -1486,11 +1632,9 @@
fxStep = 2;
var fxCType = LFXEX_GRADIENT_NBR;
var fxSpeed = parseFloat(delay / 3.0);
- var rv = self.server.request( 'leds', 'pulse' , { 'count':aCount,
'fx_speed':_floatToString(fxSpeed), 'fx_step':fxStep, 'fx_type':fxCType,
'leds':aName, 'max_intensity':'1.0', 'min_intensity':'0.0',
'period':_floatToString(delay) } );
- if (rv.get("result") == "Success") rv = true;
- else rv = false;
+ return self.server.request( 'leds', 'pulse' , { 'count':aCount,
'fx_speed':_floatToString(fxSpeed), 'fx_step':fxStep, 'fx_type':fxCType,
'leds':aName, 'max_intensity':'1.0', 'min_intensity':'0.0',
'period':_floatToString(delay) }, {}, {} );
}
- return rv;
+ return false;
},
this.blink = function( aSpeed, aCount, aFXType ){
@@ -1509,8 +1653,8 @@
var led = aName.split('_')[1].toLowerCase();
var rv = self.status.requestOne(led + '_led_state');
- if (rv.get("result") == "Success"){
- return rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ return rv["data0"]["value"];
}
return null;
}
@@ -1531,9 +1675,7 @@
},
this.onAsync = function( aCount, aFinalState ){
- var rv = self.server.request( 'flippers', 'on' , { 'count':aCount,
'final_state':aFinalState } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'on' , { 'count':aCount,
'final_state':aFinalState }, {}, {} );
},
this.onDuring = function( aDuration, aFinalState ){
@@ -1544,33 +1686,23 @@
},
this.onDuringAsync = function( aDuration, aFinalState ){
- var rv = self.server.request( 'flippers', 'on_during' , {
'duration':aDuration, 'final_state':aFinalState } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'on_during' , {
'duration':aDuration, 'final_state':aFinalState }, {}, {} );
},
this.setSpeed = function( aSpeed ){
- var rv = self.server.request( 'flippers', 'speed' , { 'value':aSpeed } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'speed' , { 'value':aSpeed }, {},
{} );
},
this.off = function(){
- var rv = self.server.request( 'flippers', 'off' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'off' , {}, {}, {} );
},
this.up = function(){
- var rv = self.server.request( 'flippers', 'up' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'up' , {}, {}, {} );
},
this.down = function(){
- var rv = self.server.request( 'flippers', 'down' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'flippers', 'down' , {}, {}, {} );
},
this.waitMovingOff = function( aTimeout ){
@@ -1589,8 +1721,8 @@
var rv = self.status.requestOne("flippers_position");
- if (rv.get("result") == "Success"){
- return rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ return rv["data0"]["value"];
}
return null;
},
@@ -1600,8 +1732,8 @@
var rv = self.status.requestOne("flippers_remaining_movements");
- if (rv.get("result") == "Success"){
- if (rv.get("data0").get("value") == "0"){
+ if (rv["result"] == "Success"){
+ if (rv["data0"]["value"] == "0"){
return false;
}
}
@@ -1621,56 +1753,46 @@
this.on = function( aCount, aFinalState){
if (!this.onAsync( aCount, aFinalState ) ) return false;
- if (self.__parent.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return
true;
+ if (self.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return true;
var timeout = aCount * 5.0;
return this.waitMovingOff( timeout );
},
this.onAsync = function(){
- var rv = self.server.request( aName, 'on' , { 'count':aCount,
'final_state':aFinalState } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( aName, 'on' , { 'count':aCount,
'final_state':aFinalState }, {}, {} );
},
this.onDuring = function( aDuration, aFinalState){
if (!this.onDuringAsync( aCount, aFinalState ) ) return false;
- if (self.__parent.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return
true;
+ if (self.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return true;
return true;
//_eventHandlers.waitCondition();
return true;
},
this.onDuringAsync = function(){
- var rv = self.server.request( aName, 'on_during' , { 'duration':aDuration,
'final_state':aFinalState } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( aName, 'on_during' , { 'duration':aDuration,
'final_state':aFinalState }, {}, {} );
},
this.off = function(){
- var rv = self.server.request( aName, 'off' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( aName, 'off' , {}, {}, {} );
},
this.open = function(){
- var rv = self.server.request( aName, 'open' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( aName, 'open' , {}, {}, {} );
},
this.close = function(){
- var rv = self.server.request( aName, 'close' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( aName, 'close' , {}, {}, {} );
},
this.waitMovingOff = function( aTimeout ){
- if (self.__parent.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return
true;
+ if (self.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return true;
return _eventHandlers.waitCondition( aMVName, false, aTimeout );
},
this.waitPosition = function( aPosition, aTimeout ){
- if (self.__parent.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return
true;
+ if (self.server.getClientLevel() == CLIENT_LEVEL_ANONYME) return true;
if( this.getPosition() == aPosition ) return true;
return _eventHandlers.waitCondition( aPositionName, aPosition, aTimeout );
},
@@ -1680,8 +1802,8 @@
var rv = self.status.requestOne( aPositionName );
- if (rv.get("result") == "Success"){
- return rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ return rv["data0"]["value"];
}
return null;
@@ -1692,8 +1814,8 @@
var rv = self.status.requestOne( aMVName );
- if (rv.get("result") == "Success"){
- if (rv.get("data0").get("value") == "0"){
+ if (rv["result"] == "Success"){
+ if (rv["data0"]["value"] == "0"){
return false;
}
else
@@ -1712,21 +1834,15 @@
* **************************************************************************/
var TuxAPI_ir = function(self){
this.on = function(){
- var rv = self.server.request( 'ir', 'on' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'ir', 'on' , {}, {}, {} );
},
this.off = function(){
- var rv = self.server.request( 'ir', 'off' , {} );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'ir', 'off' , {}, {}, {} );
},
this.send = function( anAddress, aCommand ){
- var rv = self.server.request( 'ir', 'send' , { 'address':anAddress,
'command':aCommand } );
- if (rv.get("result") == "Success") return true;
- return false;
+ return self.server.request( 'ir', 'send' , { 'address':anAddress,
'command':aCommand }, {}, {} );
}
};
@@ -1740,19 +1856,25 @@
var _eventHandlers = self.getEventHandlers();
this.events = function(){
- return self.server.request( 'status', 'events', {} );
+ var result = {};
+ self.server.request( 'status', 'events', {}, {}, result );
+ return result;
},
this.requestOne = function( aStatusName ){
- return self.server.request( 'status', 'request_one', {
'status_name':aStatusName } );
+ var result = {};
+ self.server.request( 'status', 'request_one', { 'status_name':aStatusName
}, {}, result );
+ return result;
},
this.requestAll = function(){
- return self.server.request( 'status', 'request_all', {} );
+ var result = {};
+ self.server.request( 'status', 'request_all', {}, {}, result );
+ return result;
},
this.send = function( aName, aValue ){
- return self.server.request( 'status', 'send', { 'name':aName,
'value':aValue } );
+ return self.server.request( 'status', 'send', { 'name':aName,
'value':aValue }, {}, {} );
},
this.wait = function( aStatusName, aCondition, aTimeout ){
@@ -1772,8 +1894,8 @@
this.getConnected = function(){
var rv = self.status.requestOne( _name + '_state' );
- if (rv.get("result") == "Success"){
- rv = rv.get("data0").get("value");
+ if (rv["result"] == "Success"){
+ rv = rv["data0"]["value"];
if( rv == 'True' ) return true;
return false;
}
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn