param_messages.h

Go to the documentation of this file.
00001 /*********************************************************
00002  *
00003  * This source code is part of the Carnegie Mellon Robot
00004  * Navigation Toolkit (CARMEN)
00005  *
00006  * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas
00007  * Roy, and Sebastian Thrun
00008  *
00009  * CARMEN is free software; you can redistribute it and/or 
00010  * modify it under the terms of the GNU General Public 
00011  * License as published by the Free Software Foundation; 
00012  * either version 2 of the License, or (at your option)
00013  * any later version.
00014  *
00015  * CARMEN is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied 
00017  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018  * PURPOSE.  See the GNU General Public License for more 
00019  * details.
00020  *
00021  * You should have received a copy of the GNU General 
00022  * Public License along with CARMEN; if not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place, 
00024  * Suite 330, Boston, MA  02111-1307 USA
00025  *
00026  ********************************************************/
00027 
00029 // @{
00030 
00039 #ifndef CARMEN_PARAM_MESSAGES_H
00040 #define CARMEN_PARAM_MESSAGES_H
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045 
00046 typedef enum {CARMEN_PARAM_OK, CARMEN_PARAM_NOT_FOUND, CARMEN_PARAM_NOT_INT, 
00047               CARMEN_PARAM_NOT_DOUBLE, CARMEN_PARAM_NOT_ONOFF,
00048               CARMEN_PARAM_NOT_FILE, CARMEN_PARAM_FILE_ERR} carmen_param_status_t;
00049 
00050 #define CARMEN_PARAM_QUERY_ALL_NAME       "carmen_param_query_all"
00051 #define CARMEN_PARAM_QUERY_INT_NAME       "carmen_param_query_int"
00052 #define CARMEN_PARAM_QUERY_DOUBLE_NAME    "carmen_param_query_double"
00053 #define CARMEN_PARAM_QUERY_ONOFF_NAME     "carmen_param_query_onoff"
00054 #define CARMEN_PARAM_QUERY_STRING_NAME    "carmen_param_query_string"
00055 #define CARMEN_PARAM_VERSION_QUERY_NAME   "carmen_param_query_version"
00056 #define CARMEN_PARAM_REREAD_COMMAND_NAME   "carmen_param_reread_command"
00057 
00058 typedef carmen_default_message carmen_param_query_version_message;
00059 typedef carmen_default_message carmen_param_reread_command_message;
00060 
00061 typedef struct {
00062   char *module_name;
00063   char *variable_name;
00064   double timestamp;
00065   char *host;
00066 } carmen_param_query_message;
00067 
00068 #define CARMEN_PARAM_QUERY_ROBOT_NAME  "carmen_param_query_robot"
00069 #define CARMEN_PARAM_QUERY_FMT     "{string,string,double,string}"
00070 
00075 typedef struct {
00076   char *robot;
00077   carmen_param_status_t status;
00078   double timestamp;
00079   char *host;
00080 } carmen_param_response_robot_message;
00081 
00082 #define CARMEN_PARAM_RESPONSE_ROBOT_NAME  "carmen_param_respond_robot"
00083 #define CARMEN_PARAM_RESPONSE_ROBOT_FMT  "{string,int,double,string}"
00084 
00085 #define CARMEN_PARAM_QUERY_MODULES_NAME   "carmen_param_query_modules"
00086 
00092 typedef struct {
00093   char **modules;
00094   int num_modules;
00095   carmen_param_status_t status;
00096   double timestamp;
00097   char *host;
00098 } carmen_param_response_modules_message;
00099 
00100 #define CARMEN_PARAM_RESPONSE_MODULES_NAME  "carmen_param_respond_modules"
00101 #define CARMEN_PARAM_RESPONSE_MODULES_FMT  "{<string:2>, int, int,double,string}"
00102 
00108 typedef struct {
00109   char *module_name;
00110   int list_length;                        
00114   char **variables;
00115   char **values;                          
00119   int *expert;                            
00125   carmen_param_status_t status;           
00131   double timestamp;
00132   char *host;
00133 } carmen_param_response_all_message;
00134 
00135 #define CARMEN_PARAM_RESPONSE_ALL_NAME     "carmen_param_respond_all"
00136 #define CARMEN_PARAM_RESPONSE_ALL_FMT "{string, int, <string:2>, <string:2>, <int:2>, int, double, string}"
00137 
00145 typedef struct {
00146   char *module_name;                
00147   char *variable_name;              
00148   int value;                        
00150   int expert;                       
00152   carmen_param_status_t status;     
00154   double timestamp;
00155   char *host;
00156 } carmen_param_response_int_message;
00157 
00158 #define CARMEN_PARAM_RESPONSE_INT_NAME    "carmen_param_respond_int"
00159 #define CARMEN_PARAM_RESPONSE_INT_FMT     "{string, string, int, int, int, double, string}"
00160 
00168 typedef struct {
00169   char *module_name;                
00170   char *variable_name;              
00171   double value;                     
00173   int expert;                       
00175   carmen_param_status_t status;     
00177   double timestamp;
00178   char *host;
00179 } carmen_param_response_double_message;
00180 
00181 #define CARMEN_PARAM_RESPONSE_DOUBLE_NAME    "carmen_param_respond_double"
00182 #define CARMEN_PARAM_RESPONSE_DOUBLE_FMT     "{string, string, double, int, int, double, string}"
00183 
00191 typedef struct {
00192   char *module_name;                
00193   char *variable_name;              
00194   int value;                        
00197   int expert;                       
00199   carmen_param_status_t status;     
00201   double timestamp;
00202   char *host;
00203 } carmen_param_response_onoff_message;
00204 
00205 #define CARMEN_PARAM_RESPONSE_ONOFF_NAME    "carmen_param_respond_onoff"
00206 #define CARMEN_PARAM_RESPONSE_ONOFF_FMT     "{string, string, int, int, int, double, string}"
00207 
00214 typedef struct {
00215   char *module_name;                
00216   char *variable_name;              
00217   char *value;                      
00218   int expert;                       
00220   carmen_param_status_t status;     
00222   double timestamp;
00223   char *host;
00224 } carmen_param_response_string_message;
00225 
00226 #define CARMEN_PARAM_RESPONSE_STRING_NAME    "carmen_param_respond_string"
00227 #define CARMEN_PARAM_RESPONSE_STRING_FMT     "{string, string, string, int, int, double, string}"
00228 
00233 typedef struct {
00234   char *module_name;                
00236   char *variable_name;              
00238   char *value;                      
00240   double timestamp;
00241   char *host;
00242 } carmen_param_set_message;
00243 
00244 #define CARMEN_PARAM_SET_NAME    "carmen_param_set"
00245 #define CARMEN_PARAM_SET_FMT     "{string, string, string, double, string}"
00246 
00247 typedef carmen_param_response_string_message carmen_param_variable_change_message;
00248 
00249 #define CARMEN_PARAM_VARIABLE_CHANGE_NAME    "carmen_param_variable_change"
00250 #define CARMEN_PARAM_VARIABLE_CHANGE_FMT     "{string, string, string, int, int, double, string}"
00251 
00257 typedef struct {
00258   int major;
00259   int minor;
00260   int revision;
00261   double timestamp;
00262   char *host;
00263 } carmen_param_version_message;
00264 
00265 #define CARMEN_PARAM_VERSION_NAME "carmen_param_version"
00266 #define CARMEN_PARAM_VERSION_FMT  "{int, int, int, double, string}"
00267 
00268 #ifdef __cplusplus
00269 }
00270 #endif
00271 
00272 #endif
00273 
00274 // @}

Generated on Wed Apr 5 18:34:18 2006 for CARMEN by  doxygen 1.4.4