00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00030
00031
00040 #ifndef CARMEN_MAP_MESSAGES_H
00041 #define CARMEN_MAP_MESSAGES_H
00042
00043 #include <carmen/map.h>
00044
00045
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00050 #define CARMEN_HMAP_REQUEST_NAME "carmen_hmap_request"
00051 typedef carmen_default_message carmen_hmap_request_message;
00052 #define CARMEN_GRIDMAP_REQUEST_NAME "carmen_gridmap_request"
00053 typedef carmen_default_message carmen_gridmap_request_message;
00054 #define CARMEN_PLACELIST_REQUEST_NAME "carmen_placelist_request"
00055 typedef carmen_default_message carmen_placelist_request_message;
00056 #define CARMEN_OFFLIMITS_REQUEST_NAME "carmen_offlimits_request"
00057 typedef carmen_default_message carmen_offlimits_request_message;
00058
00059 typedef struct {
00060 carmen_hmap_t hmap;
00061 double timestamp;
00062 char *host;
00063 } carmen_hmap_message;
00064
00065 #define CARMEN_MAP_HMAP_NAME "carmen_hmap_message"
00066 #define CARMEN_MAP_HMAP_FMT "{{int, <string:1>, int, <{int, int, <int:2>, int, <{double, double, double}:4>}:3>},double,string}"
00067
00068 typedef struct {
00069 unsigned char * map;
00070 int size;
00071 int compressed;
00072 carmen_map_config_t config;
00073
00074 char *err_mesg;
00075
00076 double timestamp;
00077 char *host;
00078 } carmen_grid_map_message;
00079
00080 #define CARMEN_MAP_GRIDMAP_NAME "carmen_grid_map_message"
00081 #define CARMEN_MAP_GRIDMAP_UPDATE_NAME "carmen_grid_map_update_message"
00082 #define CARMEN_MAP_GRIDMAP_FMT "{<char:2>, int, int, {int, int, double, string}, string, double, string}"
00083
00084
00085
00086 typedef struct {
00087 char *name;
00088 double timestamp;
00089 char *host;
00090 } carmen_named_gridmap_request;
00091
00092 #define CARMEN_NAMED_GRIDMAP_REQUEST_NAME "carmen_named_gridmap_request"
00093 #define CARMEN_NAMED_GRIDMAP_REQUEST_FMT "{string,double,string}"
00094
00095 typedef struct {
00096 carmen_place_p places;
00097 int num_places;
00098 double timestamp;
00099 char *host;
00100 } carmen_map_placelist_message;
00101
00102 #define CARMEN_MAP_PLACELIST_NAME "carmen_placelist_message"
00103 #define CARMEN_MAP_PLACELIST_FMT "{<{int,int,[char:22],double,double,double,double,double,double}:2>,int,double,string}"
00104
00105 typedef struct {
00106 char *name;
00107 double timestamp;
00108 char *host;
00109 } carmen_map_named_placelist_request;
00110
00111 #define CARMEN_NAMED_PLACELIST_REQUEST_NAME "carmen_named_placelist_request"
00112 #define CARMEN_NAMED_PLACELIST_REQUEST_FMT "{string,double,string}"
00113
00114 typedef struct {
00115 carmen_offlimits_p offlimits_list;
00116 int list_length;
00117 double timestamp;
00118 char *host;
00119 } carmen_map_offlimits_message;
00120
00121 #define CARMEN_MAP_OFFLIMITS_NAME "carmen_offlimits_message"
00122 #define CARMEN_MAP_OFFLIMITS_FMT "{<{int,int,int,int,int}:2>,int,double,string}"
00123
00124
00125 typedef struct {
00126 char *name;
00127 double timestamp;
00128 char *host;
00129 } carmen_map_named_offlimits_request;
00130
00131 #define CARMEN_NAMED_OFFLIMITS_REQUEST_NAME "carmen_named_offlimits_request"
00132 #define CARMEN_NAMED_OFFLIMITS_REQUEST_FMT "{string,double,string}"
00133
00134 typedef struct {
00135 char *zone_name;
00136 double timestamp;
00137 char *host;
00138 } carmen_map_zone_message;
00139
00140 #define CARMEN_MAP_ZONE_NAME "carmen_map_zone_message"
00141 #define CARMEN_MAP_ZONE_FMT "{string,double,string}"
00142
00143 typedef struct {
00144 char *zone_name;
00145 double timestamp;
00146 char *host;
00147 } carmen_map_change_map_zone_request;
00148
00149 #define CARMEN_CHANGE_MAP_ZONE_REQUEST_NAME "carmen_change_map_zone_request"
00150 #define CARMEN_CHANGE_MAP_ZONE_REQUEST_FMT "{string,double,string}"
00151
00152 typedef struct {
00153 char *err_msg;
00154 double timestamp;
00155 char *host;
00156 } carmen_map_change_map_zone_response;
00157
00158 #define CARMEN_CHANGE_MAP_ZONE_RESPONSE_NAME "carmen_change_map_zone_response"
00159 #define CARMEN_CHANGE_MAP_ZONE_RESPONSE_FMT "{string,double,string}"
00160
00161
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165
00166 #endif
00167