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

Reply via email to