SpatiaLite 4.3.0a

src/headers/spatialite/gg_wfs.h

Go to the documentation of this file.
00001 /*
00002  gg_wfs.h -- Gaia common support for WFS
00003   
00004  version 4.3, 2015 June 29
00005 
00006  Author: Sandro Furieri a.furieri@lqt.it
00007 
00008  ------------------------------------------------------------------------------
00009  
00010  Version: MPL 1.1/GPL 2.0/LGPL 2.1
00011  
00012  The contents of this file are subject to the Mozilla Public License Version
00013  1.1 (the "License"); you may not use this file except in compliance with
00014  the License. You may obtain a copy of the License at
00015  http://www.mozilla.org/MPL/
00016  
00017 Software distributed under the License is distributed on an "AS IS" basis,
00018 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00019 for the specific language governing rights and limitations under the
00020 License.
00021 
00022 The Original Code is the SpatiaLite library
00023 
00024 The Initial Developer of the Original Code is Alessandro Furieri
00025  
00026 Portions created by the Initial Developer are Copyright (C) 2008-2015
00027 the Initial Developer. All Rights Reserved.
00028 
00029 Contributor(s):
00030 
00031 Alternatively, the contents of this file may be used under the terms of
00032 either the GNU General Public License Version 2 or later (the "GPL"), or
00033 the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00034 in which case the provisions of the GPL or the LGPL are applicable instead
00035 of those above. If you wish to allow use of your version of this file only
00036 under the terms of either the GPL or the LGPL, and not to allow others to
00037 use your version of this file under the terms of the MPL, indicate your
00038 decision by deleting the provisions above and replace them with the notice
00039 and other provisions required by the GPL or the LGPL. If you do not delete
00040 the provisions above, a recipient may use your version of this file under
00041 the terms of any one of the MPL, the GPL or the LGPL.
00042  
00043 */
00044 
00045 
00052 #ifndef _GG_WFS_H
00053 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00054 #define _GG_WFS_H
00055 #endif
00056 
00057 #ifdef __cplusplus
00058 extern "C"
00059 {
00060 #endif
00061 
00062     typedef struct gaia_wfs_catalog gaiaWFScatalog;
00063     typedef gaiaWFScatalog *gaiaWFScatalogPtr;
00064 
00065     typedef struct gaia_wfs_item gaiaWFSitem;
00066     typedef gaiaWFSitem *gaiaWFSitemPtr;
00067 
00068     typedef struct gaia_wfs_schema gaiaWFSschema;
00069     typedef gaiaWFSschema *gaiaWFSschemaPtr;
00070 
00071     typedef struct gaia_wfs_column gaiaWFScolumn;
00072     typedef gaiaWFScolumn *gaiaWFScolumnPtr;
00073 
00103     SPATIALITE_DECLARE int load_from_wfs (sqlite3 * sqlite,
00104                                           const char *path_or_url,
00105                                           const char *alt_describe_uri,
00106                                           const char *layer_name, int swap_axes,
00107                                           const char *table,
00108                                           const char *pk_column_name,
00109                                           int spatial_index, int *rows,
00110                                           char **err_msg,
00111                                           void (*progress_callback) (int,
00112                                                                      void *),
00113                                           void *callback_ptr);
00114 
00148     SPATIALITE_DECLARE int load_from_wfs_paged (sqlite3 * sqlite,
00149                                                 const char *path_or_url,
00150                                                 const char *alt_describe_uri,
00151                                                 const char *layer_name,
00152                                                 int swap_axes,
00153                                                 const char *table,
00154                                                 const char *pk_column_name,
00155                                                 int spatial_index,
00156                                                 int page_size, int *rows,
00157                                                 char **err_msg,
00158                                                 void (*progress_callback) (int,
00159                                                                            void
00160                                                                            *),
00161                                                 void *callback_ptr);
00162 
00178     SPATIALITE_DECLARE gaiaWFScatalogPtr create_wfs_catalog (const char
00179                                                              *path_or_url,
00180                                                              char **err_msg);
00181 
00190     SPATIALITE_DECLARE void destroy_wfs_catalog (gaiaWFScatalogPtr handle);
00191 
00202     SPATIALITE_DECLARE const char *get_wfs_version (gaiaWFScatalogPtr handle);
00203 
00214     SPATIALITE_DECLARE const char *get_wfs_base_request_url (gaiaWFScatalogPtr
00215                                                              handle);
00216 
00227     SPATIALITE_DECLARE const char *get_wfs_base_describe_url (gaiaWFScatalogPtr
00228                                                               handle);
00229 
00250     SPATIALITE_DECLARE char *get_wfs_request_url (gaiaWFScatalogPtr handle,
00251                                                   const char *name,
00252                                                   const char *version,
00253                                                   int srid, int max_features);
00254 
00271     SPATIALITE_DECLARE char *get_wfs_describe_url (gaiaWFScatalogPtr handle,
00272                                                    const char *name,
00273                                                    const char *version);
00274 
00286     SPATIALITE_DECLARE int get_wfs_catalog_count (gaiaWFScatalogPtr handle);
00287 
00303     SPATIALITE_DECLARE gaiaWFSitemPtr get_wfs_catalog_item (gaiaWFScatalogPtr
00304                                                             handle, int index);
00305 
00317     SPATIALITE_DECLARE const char *get_wfs_item_name (gaiaWFSitemPtr handle);
00318 
00330     SPATIALITE_DECLARE const char *get_wfs_item_title (gaiaWFSitemPtr handle);
00331 
00343     SPATIALITE_DECLARE const char *get_wfs_item_abstract (gaiaWFSitemPtr
00344                                                           handle);
00345 
00358     SPATIALITE_DECLARE int get_wfs_layer_srid_count (gaiaWFSitemPtr handle);
00359 
00373     SPATIALITE_DECLARE int get_wfs_layer_srid (gaiaWFSitemPtr handle,
00374                                                int index);
00375 
00388     SPATIALITE_DECLARE int get_wfs_keyword_count (gaiaWFSitemPtr handle);
00389 
00403     SPATIALITE_DECLARE const char *get_wfs_keyword (gaiaWFSitemPtr handle,
00404                                                     int index);
00405 
00421     SPATIALITE_DECLARE gaiaWFSschemaPtr create_wfs_schema (const char
00422                                                            *path_or_url,
00423                                                            const char
00424                                                            *layer_name,
00425                                                            char **err_msg);
00426 
00435     SPATIALITE_DECLARE void destroy_wfs_schema (gaiaWFSschemaPtr handle);
00436 
00458     SPATIALITE_DECLARE int get_wfs_schema_geometry_info (gaiaWFSschemaPtr
00459                                                          handle,
00460                                                          const char **name,
00461                                                          int *type, int *srid,
00462                                                          int *dims,
00463                                                          int *nullable);
00464 
00477     SPATIALITE_DECLARE int get_wfs_schema_column_count (gaiaWFSschemaPtr
00478                                                         handle);
00479 
00494     SPATIALITE_DECLARE gaiaWFScolumnPtr get_wfs_schema_column (gaiaWFSschemaPtr
00495                                                                handle,
00496                                                                int index);
00497 
00513     SPATIALITE_DECLARE int get_wfs_schema_column_info (gaiaWFScolumnPtr handle,
00514                                                        const char **name,
00515                                                        int *type,
00516                                                        int *nullable);
00517 
00523     SPATIALITE_DECLARE void reset_wfs_http_connection (void);
00524 
00525 #ifdef __cplusplus
00526 }
00527 #endif
00528 
00529 #endif                          /* _GG_WFS_H */
 All Data Structures Files Functions Variables Typedefs Defines