Update of /cvsroot/playerstage/code/player/server/drivers/vectormap
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25787/server/drivers/vectormap
Modified Files:
Tag: b_thjc_dynamic_arrays
dbconn.h .cvsignore postgis.cc dbconn.cc
Log Message:
Merged some changes from head a while back
Work on updating drivers, A-J done, laser is next
Index: .cvsignore
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/vectormap/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** .cvsignore 20 Aug 2007 19:42:48 -0000 1.1
--- .cvsignore 10 Oct 2007 09:26:02 -0000 1.1.2.1
***************
*** 2,3 ****
--- 2,7 ----
Makefile.in
+ .deps
+ *.la
+ .libs
+ *.lo
Index: dbconn.cc
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/vectormap/dbconn.cc,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** dbconn.cc 20 Aug 2007 19:42:48 -0000 1.1
--- dbconn.cc 10 Oct 2007 09:26:02 -0000 1.1.2.1
***************
*** 80,86 ****
for (uint i=0; i<layerNames.size(); ++i)
{
! LayerInfoHolder layer_info(layerNames[i]);
! LayerDataHolder layer_data(layer_info);
! info.layers.push_back(layer_data);
}
--- 80,84 ----
for (uint i=0; i<layerNames.size(); ++i)
{
! info.layers.push_back(GetLayerInfo(layerNames[i].c_str()));
}
***************
*** 133,138 ****
LayerDataHolder data;
- data.info.name = layer_name;
-
// need to get name count, name, wkb count, wkb
const char* template_data = "SELECT name, asbinary(geom) FROM %s;";
--- 131,134 ----
***************
*** 232,236 ****
info.extent.y1 = extent.y1;
info.layers_count = layers.size();
! info.layers = new player_vectormap_layer_data_t[layers.size()];
for (uint ii=0; ii<layers.size(); ++ii)
{
--- 228,232 ----
info.extent.y1 = extent.y1;
info.layers_count = layers.size();
! info.layers = new player_vectormap_layer_info_t[layers.size()];
for (uint ii=0; ii<layers.size(); ++ii)
{
***************
*** 283,287 ****
const player_vectormap_layer_data_t* LayerDataHolder::Convert()
{
- layer_data.info = *(info.Convert());
layer_data.features_count = features.size();
layer_data.features = new player_vectormap_feature_data_t[features.size()];
--- 279,282 ----
***************
*** 295,298 ****
--- 290,294 ----
LayerDataHolder::~LayerDataHolder()
{
+ free(layer_data.name);
// if (layer_data.features)
// {
Index: dbconn.h
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/vectormap/dbconn.h,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** dbconn.h 20 Aug 2007 19:42:48 -0000 1.1
--- dbconn.h 10 Oct 2007 09:26:02 -0000 1.1.2.1
***************
*** 2,6 ****
#define __DBCONN_H_
! #include <postgresql/libpq-fe.h>
#include <libplayercore/playercore.h>
#include <libplayercore/error.h>
--- 2,6 ----
#define __DBCONN_H_
! #include <libpq-fe.h>
#include <libplayercore/playercore.h>
#include <libplayercore/error.h>
***************
*** 36,45 ****
{
public:
! LayerInfoHolder(){};
LayerInfoHolder(string name)
{
this->name = name;
memset(&extent, 0, sizeof(extent));
};
const player_vectormap_layer_info_t* Convert();
--- 36,51 ----
{
public:
! LayerInfoHolder(){memset(&layer_info,0,sizeof(layer_info));};
LayerInfoHolder(string name)
{
this->name = name;
+ layer_info.name = strdup(name.c_str());
+ layer_info.name_count = name.size() +1;
memset(&extent, 0, sizeof(extent));
};
+ ~LayerInfoHolder()
+ {
+ free(layer_info.name);
+ }
const player_vectormap_layer_info_t* Convert();
***************
*** 53,68 ****
{
public:
! LayerDataHolder(){};
! ~LayerDataHolder();
! LayerDataHolder(LayerInfoHolder info)
{
! this->info = info;
};
const player_vectormap_layer_data_t* Convert();
- LayerInfoHolder info;
vector<FeatureDataHolder> features;
player_vectormap_layer_data_t layer_data;
};
--- 59,77 ----
{
public:
! LayerDataHolder(){memset(&layer_data,0,sizeof(layer_data));};
! LayerDataHolder(string name)
{
! memset(&layer_data,0,sizeof(layer_data));
! this->name = name;
! layer_data.name = strdup(name.c_str());
! layer_data.name_count = name.size() +1;
};
+ ~LayerDataHolder();
const player_vectormap_layer_data_t* Convert();
vector<FeatureDataHolder> features;
player_vectormap_layer_data_t layer_data;
+ string name;
};
***************
*** 77,81 ****
uint32_t srid;
! vector<LayerDataHolder> layers;
BoundingBox extent;
player_vectormap_info_t info;
--- 86,90 ----
uint32_t srid;
! vector<LayerInfoHolder> layers;
BoundingBox extent;
player_vectormap_info_t info;
Index: postgis.cc
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/vectormap/postgis.cc,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -C2 -d -r1.2 -r1.2.2.1
*** postgis.cc 23 Aug 2007 19:58:48 -0000 1.2
--- postgis.cc 10 Oct 2007 09:26:02 -0000 1.2.2.1
***************
*** 77,81 ****
@par Creating a PostGIS Database
! ///TODO: Add documentation
For more information see http://postgis.refractions.net/
--- 77,99 ----
@par Creating a PostGIS Database
! The PostGIS extension and Postgres database come in a single package in
Ubuntu called postgresql-8.1-postgis. PostGIS isn't supported by Postgres-8.2
at the time of writing. After the package has been installed the database
should be running and a new user 'postgres' should
! have been added to the system.
!
! After the database has been installed, you will need to install the PL/pgSQL
language extension and load the PostGIS definitions.
! - To do this do a 'sudo su' to the postgres user.
! - Change to the directory holding lwpostgis.sql (Should be
'/usr/share/postgres-8.1-postgis/lwpostgis.sql')
! - Add the PL/pgSQL language extension: createlang plpgsql template1
! - Load the PostGIS definitions: psql -d template1 -f lwpostgis.sql
! - Create a database: createdb gis
! - Add a user account:
! - psql gis
! - CREATE ROLE username WITH LOGIN CREATEDB CREATEROLE;
! - Create a table for your geometry data
! - CREATE TABLE obstacles_geom(ID int4, NAME varchar(25))
! - Let the PostGIS extension know about your data
! - SELECT AddGeometryColumn('public', 'obstacles_geom', 'geom', 423,
'LINESTRING', 2)
!
! Each geometry column refers to one layer in the configuration file.
!
For more information see http://postgis.refractions.net/
***************
*** 98,107 ****
#include <geos_c.h>
#endif
/** Dummy function passed as a function pointer GEOS when it is initialised.
GEOS uses this for logging. */
! void geosprint(const char *text, ...)
{
! return;
! }
////////////////////////////////////////////////////////////////////////////////
class PostGIS : public Driver
--- 116,133 ----
#include <geos_c.h>
#endif
+ #include <stdarg.h>
/** Dummy function passed as a function pointer GEOS when it is initialised.
GEOS uses this for logging. */
! inline void geosprint(const char* format, ...)
{
! va_list ap;
! va_start(ap,format);
! fprintf(stderr,"GEOSError: ");
! vfprintf(stderr,format, ap);
! fflush(stderr);
! va_end(ap);
!
! };
!
////////////////////////////////////////////////////////////////////////////////
class PostGIS : public Driver
***************
*** 270,281 ****
this->device_addr))
{
-
- if (hdr->size != 0)
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return -1;
- }
-
VectorMapInfoHolder info = RequestVectorMapInfo();
const player_vectormap_info_t* response = info.Convert();
--- 296,299 ----
***************
*** 290,320 ****
return(0);
}
- // Request for layer info
/////////////////////////////////////////////////////////
- else if (Message::MatchMessage(hdr, PLAYER_MSGTYPE_REQ,
- PLAYER_VECTORMAP_REQ_GET_LAYER_INFO,
- this->device_addr))
- {
-
- if (hdr->size != sizeof(player_vectormap_layer_info_t))
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return -1;
- }
-
- const player_vectormap_layer_info_t* request =
reinterpret_cast<player_vectormap_layer_info_t*>(data);
- LayerInfoHolder info = RequestLayerInfo(request->name);
- const player_vectormap_layer_info_t* response = info.Convert();
-
- this->Publish(this->device_addr,
- resp_queue,
- PLAYER_MSGTYPE_RESP_ACK,
- PLAYER_VECTORMAP_REQ_GET_LAYER_INFO,
- (void*)response,
- sizeof(player_vectormap_layer_info_t),
- NULL);
-
- return(0);
- }
// Request for layer data
/////////////////////////////////////////////////////////
else if (Message::MatchMessage(hdr, PLAYER_MSGTYPE_REQ,
--- 308,311 ----
***************
*** 322,334 ****
this->device_addr))
{
- if (hdr->size != sizeof(player_vectormap_layer_data_t))
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return -1;
- }
-
player_vectormap_layer_data_t* request =
reinterpret_cast<player_vectormap_layer_data_t*>(data);
! LayerDataHolder ldata = RequestLayerData(request->info.name);
const player_vectormap_layer_data_t* response = ldata.Convert();
--- 313,318 ----
this->device_addr))
{
player_vectormap_layer_data_t* request =
reinterpret_cast<player_vectormap_layer_data_t*>(data);
! LayerDataHolder ldata = RequestLayerData(request->name);
const player_vectormap_layer_data_t* response = ldata.Convert();
***************
*** 348,357 ****
this->device_addr))
{
- if (hdr->size != 0)
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return -1;
- }
player_vectormap_layer_data_t* request =
reinterpret_cast<player_vectormap_layer_data_t*>(data);
RequestLayerWrite(request);
--- 332,335 ----
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit