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