Changes between Version 3 and Version 4 of RFC3


Ignore:
Timestamp:
Oct 17, 2008 12:40:09 PM (11 years ago)
Author:
cthibert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RFC3

    v3 v4  
    1919The intent will be to altogether replace the existing functions with the _r functions in a future release, making the thread safe versions the only supported functions.
    2020
     21=== Handle Definition ===
     22Here are the internals of the handle and how the application visual handle will look.
     23
     24{{{
     25typedef struct GEOSContextHandleInternal
     26{
     27    const void *geomFactory;
     28    GEOSMessageHandler NOTICE_MESSAGE;
     29    GEOSMessageHandler ERROR_MESSAGE;
     30    int WKBOutputDims;
     31    int WKBByteOrder;
     32    int initialized;
     33} GEOSConextHandleInternal_t;
     34
     35typedef void *GEOSContextHandle_t;
     36}}}
     37
    2138=== Example Prototypes ===
    2239Here are examples of what some of the new function prototypes would be.
    2340
    2441{{{
    25 extern void GEOS_DLL initGEOS_r(GEOSConextHandle_t *handle,
    26                                  GEOSMessageHandler notice_function,
    27                                  GEOSMessageHandler error_function);
    28 extern void GEOS_DLL finishGEOS_r(GEOSContextHandle_t *handle);
     42GEOSContextHandle_t GEOS_DLL initGEOS_r( GEOSMessageHandler notice_function,
     43                                         GEOSMessageHandler error_function);
     44extern void GEOS_DLL finishGEOS_r(GEOSContextHandle_t handle);
    2945
    3046
    31 extern GEOSGeometry GEOS_DLL *GEOSGeom_createPoint_r(GEOSContextHandle_t *handle,
     47extern GEOSGeometry GEOS_DLL *GEOSGeom_createPoint_r(GEOSContextHandle_t handle,
    3248                                                      GEOSCoordSequence* s);
    33 extern GEOSGeometry GEOS_DLL *GEOSGeom_createLinearRing_r(GEOSContextHandle_t *handle,
     49extern GEOSGeometry GEOS_DLL *GEOSGeom_createLinearRing_r(GEOSContextHandle_t handle,
    3450                                                      GEOSCoordSequence* s);
    35 extern GEOSGeometry GEOS_DLL *GEOSGeom_createLineString_r(GEOSContextHandle_t *handle,
     51extern GEOSGeometry GEOS_DLL *GEOSGeom_createLineString_r(GEOSContextHandle_t handle,
    3652                                                      GEOSCoordSequence* s);
    3753}}}