Author: remi
Date: 2008-07-30 13:11:36 +0200 (Wed, 30 Jul 2008)
New Revision: 1423

Added:
   software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
Modified:
   software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
Log:
* added the resource named "macro". This resource handle the macro commands 
format of libtuxosl and libtuxdriver.

Added: 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
===================================================================
--- 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py    
                            (rev 0)
+++ 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py    
    2008-07-30 11:11:36 UTC (rev 1423)
@@ -0,0 +1,74 @@
+# -----------------------------------------------------------------------------
+# /macro/play?macro=%s
+# -----------------------------------------------------------------------------
+def funct_macro_play(id_client, parameters):
+    content_struct = copy.deepcopy(DEFAULT_CONTENT_STRUCT)
+    content_struct['root']['result'] = getStrError(E_TDREST_SUCCESS)
+    p_fmt = {
+        'macro' : 'string',
+    }
+    
+    if not Glb_DonglePresent:
+        content_struct['root']['result'] = getStrError(E_TDREST_FAILED)
+        content = structToXML(content_struct, True)
+        return DEFAULT_HEADERS, content
+    
+    result, params = parseParameters(parameters, p_fmt)
+    
+    if result:
+        Glb_TuxDrv.ClearCommandStack()
+        Glb_TuxOSL.ClearCommandStack()
+        Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:TTS:STOP")
+        Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
+        Glb_TuxDrv.ResetPositions()
+        macro = params['macro'].replace("|", "\n")
+        if len(macro) <= 16384:
+            Glb_TuxDrv.PerformMacroText(macro)
+            Glb_TuxOSL.PerformMacroText(macro)
+        else:
+            content_struct['root']['result'] = \
+                getStrError(E_TDREST_FAILED)
+    else:
+        content_struct['root']['result'] = \
+            getStrError(E_TDREST_INVALIDPARAMETERS)
+            
+    content = structToXML(content_struct, True)
+    
+    return DEFAULT_HEADERS, content
+    
+Glb_ServiceContainer.createService('/macro/play?', 
+                        TDCC_LEVEL_FREE_CLIENT,
+                        funct_macro_play,
+                        "Macro",
+                        "Play a macro.",
+                        {
+                            'macro' : 'string',
+                        })
+
+# -----------------------------------------------------------------------------
+# /macro/stop?
+# -----------------------------------------------------------------------------
+def funct_macro_stop(id_client, parameters):
+    content_struct = copy.deepcopy(DEFAULT_CONTENT_STRUCT)
+    content_struct['root']['result'] = getStrError(E_TDREST_SUCCESS)
+    
+    if not Glb_DonglePresent:
+        content_struct['root']['result'] = getStrError(E_TDREST_FAILED)
+        content = structToXML(content_struct, True)
+        return DEFAULT_HEADERS, content
+
+    Glb_TuxDrv.ClearCommandStack()
+    Glb_TuxOSL.ClearCommandStack()
+    Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:TTS:STOP")
+    Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
+    Glb_TuxDrv.ResetPositions()
+            
+    content = structToXML(content_struct, True)
+
+    return DEFAULT_HEADERS, content
+    
+Glb_ServiceContainer.createService('/macro/stop?', 
+                        TDCC_LEVEL_FREE_CLIENT,
+                        funct_macro_stop,
+                        "Macro",
+                        "Stop the played macro.")
\ No newline at end of file

Modified: software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
===================================================================
--- software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py  
2008-07-30 09:29:05 UTC (rev 1422)
+++ software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py  
2008-07-30 11:11:36 UTC (rev 1423)
@@ -172,6 +172,8 @@
         exec(str) in globals()
         str = open('%s/resources/ResourceEyes.py' % APPLICATION_PATH, 
'r').read()
         exec(str) in globals()
+        str = open('%s/resources/ResourceMacro.py' % APPLICATION_PATH, 
'r').read()
+        exec(str) in globals()
         str = open('%s/resources/ResourceMouth.py' % APPLICATION_PATH, 
'r').read()
         exec(str) in globals()
         str = open('%s/resources/ResourceFlippers.py' % APPLICATION_PATH, 
'r').read()


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to