File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / ext / rtree / sqlite3rtree.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:04:17 2012 UTC (13 years, 1 month ago) by misho
Branches: sqlite3, MAIN
CVS tags: v3_7_10, HEAD
sqlite3

    1: /*
    2: ** 2010 August 30
    3: **
    4: ** The author disclaims copyright to this source code.  In place of
    5: ** a legal notice, here is a blessing:
    6: **
    7: **    May you do good and not evil.
    8: **    May you find forgiveness for yourself and forgive others.
    9: **    May you share freely, never taking more than you give.
   10: **
   11: *************************************************************************
   12: */
   13: 
   14: #ifndef _SQLITE3RTREE_H_
   15: #define _SQLITE3RTREE_H_
   16: 
   17: #include <sqlite3.h>
   18: 
   19: #ifdef __cplusplus
   20: extern "C" {
   21: #endif
   22: 
   23: typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
   24: 
   25: /*
   26: ** Register a geometry callback named zGeom that can be used as part of an
   27: ** R-Tree geometry query as follows:
   28: **
   29: **   SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zGeom(... params ...)
   30: */
   31: int sqlite3_rtree_geometry_callback(
   32:   sqlite3 *db,
   33:   const char *zGeom,
   34:   int (*xGeom)(sqlite3_rtree_geometry *, int nCoord, double *aCoord, int *pRes),
   35:   void *pContext
   36: );
   37: 
   38: 
   39: /*
   40: ** A pointer to a structure of the following type is passed as the first
   41: ** argument to callbacks registered using rtree_geometry_callback().
   42: */
   43: struct sqlite3_rtree_geometry {
   44:   void *pContext;                 /* Copy of pContext passed to s_r_g_c() */
   45:   int nParam;                     /* Size of array aParam[] */
   46:   double *aParam;                 /* Parameters passed to SQL geom function */
   47:   void *pUser;                    /* Callback implementation user data */
   48:   void (*xDelUser)(void *);       /* Called by SQLite to clean up pUser */
   49: };
   50: 
   51: 
   52: #ifdef __cplusplus
   53: }  /* end of the 'extern "C"' block */
   54: #endif
   55: 
   56: #endif  /* ifndef _SQLITE3RTREE_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>