Author: JDM
Date: 2009-07-31 23:05:11 +0200 (Fri, 31 Jul 2009)
New Revision: 5260

Modified:
   software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.c
   software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.h
Log:
* Added namespace TuxDroid for C++ API

Modified: software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.c
===================================================================
--- software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.c     2009-07-31 
14:47:05 UTC (rev 5259)
+++ software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.c     2009-07-31 
21:05:11 UTC (rev 5260)
@@ -34,7 +34,7 @@
  * 
  * ====================================================
  *
- * More informations about the C++ API: 
http://bbs.tuxisalive.com/viewtopic.php?pid=678
+ * More informations about the C++ API: 
http://bbs.tuxisalive.com/viewtopic.php?pid=678#p678
  *
  * 
 */
@@ -42,603 +42,619 @@
 #include <iostream>
 #include <string.h>
 #include <vector>
+#include <sstream> //string_to_double();
 #include "TuxAPI.h"
 
 using namespace std;
 
-string ReplaceAllG(string strSrc, string strSearch, string strReplace){
-    size_t start, end = 0, sizeSearch = strSearch.size();
-    while((start = strSrc.find(strSearch, end))!=string::npos){
-        end = start + sizeSearch;
-        strSrc.replace(start, sizeSearch, strReplace);
-    }
-    return strSrc;
-}
 
-TuxAPI::TuxAPI(void)
+namespace TuxDroid
 {
-}
-
-//Interaction with the TuxHttp server
-string TuxAPI::doUrlAction(TuxAPI_LEVEL level, string url)
-{
-       
-#ifdef WIN32
-    WSADATA WSAData;
-    WSAStartup(MAKEWORD(2,0), &WSAData);
-
-    SOCKET sock;
-    SOCKADDR_IN sin;
-#else
-    int sock;
-    struct sockaddr_in sin;
-#endif 
-     
-    char buffer[1024];
- 
-    string srequete = "GET /";
-
-    switch(level)
+    string ReplaceAllG(string strSrc, string strSearch, string strReplace)
     {
-       case CLIENT_LEVEL_ANONYME: srequete += "-1";
-       break;
-       case CLIENT_LEVEL_FREE: srequete += "0";
-       break;
-       case CLIENT_LEVEL_RESTRICTED: srequete += "1";
-       break;
-       case CLIENT_LEVEL_ROOT: srequete += "2";
-       break;
+        size_t start, end = 0, sizeSearch = strSearch.size();
+        while((start = strSrc.find(strSearch, end))!=string::npos)
+        {
+            end = start + sizeSearch;
+            strSrc.replace(start, sizeSearch, strReplace);
+        }
+        return strSrc;
     }
     
+    TuxAPI::TuxAPI(void)
+    {
+    }
     
-    srequete += url;
-    srequete += " HTTP/1.1\r\n";
-    srequete += "\r\n";
+    //Interaction with the TuxHttp server
+    string TuxAPI::doUrlAction(TuxAPI_LEVEL level, string url)
+    {
+           
+    #ifdef WIN32
+        WSADATA WSAData;
+        WSAStartup(MAKEWORD(2,0), &WSAData);
     
-    //cout << srequete << endl;
+        SOCKET sock;
+        SOCKADDR_IN sin;
+    #else
+        int sock;
+        struct sockaddr_in sin;
+    #endif 
+         
+        char buffer[1024];
+     
+        string srequete = "GET /";
     
-    size_t requete_taille = srequete.size() + 1;
-
-    char crequete[requete_taille];
-    strncpy( crequete, srequete.c_str(), requete_taille );
-
-    int i = 0;
-    string source = "";
-
-    sock = socket(AF_INET, SOCK_STREAM, 0);
-
-    sin.sin_addr.s_addr = inet_addr("127.0.0.1");
-    sin.sin_port = 270;
-    sin.sin_family = AF_INET;
-    sin.sin_port = htons(270);
-
-#ifdef WIN32
-    connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le 
site web.
-#else
-    connect(sock, (struct sockaddr *)&sin, sizeof(sin));
-#endif
-     
-    send(sock, crequete, strlen(crequete), 0); // on envoie la requ�te HTTP.
-
-    do
+        switch(level)
+        {
+           case CLIENT_LEVEL_ANONYME: srequete += "-1";
+           break;
+           case CLIENT_LEVEL_FREE: srequete += "0";
+           break;
+           case CLIENT_LEVEL_RESTRICTED: srequete += "1";
+           break;
+           case CLIENT_LEVEL_ROOT: srequete += "2";
+           break;
+        }
+        
+        
+        srequete += url;
+        srequete += " HTTP/1.1\r\n";
+        srequete += "\r\n";
+        
+        //cout << srequete << endl;
+        
+        size_t requete_taille = srequete.size() + 1;
+    
+        char crequete[requete_taille];
+        strncpy( crequete, srequete.c_str(), requete_taille );
+    
+        int i = 0;
+        string source = "";
+    
+        sock = socket(AF_INET, SOCK_STREAM, 0);
+    
+        sin.sin_addr.s_addr = inet_addr("127.0.0.1");
+        sin.sin_port = 270;
+        sin.sin_family = AF_INET;
+        sin.sin_port = htons(270);
+    
+    #ifdef WIN32
+        connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le 
site web.
+    #else
+        connect(sock, (struct sockaddr *)&sin, sizeof(sin));
+    #endif
+         
+        send(sock, crequete, strlen(crequete), 0); // on envoie la requ�te 
HTTP.
+    
+        do
+        {
+            i = recv(sock, buffer, sizeof(buffer), 0); // le buffer r�cup�re 
les donn�es re�ues.
+            source += buffer;
+        } while (i != 0);
+    
+    #ifdef WIN32
+        closesocket(sock); // on ferme le socket.
+        WSACleanup();
+    #else
+        close(sock);
+    #endif  
+    
+       return source;
+    }
+    
+    //Allow tux do an action with his motors
+    void TuxAPI::doMotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action)
     {
-        i = recv(sock, buffer, sizeof(buffer), 0); // le buffer r�cup�re les 
donn�es re�ues.
-        source += buffer;
-    } while (i != 0);
-
-#ifdef WIN32
-    closesocket(sock); // on ferme le socket.
-    WSACleanup();
-#else
-    close(sock);
-#endif  
-
-   return source;
-}
-
-//Allow tux do an action with his motors
-void TuxAPI::doMotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action)
-{
-     switch(action)
-     {
-        case FLIPPERS_UP: doUrlAction(level, "/flippers/up?");
-        break;
-        case FLIPPERS_DOWN: doUrlAction(level, "/flippers/down?");
-        break;
-        case MOUTH_OPEN: doUrlAction(level, "/mouth/open?");
-        break;
-        case MOUTH_CLOSE: doUrlAction(level, "/mouth/close?");
-        break;
-        case EYES_OPEN: doUrlAction(level, "/eyes/open?");
-        break;
-        case EYES_CLOSE: doUrlAction(level, "/eyes/close?");
-        break;
-     }
-}
-
-//Allow rotate Tux left/right
-void TuxAPI::DoRotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, int 
rotation)
-{
-     char cmd[4096];
-     
-     switch(action)
-     {
-         case ROTATE_LEFT: strcpy(cmd, "/spinning/left_on?count="); 
+         switch(action)
+         {
+            case FLIPPERS_UP: doUrlAction(level, "/flippers/up?");
+            break;
+            case FLIPPERS_DOWN: doUrlAction(level, "/flippers/down?");
+            break;
+            case MOUTH_OPEN: doUrlAction(level, "/mouth/open?");
+            break;
+            case MOUTH_CLOSE: doUrlAction(level, "/mouth/close?");
+            break;
+            case EYES_OPEN: doUrlAction(level, "/eyes/open?");
+            break;
+            case EYES_CLOSE: doUrlAction(level, "/eyes/close?");
+            break;
+         }
+    }
+    
+    //Allow rotate Tux left/right
+    void TuxAPI::DoRotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, int 
rotation)
+    {
+         char cmd[4096];
+         
+         switch(action)
+         {
+             case ROTATE_LEFT: strcpy(cmd, "/spinning/left_on?count="); 
+             break;
+             case ROTATE_RIGHT: strcpy(cmd, "spinning/right_on?count=");
+             break;
+         }
+         
+         
+         char _rotation[50];
+         sprintf(_rotation, "%d", rotation);
+         strcat(cmd, _rotation);
+         
+         doUrlAction(level, cmd);
+    }        
+    
+    void TuxAPI::DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, 
TuxAPI_LEDS leds)
+    {
+      char cmd[4096];
+      strcpy(cmd, "/leds/");
+      
+      switch(action)
+      {
+         case LEDS_ON: strcat(cmd, "on?leds=");
          break;
-         case ROTATE_RIGHT: strcpy(cmd, "spinning/right_on?count=");
+         case LEDS_OFF: strcat(cmd, "off?leds=");
          break;
-     }
-     
-     
-     char _rotation[50];
-     sprintf(_rotation, "%d", rotation);
-     strcat(cmd, _rotation);
-     
-     doUrlAction(level, cmd);
-}        
-
-void TuxAPI::DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, 
TuxAPI_LEDS leds)
-{
-  char cmd[4096];
-  strcpy(cmd, "/leds/");
-  
-  switch(action)
-  {
-     case LEDS_ON: strcat(cmd, "on?leds=");
-     break;
-     case LEDS_OFF: strcat(cmd, "off?leds=");
-     break;
-  }
-  
-  switch(leds)
-  {
-     case LED_BOTH: strcat(cmd, "LED_BOTH");
-     break;
-     case LED_LEFT: strcat(cmd, "LED_LEFT");
-     break;
-     case LED_RIGHT: strcat(cmd, "LED_RIGHT");
-     break;
-  }
-  
-  if(action == LEDS_ON)
-     strcat(cmd, "&intensity=10.0");
-     
-  doUrlAction(level, cmd);
-}
-
-void TuxAPI::DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, 
TuxAPI_LEDS leds, double intensity)
-{
-  char cmd[4096];
-  strcpy(cmd, "/leds/");
-  
-  switch(action)
-  {
-     case LEDS_ON: strcat(cmd, "on?leds=");
-     break;
-     case LEDS_OFF: strcat(cmd, "off?leds=");
-     break;
-  }
-  
-  switch(leds)
-  {
-     case LED_BOTH: strcat(cmd, "LED_BOTH");
-     break;
-     case LED_LEFT: strcat(cmd, "LED_LEFT");
-     break;
-     case LED_RIGHT: strcat(cmd, "LED_RIGHT");
-     break;
-  }
-
+      }
+      
+      switch(leds)
+      {
+         case LED_BOTH: strcat(cmd, "LED_BOTH");
+         break;
+         case LED_LEFT: strcat(cmd, "LED_LEFT");
+         break;
+         case LED_RIGHT: strcat(cmd, "LED_RIGHT");
+         break;
+      }
+      
+      if(action == LEDS_ON)
+         strcat(cmd, "&intensity=10.0");
+         
+      doUrlAction(level, cmd);
+    }
     
-  if(action == LEDS_ON)
-  {
-     strcat(cmd, "&intensity=");
-     char _intensity[50];
-     sprintf(_intensity,"%.2f",(intensity+0.1));
-     strcat(cmd, _intensity);
-  }
+    void TuxAPI::DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, 
TuxAPI_LEDS leds, double intensity)
+    {
+      char cmd[4096];
+      strcpy(cmd, "/leds/");
+      
+      switch(action)
+      {
+         case LEDS_ON: strcat(cmd, "on?leds=");
+         break;
+         case LEDS_OFF: strcat(cmd, "off?leds=");
+         break;
+      }
+      
+      switch(leds)
+      {
+         case LED_BOTH: strcat(cmd, "LED_BOTH");
+         break;
+         case LED_LEFT: strcat(cmd, "LED_LEFT");
+         break;
+         case LED_RIGHT: strcat(cmd, "LED_RIGHT");
+         break;
+      }
     
-  doUrlAction(level, cmd);
-}
-
-void TuxAPI::DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int count)
-{
- char cmd[4096];
- strcpy(cmd, "/leds/blink/count?count=");
- strcat(cmd, (char *)count);
- strcat(cmd, "&delay=0.1");
- 
- switch(leds)
- {
-    case LED_BOTH: strcat(cmd, "LED_BOTH");
-    break;
-    case LED_LEFT: strcat(cmd, "LED_LEFT");
-    break;
-    case LED_RIGHT: strcat(cmd, "LED_RIGHT");
-    break;
- } 
- 
- doUrlAction(level,cmd);
-}
-
-void TuxAPI::DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int 
count, double delay)
-{
- char cmd[4096];
- strcpy(cmd, "/leds/blink/count?count=");
- strcat(cmd, (char *)count);
- strcat(cmd, "&delay=");
- 
- char _delay[50];
- sprintf(_delay, "%.2f",(delay+0.1));
- strcat(cmd, _delay);
- 
- switch(leds)
- {
-    case LED_BOTH: strcat(cmd, "LED_BOTH");
-    break;
-    case LED_LEFT: strcat(cmd, "LED_LEFT");
-    break;
-    case LED_RIGHT: strcat(cmd, "LED_RIGHT");
-    break;
- } 
- 
- doUrlAction(level,cmd);
-}
-
-
-void TuxAPI::DoSpeak(TuxAPI_LEVEL level, char *Text)
-{
+        
+      if(action == LEDS_ON)
+      {
+         strcat(cmd, "&intensity=");
+         char _intensity[50];
+         sprintf(_intensity,"%.2f",(intensity+0.1));
+         strcat(cmd, _intensity);
+      }
+        
+      doUrlAction(level, cmd);
+    }
+    
+    void TuxAPI::DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int 
count)
+    {
      char cmd[4096];
-     strcpy(cmd,"/tts/speak?text=");
-     strcat(cmd,Text);
+     strcpy(cmd, "/leds/blink/count?count=");
+     strcat(cmd, (char *)count);
+     strcat(cmd, "&delay=0.1");
      
-     string cmd_ = cmd;
-     cmd_ = ReplaceAllG(cmd_, " ", "%20");
-     strcpy(cmd, cmd_.c_str());
-     
-     
-     doUrlAction(level, cmd);
-}
-
-void TuxAPI::DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, char 
*Text)
-{
-     char cmd[4096];
-     strcpy(cmd, "/tts/locutor?name=");
-     
-     switch(locutor)
+     switch(leds)
      {
-        case Bruno: strcat(cmd, "Bruno");
+        case LED_BOTH: strcat(cmd, "LED_BOTH");
         break;
-        case Julie: strcat(cmd, "Julie");
+        case LED_LEFT: strcat(cmd, "LED_LEFT");
         break;
-     }
+        case LED_RIGHT: strcat(cmd, "LED_RIGHT");
+        break;
+     } 
      
-     doUrlAction(level, cmd); //set the locutor
-     
-     strcpy(cmd, "/tts/speak?text=");
-     strcat(cmd, Text);
-     
-     string cmd_ = cmd;
-     cmd_ = ReplaceAllG(cmd_, " ", "%20");
-     strcpy(cmd, cmd_.c_str());
-
-     
-     doUrlAction(level, cmd); //speak
-}
-
-void TuxAPI::DoSpeak(TuxAPI_LEVEL level, int pitch, char *Text)
-{
+     doUrlAction(level,cmd);
+    }
+    
+    void TuxAPI::DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int 
count, double delay)
+    {
      char cmd[4096];
-     strcpy(cmd, "/tts/pitch?value=");
-     char _pitch[256];
-     sprintf(_pitch, "%d", pitch);
-     strcat(cmd, _pitch);
-          
-
-     doUrlAction(level, cmd); //set the pitch
+     strcpy(cmd, "/leds/blink/count?count=");
+     strcat(cmd, (char *)count);
+     strcat(cmd, "&delay=");
      
-     strcpy(cmd, "/tts/speak?text=");
-     strcat(cmd, Text);
+     char _delay[50];
+     sprintf(_delay, "%.2f",(delay+0.1));
+     strcat(cmd, _delay);
      
-     string cmd_ = cmd;
-     cmd_ = ReplaceAllG(cmd_, " ", "%20");
-     strcpy(cmd, cmd_.c_str());
-
-     
-     doUrlAction(level, cmd); //speak
-}
-
-void TuxAPI::DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, int 
pitch, char *Text)
-{
-     char cmd[4096];
-     strcpy(cmd, "/tts/locutor?name=");
-     
-     switch(locutor)
+     switch(leds)
      {
-        case Bruno: strcat(cmd, "Bruno");
+        case LED_BOTH: strcat(cmd, "LED_BOTH");
         break;
-        case Julie: strcat(cmd, "Julie");
+        case LED_LEFT: strcat(cmd, "LED_LEFT");
         break;
-     }
-     
-     doUrlAction(level, cmd); //set the locutor
-     
-     strcpy(cmd, "/tts/pitch?value=");
-     char _pitch[256];
-     sprintf(_pitch, "%d", pitch);
-     strcat(cmd, _pitch);
-     
-   
-     doUrlAction(level, cmd); //set the pitch
-     
-     strcpy(cmd, "/tts/speak?text=");
-     strcat(cmd, Text);
-     
-     string cmd_ = cmd;
-     cmd_ = ReplaceAllG(cmd_, " ", "%20");
-     strcpy(cmd, cmd_.c_str());
-
-
-     doUrlAction(level, cmd); //speak
-}
-
-void TuxAPI::AttituneControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char 
*attitune)
-{
-     char cmd[8128];
-     strcpy(cmd, "/attitune/");
-     
-     switch(action)
-     {
-        case ATTITUNE_PLAY: 
-             {
-                strcat(cmd, "load_and_play?path=");
-                strcat(cmd, attitune);
-             }
-             break;
-        case ATTITUNE_STOP: strcat(cmd, "stop?");
+        case LED_RIGHT: strcat(cmd, "LED_RIGHT");
         break;
-     }
+     } 
      
      doUrlAction(level,cmd);
-}
-
-void TuxAPI::WavControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char *sound)
-{
-     char cmd[8128];
-     strcpy(cmd, "/wav/");
-     
-     switch(action)
-     {
-        case ATTITUNE_PLAY: 
-             {
-                strcat(cmd, "play?path=");
-                strcat(cmd, sound);
-             }
-             break;
-        case ATTITUNE_STOP: strcat(cmd, "stop?");
-        break;
-     }
-     
-     doUrlAction(level,cmd);
-}
-
-int Split(vector<string>& vecteur, string chaine, char separateur)
-{
-    vecteur.clear();
+    }
     
-    string::size_type stTemp = chaine.find(separateur);
     
-    while(stTemp != string::npos)
+    void TuxAPI::DoSpeak(TuxAPI_LEVEL level, char *Text)
     {
-        vecteur.push_back(chaine.substr(0, stTemp));
-        chaine = chaine.substr(stTemp + 1);
-        stTemp = chaine.find(separateur);
+         char cmd[4096];
+         strcpy(cmd,"/tts/speak?text=");
+         strcat(cmd,Text);
+         
+         string cmd_ = cmd;
+         cmd_ = ReplaceAllG(cmd_, " ", "%20");
+         strcpy(cmd, cmd_.c_str());
+         
+         
+         doUrlAction(level, cmd);
     }
     
-    vecteur.push_back(chaine);
-    
-    return vecteur.size();
-} 
-
-string TuxAPI::getRawStatus(TuxAPI_LEVEL level, TuxAPI_STATUS_REQUESTED status)
-{
-     char cmd[4096];
-     strcpy(cmd, "/status/request_one?status_name=");
-     
-     switch(status)
-     {
-        case flippers_motor_on: strcat(cmd, "flippers_motor_on");
-        break;
-        case flippers_position: strcat(cmd, "flippers_position");
-        break;
-
-
-        case eyes_motor_on: strcat(cmd, "eyes_motor_on");
+    void TuxAPI::DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, 
char *Text)
+    {
+         char cmd[4096];
+         strcpy(cmd, "/tts/locutor?name=");
+         
+         switch(locutor)
+         {
+            case Bruno: strcat(cmd, "Bruno");
             break;
-        case eyes_position: strcat(cmd,"eyes_position");
+            case Julie: strcat(cmd, "Julie");
             break;
-        case eyes_remaining_movements: strcat(cmd, "eyes_remaining_movements");
+         }
+         
+         doUrlAction(level, cmd); //set the locutor
+         
+         strcpy(cmd, "/tts/speak?text=");
+         strcat(cmd, Text);
+         
+         string cmd_ = cmd;
+         cmd_ = ReplaceAllG(cmd_, " ", "%20");
+         strcpy(cmd, cmd_.c_str());
+    
+         
+         doUrlAction(level, cmd); //speak
+    }
+    
+    void TuxAPI::DoSpeak(TuxAPI_LEVEL level, int pitch, char *Text)
+    {
+         char cmd[4096];
+         strcpy(cmd, "/tts/pitch?value=");
+         char _pitch[256];
+         sprintf(_pitch, "%d", pitch);
+         strcat(cmd, _pitch);
+              
+    
+         doUrlAction(level, cmd); //set the pitch
+         
+         strcpy(cmd, "/tts/speak?text=");
+         strcat(cmd, Text);
+         
+         string cmd_ = cmd;
+         cmd_ = ReplaceAllG(cmd_, " ", "%20");
+         strcpy(cmd, cmd_.c_str());
+    
+         
+         doUrlAction(level, cmd); //speak
+    }
+    
+    void TuxAPI::DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, int 
pitch, char *Text)
+    {
+         char cmd[4096];
+         strcpy(cmd, "/tts/locutor?name=");
+         
+         switch(locutor)
+         {
+            case Bruno: strcat(cmd, "Bruno");
             break;
-
-        case mouth_motor_on: strcat(cmd, "mouth_motor_on");
+            case Julie: strcat(cmd, "Julie");
             break;
-        case mouth_position: strcat(cmd, "mouth_position");
+         }
+         
+         doUrlAction(level, cmd); //set the locutor
+         
+         strcpy(cmd, "/tts/pitch?value=");
+         char _pitch[256];
+         sprintf(_pitch, "%d", pitch);
+         strcat(cmd, _pitch);
+         
+       
+         doUrlAction(level, cmd); //set the pitch
+         
+         strcpy(cmd, "/tts/speak?text=");
+         strcat(cmd, Text);
+         
+         string cmd_ = cmd;
+         cmd_ = ReplaceAllG(cmd_, " ", "%20");
+         strcpy(cmd, cmd_.c_str());
+    
+    
+         doUrlAction(level, cmd); //speak
+    }
+    
+    void TuxAPI::AttituneControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, 
char *attitune)
+    {
+         char cmd[8128];
+         strcpy(cmd, "/attitune/");
+         
+         switch(action)
+         {
+            case ATTITUNE_PLAY: 
+                 {
+                    strcat(cmd, "load_and_play?path=");
+                    strcat(cmd, attitune);
+                 }
+                 break;
+            case ATTITUNE_STOP: strcat(cmd, "stop?");
             break;
-        case mouth_remaining_movements: strcat(cmd, 
"mouth_remaining_movements");
+         }
+         
+         doUrlAction(level,cmd);
+    }
+    
+    void TuxAPI::WavControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char 
*sound)
+    {
+         char cmd[8128];
+         strcpy(cmd, "/wav/");
+         
+         switch(action)
+         {
+            case ATTITUNE_PLAY: 
+                 {
+                    strcat(cmd, "play?path=");
+                    strcat(cmd, sound);
+                 }
+                 break;
+            case ATTITUNE_STOP: strcat(cmd, "stop?");
             break;
-
-        case spin_left_motor_on: strcat(cmd, "spin_left_motor_on");
+         }
+         
+         doUrlAction(level,cmd);
+    }
+    
+    int Split(vector<string>& vecteur, string chaine, char separateur)
+    {
+        vecteur.clear();
+        
+        string::size_type stTemp = chaine.find(separateur);
+        
+        while(stTemp != string::npos)
+        {
+            vecteur.push_back(chaine.substr(0, stTemp));
+            chaine = chaine.substr(stTemp + 1);
+            stTemp = chaine.find(separateur);
+        }
+        
+        vecteur.push_back(chaine);
+        
+        return vecteur.size();
+    } 
+    
+    string TuxAPI::getRawStatus(TuxAPI_LEVEL level, TuxAPI_STATUS_REQUESTED 
status)
+    {
+         char cmd[4096];
+         strcpy(cmd, "/status/request_one?status_name=");
+         
+         switch(status)
+         {
+            case flippers_motor_on: strcat(cmd, "flippers_motor_on");
             break;
-        case spin_right_motor_on: strcat(cmd, "spin_right_motor_on");
+            case flippers_position: strcat(cmd, "flippers_position");
             break;
-        case spinning_direction: strcat(cmd, "spinning_direction");
-            break;
-        case spinning_remaining_movements: strcat(cmd, 
"spinning_remaining_movements");
-            break;
-
-        case right_led_state: strcat(cmd, "right_led_state");
-            break;
-        case left_led_state: strcat(cmd, "left_led_state");
-            break;
-
-
-        case light_level: strcat(cmd, "light_level");
-            break;
-        case battery_state: strcat(cmd, "battery_state");
-            break;
-        case battery_level: strcat(cmd, "battery_level");
-            break;
-        case charger_state: strcat(cmd, "charger_state");
-            break;
-
-     }
-     
-     string data_raw = doUrlAction(level, cmd);
-     
-     vector<string> VecStr;
-     int s = Split(VecStr, data_raw, '>');
-     
-     string data = VecStr[10];
-     data = ReplaceAllG(data, "</value", "");
-     
-
-     return data;
+    
+    
+            case eyes_motor_on: strcat(cmd, "eyes_motor_on");
+                break;
+            case eyes_position: strcat(cmd,"eyes_position");
+                break;
+            case eyes_remaining_movements: strcat(cmd, 
"eyes_remaining_movements");
+                break;
+    
+            case mouth_motor_on: strcat(cmd, "mouth_motor_on");
+                break;
+            case mouth_position: strcat(cmd, "mouth_position");
+                break;
+            case mouth_remaining_movements: strcat(cmd, 
"mouth_remaining_movements");
+                break;
+    
+            case spin_left_motor_on: strcat(cmd, "spin_left_motor_on");
+                break;
+            case spin_right_motor_on: strcat(cmd, "spin_right_motor_on");
+                break;
+            case spinning_direction: strcat(cmd, "spinning_direction");
+                break;
+            case spinning_remaining_movements: strcat(cmd, 
"spinning_remaining_movements");
+                break;
+    
+            case right_led_state: strcat(cmd, "right_led_state");
+                break;
+            case left_led_state: strcat(cmd, "left_led_state");
+                break;
+    
+    
+            case light_level: strcat(cmd, "light_level");
+                break;
+            case battery_state: strcat(cmd, "battery_state");
+                break;
+            case battery_level: strcat(cmd, "battery_level");
+                break;
+            case charger_state: strcat(cmd, "charger_state");
+                break;
+    
+         }
+         
+         string data_raw = doUrlAction(level, cmd);
+         
+         vector<string> VecStr;
+         int s = Split(VecStr, data_raw, '>');
+         
+         string data = VecStr[10];
+         data = ReplaceAllG(data, "</value", "");
+         
+    
+         return data;
+    }
+    
+    
+    //=============== PUBLIC ===============
+    
+    void TuxAPI::Flippers_Up(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, FLIPPERS_UP);
+    }
+    
+    void TuxAPI::Flippers_Down(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, FLIPPERS_DOWN);
+    }
+    
+    void TuxAPI::Mouth_Open(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, MOUTH_OPEN);
+    }
+    
+    void TuxAPI::Mouth_Close(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, MOUTH_CLOSE);
+    }
+    
+    void TuxAPI::Eyes_Open(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, EYES_OPEN);
+    }
+    
+    void TuxAPI::Eyes_Close(void)
+    {
+         doMotorAction(CLIENT_LEVEL_FREE, EYES_CLOSE);
+    }
+    
+    void TuxAPI::Rotation_Left(int rotation)
+    {
+         DoRotorAction(CLIENT_LEVEL_FREE, ROTATE_LEFT, rotation);
+    }
+    
+    void TuxAPI::Rotation_Right(int rotation)
+    {
+         DoRotorAction(CLIENT_LEVEL_FREE, ROTATE_RIGHT, rotation);
+    }
+    
+    void TuxAPI::Leds_On(void)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, LED_BOTH);
+    }
+    
+    void TuxAPI::Leds_On(TuxAPI_LEDS leds)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, leds);
+    }
+    
+    void TuxAPI::Leds_On(double intensity)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, LED_BOTH, intensity);
+    }
+    
+    void TuxAPI::Leds_On(TuxAPI_LEDS leds, double intensity)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, leds, intensity);
+    }
+      
+    void TuxAPI::Leds_Off(void)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_OFF, LED_BOTH);
+    }
+    
+    void TuxAPI::Leds_Off(TuxAPI_LEDS leds)
+    {
+         DoLedsAction(CLIENT_LEVEL_FREE, LEDS_OFF, leds);
+    }
+    
+    void TuxAPI::Leds_Blink(void)
+    {
+         DoBlinkLedsAction(CLIENT_LEVEL_FREE, LED_BOTH, 1);
+    }
+    
+    void TuxAPI::Leds_Blink(TuxAPI_LEDS leds)
+    {
+         DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, 1);
+    }
+    
+    void TuxAPI::Leds_Blink(TuxAPI_LEDS leds, int count)
+    {
+         DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, count);
+    }
+    
+    void TuxAPI::Leds_Blink(TuxAPI_LEDS leds, int count, double delay)
+    {
+         DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, count, delay);
+    }
+    
+    void TuxAPI::Speak(char *Text)
+    {
+         DoSpeak(CLIENT_LEVEL_FREE, Text);
+    }
+    
+    void TuxAPI::Speak(TuxAPI_SPEAK_LOCUTOR locutor, char *Text)
+    {
+         DoSpeak(CLIENT_LEVEL_FREE, locutor, Text);
+    }
+    
+    void TuxAPI::Speak(int pitch, char *Text)
+    {
+         DoSpeak(CLIENT_LEVEL_FREE, pitch, Text);
+    }
+    
+    void TuxAPI::Speak(TuxAPI_SPEAK_LOCUTOR locutor, int pitch, char *Text)
+    {
+         DoSpeak(CLIENT_LEVEL_FREE, locutor, pitch, Text);
+    }
+    
+    void TuxAPI::PlayAttitune(char *attitune)
+    {
+         AttituneControl(CLIENT_LEVEL_FREE, ATTITUNE_PLAY, attitune);
+    }
+    
+    void TuxAPI::StopAttitune(void)
+    {
+         AttituneControl(CLIENT_LEVEL_FREE, ATTITUNE_STOP, "");
+    }
+      
+    void TuxAPI::PlayWav(char *sound)
+    {
+         WavControl(CLIENT_LEVEL_FREE, WAV_PLAY, sound);
+    }
+    
+    void TuxAPI::StopWav(void)
+    {
+         WavControl(CLIENT_LEVEL_FREE, WAV_STOP, "");
+    }
+    
+    string TuxAPI::getStatus(TuxAPI_STATUS_REQUESTED status)
+    {
+           return getRawStatus(CLIENT_LEVEL_FREE, status);
+    }
+    
+    double strtodbl( const std::string& s )
+    {
+       std::istringstream i(s);
+       double x;
+       if (!(i >> x))
+         return 0;
+       return x;
+    } 
 }
-
-
-//=============== PUBLIC ===============
-
-void TuxAPI::Flippers_Up(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, FLIPPERS_UP);
-}
-
-void TuxAPI::Flippers_Down(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, FLIPPERS_DOWN);
-}
-
-void TuxAPI::Mouth_Open(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, MOUTH_OPEN);
-}
-
-void TuxAPI::Mouth_Close(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, MOUTH_CLOSE);
-}
-
-void TuxAPI::Eyes_Open(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, EYES_OPEN);
-}
-
-void TuxAPI::Eyes_Close(void)
-{
-     doMotorAction(CLIENT_LEVEL_FREE, EYES_CLOSE);
-}
-
-void TuxAPI::Rotation_Left(int rotation)
-{
-     DoRotorAction(CLIENT_LEVEL_FREE, ROTATE_LEFT, rotation);
-}
-
-void TuxAPI::Rotation_Right(int rotation)
-{
-     DoRotorAction(CLIENT_LEVEL_FREE, ROTATE_RIGHT, rotation);
-}
-
-void TuxAPI::Leds_On(void)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, LED_BOTH);
-}
-
-void TuxAPI::Leds_On(TuxAPI_LEDS leds)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, leds);
-}
-
-void TuxAPI::Leds_On(double intensity)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, LED_BOTH, intensity);
-}
-
-void TuxAPI::Leds_On(TuxAPI_LEDS leds, double intensity)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_ON, leds, intensity);
-}
-  
-void TuxAPI::Leds_Off(void)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_OFF, LED_BOTH);
-}
-
-void TuxAPI::Leds_Off(TuxAPI_LEDS leds)
-{
-     DoLedsAction(CLIENT_LEVEL_FREE, LEDS_OFF, leds);
-}
-
-void TuxAPI::Leds_Blink(void)
-{
-     DoBlinkLedsAction(CLIENT_LEVEL_FREE, LED_BOTH, 1);
-}
-
-void TuxAPI::Leds_Blink(TuxAPI_LEDS leds)
-{
-     DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, 1);
-}
-
-void TuxAPI::Leds_Blink(TuxAPI_LEDS leds, int count)
-{
-     DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, count);
-}
-
-void TuxAPI::Leds_Blink(TuxAPI_LEDS leds, int count, double delay)
-{
-     DoBlinkLedsAction(CLIENT_LEVEL_FREE, leds, count, delay);
-}
-
-void TuxAPI::Speak(char *Text)
-{
-     DoSpeak(CLIENT_LEVEL_FREE, Text);
-}
-
-void TuxAPI::Speak(TuxAPI_SPEAK_LOCUTOR locutor, char *Text)
-{
-     DoSpeak(CLIENT_LEVEL_FREE, locutor, Text);
-}
-
-void TuxAPI::Speak(int pitch, char *Text)
-{
-     DoSpeak(CLIENT_LEVEL_FREE, pitch, Text);
-}
-
-void TuxAPI::Speak(TuxAPI_SPEAK_LOCUTOR locutor, int pitch, char *Text)
-{
-     DoSpeak(CLIENT_LEVEL_FREE, locutor, pitch, Text);
-}
-
-void TuxAPI::PlayAttitune(char *attitune)
-{
-     AttituneControl(CLIENT_LEVEL_FREE, ATTITUNE_PLAY, attitune);
-}
-
-void TuxAPI::StopAttitune(void)
-{
-     AttituneControl(CLIENT_LEVEL_FREE, ATTITUNE_STOP, "");
-}
-  
-void TuxAPI::PlayWav(char *sound)
-{
-     WavControl(CLIENT_LEVEL_FREE, WAV_PLAY, sound);
-}
-
-void TuxAPI::StopWav(void)
-{
-     WavControl(CLIENT_LEVEL_FREE, WAV_STOP, "");
-}
-
-string TuxAPI::getStatus(TuxAPI_STATUS_REQUESTED status)
-{
-       return getRawStatus(CLIENT_LEVEL_FREE, status);
-}

Modified: software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.h
===================================================================
--- software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.h     2009-07-31 
14:47:05 UTC (rev 5259)
+++ software_suite_v3/smart-core/smart-api/cpp/API/TuxAPI.h     2009-07-31 
21:05:11 UTC (rev 5260)
@@ -41,211 +41,211 @@
 
 using namespace std;
 
-enum TuxAPI_LEVEL
-{
-    CLIENT_LEVEL_ANONYME = -1,
-    CLIENT_LEVEL_FREE = 0,
-    CLIENT_LEVEL_RESTRICTED = 1,
-    CLIENT_LEVEL_ROOT = 2,
-};
 
-/// <summary>
-/// All action can do Tux
-/// </summary>
-enum TuxAPI_ACTION
+namespace TuxDroid
 {
-    FLIPPERS_UP = 1,
-    FLIPPERS_DOWN = 2,
-
-    MOUTH_OPEN = 3,
-    MOUTH_CLOSE = 4,
-
-    EYES_OPEN = 5,
-    EYES_CLOSE = 6,
-
-    LEDS_ON = 7,
-    LEDS_OFF = 8,
-
-    ROTATE_LEFT = 9,
-    ROTATE_RIGHT = 10,
-
-    ATTITUNE_PLAY = 11,
-    ATTITUNE_STOP = 12,
-
-    WAV_PLAY = 13,
-    WAV_STOP = 14,
-};
-
-/// <summary>
-/// The TTS voice (TODO: Add others voices)
-/// </summary>
-enum TuxAPI_SPEAK_LOCUTOR
-{
-    Bruno = 0,
-    Julie = 1, 
-};
-
-/// <summary>
-/// //<<LED_BOTH|LED_RIGHT|LED_LEFT>> 
-/// </summary>
-enum TuxAPI_LEDS
-{
-    LED_BOTH = 0,
-    LED_LEFT = 1,
-    LED_RIGHT = 2,
-};
-
-enum TuxAPI_STATUS_REQUESTED
-{
-    flippers_motor_on = 0,
-    flippers_position = 1,
-    flippers_remaining_movements = 2,
-
-    eyes_motor_on = 3,
-    eyes_position = 4,
-    eyes_remaining_movements = 5,
-
-    mouth_motor_on = 6,
-    mouth_position = 7,
-    mouth_remaining_movements = 8,
-
-    spin_left_motor_on = 9,
-    spin_right_motor_on = 10,
-    spinning_direction = 11,
-    spinning_remaining_movements = 12,
-
-    light_level = 13,
-    right_led_state = 14,
-    left_led_state = 15,
-
-    battery_level = 16,
-    battery_state = 17,
-    charger_state = 18,
-
-    //-----------
-
-    /* TODO: modify the number of any status
-    descriptor_complete = 4,
-    radio_state = 5,
-    dongle_plug = 6,
-
-
-    connection_quality = 15,
+    double strtodbl(const std::string& s);
     
-    audio_flash_play = 16,
-    audio_general_play = 17,
-
-    flash_programming_current_track = 18,
-    flash_programming_last_track_size = 19,
-
-    tuxcore_symbolic_version = 20,
-    tuxaudio_symbolic_version = 21,
-    fuxusb_symbolic_version = 22,
-    fuxrf_symbolic_version = 23,
-    tuxrf_symbolic_version = 24,
-    driver_symbolic_version = 25,
-
-    sound_reflash_begin = 26,
-    sound_reflash_end = 27,
-    sound_reflash_current_trac = 28,
-
+    enum TuxAPI_LEVEL
+    {
+        CLIENT_LEVEL_ANONYME = -1,
+        CLIENT_LEVEL_FREE = 0,
+        CLIENT_LEVEL_RESTRICTED = 1,
+        CLIENT_LEVEL_ROOT = 2,
+    };
     
-    left_wing_button = 34,
-    sound_flash_count = 35,
-
-    osl_symbolic_version=38,
-    general_sound_state = 39,
-    wav_volume=40,
-    tts_volume=41,
-    tts_pitch=42,
-    tts_locutor=43,
-    wav_0_sound_state=44,
-    wav_0_pause_state=45,
-    wav_0_stop=46,
-    right_wing_button=47,
-    wav_1_sound_state=48,
-    wav_1_pause_state=49,
-    wav_1_stop=50,
-    wav_2_sound_state=51,
-    wav_2_pause_state=52,
-    wav_2_stop=53,
-    wav_3_sound_state=54,
-    wav_3_pause_state=55,
-    wav_3_stop=56,
-    tts_0_sound_state=57,
-    head_button=58,
-    tts_0_pause_state=59,
-    tts_0_stop=60,
-    tts_0_voice_loaded=61,
-    tts_0_speak_status=62,
-    tts_0_voice_list=63,
-    tts_wav_channel_start=64,
-    None=65,
-    remote_button=66,*/
-};
-
-class TuxAPI
-{
-private:
-  string doUrlAction(TuxAPI_LEVEL level, string url);
-  void doMotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action);   
-  void DoRotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, int rotation);
-  
-  void DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, TuxAPI_LEDS 
leds);
-  void DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, TuxAPI_LEDS 
leds, double intensity);
-  
-  void DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int count);
-  void DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int count, 
double delay);
-  
-  void DoSpeak(TuxAPI_LEVEL level, char *Text);
-  void DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, char *Text);
-  void DoSpeak(TuxAPI_LEVEL level, int pitch, char *Text);
-  void DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, int pitch, 
char *Text);
-              
-  void AttituneControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char 
*attitune);
-  
-  void WavControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char *sound);
-  
-  string getRawStatus(TuxAPI_LEVEL level, TuxAPI_STATUS_REQUESTED status);
-  
-public:
-  TuxAPI(void);
-  void Flippers_Up(void);
-  void Flippers_Down(void);
-  void Mouth_Open(void);
-  void Mouth_Close(void);
-  void Eyes_Open(void);
-  void Eyes_Close(void);
-  void Rotation_Left(int rotation);
-  void Rotation_Right(int rotation);
-  void Leds_On(void);
-  void Leds_On(TuxAPI_LEDS leds);
-  void Leds_On(double intensity);
-  void Leds_On(TuxAPI_LEDS leds, double intensity);
-  void Leds_Off(void);
-  void Leds_Off(TuxAPI_LEDS leds);
-  
-  void Leds_Blink(void);
-  void Leds_Blink(TuxAPI_LEDS leds);
-  void Leds_Blink(TuxAPI_LEDS leds, int count);
-  void Leds_Blink(TuxAPI_LEDS leds, int count, double delay);
-  
-  void Speak(char *Text);
-  void Speak(TuxAPI_SPEAK_LOCUTOR locutor, char *Text);
-  void Speak(int pitch, char *Text);
-  void Speak(TuxAPI_SPEAK_LOCUTOR locutor, int pitch, char *Text);
-
-  void PlayAttitune(char *attitune);
-  void StopAttitune(void);
+    /// <summary>
+    /// All action can do Tux
+    /// </summary>
+    enum TuxAPI_ACTION
+    {
+        FLIPPERS_UP = 1,
+        FLIPPERS_DOWN = 2,
+    
+        MOUTH_OPEN = 3,
+        MOUTH_CLOSE = 4,
+    
+        EYES_OPEN = 5,
+        EYES_CLOSE = 6,
+    
+        LEDS_ON = 7,
+        LEDS_OFF = 8,
+    
+        ROTATE_LEFT = 9,
+        ROTATE_RIGHT = 10,
+    
+        ATTITUNE_PLAY = 11,
+        ATTITUNE_STOP = 12,
+    
+        WAV_PLAY = 13,
+        WAV_STOP = 14,
+    };
+    
+    /// <summary>
+    /// The TTS voice (TODO: Add others voices)
+    /// </summary>
+    enum TuxAPI_SPEAK_LOCUTOR
+    {
+        Bruno = 0,
+        Julie = 1, 
+    };
+    
+    /// <summary>
+    /// //<<LED_BOTH|LED_RIGHT|LED_LEFT>> 
+    /// </summary>
+    enum TuxAPI_LEDS
+    {
+        LED_BOTH = 0,
+        LED_LEFT = 1,
+        LED_RIGHT = 2,
+    };
+    
+    enum TuxAPI_STATUS_REQUESTED
+    {
+        flippers_motor_on = 0,
+        flippers_position = 1,
+        flippers_remaining_movements = 2,
+    
+        eyes_motor_on = 3,
+        eyes_position = 4,
+        eyes_remaining_movements = 5,
+    
+        mouth_motor_on = 6,
+        mouth_position = 7,
+        mouth_remaining_movements = 8,
+    
+        spin_left_motor_on = 9,
+        spin_right_motor_on = 10,
+        spinning_direction = 11,
+        spinning_remaining_movements = 12,
+    
+        light_level = 13,
+        right_led_state = 14,
+        left_led_state = 15,
+    
+        battery_level = 16,
+        battery_state = 17,
+        charger_state = 18,
+    
+        //-----------
+    
+        /* TODO: modify the number of any status
+        descriptor_complete = 4,
+        radio_state = 5,
+        dongle_plug = 6,
+    
+    
+        connection_quality = 15,
         
-  void PlayWav(char *sound);
-  void StopWav(void);
-  
-  string getStatus(TuxAPI_STATUS_REQUESTED status);
+        audio_flash_play = 16,
+        audio_general_play = 17,
+    
+        flash_programming_current_track = 18,
+        flash_programming_last_track_size = 19,
+    
+        tuxcore_symbolic_version = 20,
+        tuxaudio_symbolic_version = 21,
+        fuxusb_symbolic_version = 22,
+        fuxrf_symbolic_version = 23,
+        tuxrf_symbolic_version = 24,
+        driver_symbolic_version = 25,
+    
+        sound_reflash_begin = 26,
+        sound_reflash_end = 27,
+        sound_reflash_current_trac = 28,
+    
         
-  
-
-        
-        
-        
-};
+        left_wing_button = 34,
+        sound_flash_count = 35,
+    
+        osl_symbolic_version=38,
+        general_sound_state = 39,
+        wav_volume=40,
+        tts_volume=41,
+        tts_pitch=42,
+        tts_locutor=43,
+        wav_0_sound_state=44,
+        wav_0_pause_state=45,
+        wav_0_stop=46,
+        right_wing_button=47,
+        wav_1_sound_state=48,
+        wav_1_pause_state=49,
+        wav_1_stop=50,
+        wav_2_sound_state=51,
+        wav_2_pause_state=52,
+        wav_2_stop=53,
+        wav_3_sound_state=54,
+        wav_3_pause_state=55,
+        wav_3_stop=56,
+        tts_0_sound_state=57,
+        head_button=58,
+        tts_0_pause_state=59,
+        tts_0_stop=60,
+        tts_0_voice_loaded=61,
+        tts_0_speak_status=62,
+        tts_0_voice_list=63,
+        tts_wav_channel_start=64,
+        None=65,
+        remote_button=66,*/
+    };
+    
+    class TuxAPI
+    {
+    private:
+      string doUrlAction(TuxAPI_LEVEL level, string url);
+      void doMotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action);   
+      void DoRotorAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, int 
rotation);
+      
+      void DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, TuxAPI_LEDS 
leds);
+      void DoLedsAction(TuxAPI_LEVEL level, TuxAPI_ACTION action, TuxAPI_LEDS 
leds, double intensity);
+      
+      void DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int count);
+      void DoBlinkLedsAction(TuxAPI_LEVEL level, TuxAPI_LEDS leds, int count, 
double delay);
+      
+      void DoSpeak(TuxAPI_LEVEL level, char *Text);
+      void DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, char 
*Text);
+      void DoSpeak(TuxAPI_LEVEL level, int pitch, char *Text);
+      void DoSpeak(TuxAPI_LEVEL level, TuxAPI_SPEAK_LOCUTOR locutor, int 
pitch, char *Text);
+                  
+      void AttituneControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char 
*attitune);
+      
+      void WavControl(TuxAPI_LEVEL level, TuxAPI_ACTION action, char *sound);
+      
+      string getRawStatus(TuxAPI_LEVEL level, TuxAPI_STATUS_REQUESTED status);
+      
+    public:
+      TuxAPI(void);
+      void Flippers_Up(void);
+      void Flippers_Down(void);
+      void Mouth_Open(void);
+      void Mouth_Close(void);
+      void Eyes_Open(void);
+      void Eyes_Close(void);
+      void Rotation_Left(int rotation);
+      void Rotation_Right(int rotation);
+      void Leds_On(void);
+      void Leds_On(TuxAPI_LEDS leds);
+      void Leds_On(double intensity);
+      void Leds_On(TuxAPI_LEDS leds, double intensity);
+      void Leds_Off(void);
+      void Leds_Off(TuxAPI_LEDS leds);
+      
+      void Leds_Blink(void);
+      void Leds_Blink(TuxAPI_LEDS leds);
+      void Leds_Blink(TuxAPI_LEDS leds, int count);
+      void Leds_Blink(TuxAPI_LEDS leds, int count, double delay);
+      
+      void Speak(char *Text);
+      void Speak(TuxAPI_SPEAK_LOCUTOR locutor, char *Text);
+      void Speak(int pitch, char *Text);
+      void Speak(TuxAPI_SPEAK_LOCUTOR locutor, int pitch, char *Text);
+    
+      void PlayAttitune(char *attitune);
+      void StopAttitune(void);
+            
+      void PlayWav(char *sound);
+      void StopWav(void);
+      
+      string getStatus(TuxAPI_STATUS_REQUESTED status);    
+    };
+}


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to