70bool check_regexp (
const char *str_request,
const char *str_regex);
112int main (
int argc,
char *argv[]);
248void ows_log(
ows *o,
int log_level,
const char *log);
buffer * buffer_encode_xml_entities_str(const char *str)
void ows_contact_free(ows_contact *contact)
void wfs_get_capabilities(ows *o, wfs_request *wr)
list * ows_psql_not_null_properties(ows *o, buffer *layer_name)
void ows_bbox_free(ows_bbox *b)
void ows_log(ows *o, int log_level, const char *log)
int ows_psql_geometry_srid(ows *o, const char *geom)
ows_geobbox * ows_geobbox_compute(ows *o, buffer *layer_name)
void alist_free(alist *al)
void buffer_add(buffer *buf, char c)
int ows_version_get(ows_version *v)
int main(int argc, char *argv[])
bool ows_layer_in_list(const ows_layer_list *ll, buffer *name)
void ows_version_flush(ows_version *v, FILE *output)
buffer * ows_psql_column_name(ows *o, buffer *layer_name, int number)
void list_add_by_copy(list *l, buffer *value)
void buffer_empty(buffer *buf)
void ows_metadata_fill(ows *o, array *cgi)
ows_version * ows_psql_postgis_version(ows *o)
void ows_layer_list_flush(ows_layer_list *ll, FILE *output)
filter_encoding * fe_filter(ows *o, filter_encoding *fe, buffer *typename, buffer *xmlchar)
buffer * wfs_request_remove_prop_ns_prefix(ows *o, buffer *prop, list *layer_name)
void mlist_add(mlist *ml, list *value)
bool alist_is_key(const alist *al, const char *key)
buffer * fill_fe_error(ows *o, filter_encoding *fe)
ows_bbox * ows_bbox_init()
buffer * ows_psql_column_constraint_name(ows *o, buffer *column_name, buffer *table_name)
PGresult * ows_psql_exec(ows *o, const char *sql)
buffer * fe_function(ows *o, buffer *typename, filter_encoding *fe, buffer *sql, xmlNodePtr n)
buffer * buffer_encode_json_str(const char *str)
void fe_filter_capabilities_110(const ows *o)
list * list_explode_start_end(char separator_start, char separator_end, buffer *value)
bool ows_geobbox_set_from_bbox(ows *o, ows_geobbox *g, ows_bbox *bb)
buffer * ows_psql_gml_to_sql(ows *o, xmlNodePtr n, const ows_srs *parent_srs)
void list_implode(buffer *buf, const char *separator, const list *l)
void buffer_copy(buffer *dest, const buffer *src)
bool array_is_value(const array *a, const char *value)
bool ows_bbox_set_from_geobbox(ows *o, ows_bbox *bb, ows_geobbox *geo)
void fe_error(ows *o, filter_encoding *fe)
ows_bbox * ows_bbox_boundaries(ows *o, list *from, list *where, ows_srs *srs)
array * cgi_parse_xml(ows *o, char *query)
buffer * wfs_generate_schema(ows *o, ows_version *version)
bool ows_srs_meter_units(ows *o, buffer *layer_name)
buffer * ows_psql_column_character_maximum_length(ows *o, buffer *column_name, buffer *table_name)
filter_encoding * filter_encoding_init()
bool buffer_cmp(const buffer *buf, const char *str)
buffer * array_get_key(const array *a, const char *value)
list * ows_psql_geometry_column(ows *o, buffer *layer_name)
buffer * fe_xpath_property_name(ows *o, buffer *typename, buffer *property)
ows_layer_node * ows_layer_node_init()
array * cgi_parse_kvp(ows *o, char *query)
bool in_list(const list *l, const buffer *value)
buffer * fe_envelope(ows *o, buffer *typename, filter_encoding *fe, buffer *envelope, xmlNodePtr n)
buffer * ows_psql_type(ows *o, buffer *layer_name, buffer *property)
bool fe_is_comparison_op(char *name)
ows_layer * ows_layer_init()
bool ows_psql_is_geometry_valid(ows *o, buffer *geom)
bool ows_layer_list_writable(const ows_layer_list *ll)
void wfs_request_free(wfs_request *wr)
bool ows_version_set_str(ows_version *v, char *str)
void buffer_add_str(buffer *buf, const char *str)
void list_flush(const list *l, FILE *output)
bool ows_version_check(ows_version *v)
void ows_layer_storage_flush(ows_layer_storage *storage, FILE *output)
buffer * fe_expression(ows *o, buffer *typename, filter_encoding *fe, buffer *sql, xmlNodePtr n)
void ows_flush(ows *o, FILE *output)
void ows_layer_list_free(ows_layer_list *ll)
void buffer_flush(buffer *buf, FILE *output)
void list_node_free(list *l, list_node *ln)
buffer * fe_logical_op(ows *o, buffer *typename, filter_encoding *fe, xmlNodePtr n)
void wfs_delete(ows *o, wfs_request *wr)
char * cgi_getback_query(ows *o)
bool buffer_case_cmp(const buffer *buf, const char *str)
long int buffer_rchr(const buffer *buf, char c)
void ows_service_metadata(const ows *o)
ows_meta * ows_metadata_init()
void wfs_request_check(ows *o, wfs_request *wr, const array *cgi)
long int buffer_chr(const buffer *buf, char c)
void ows_layer_free(ows_layer *l)
bool ows_srs_set_from_srsname(ows *o, ows_srs *s, const char *srsname)
bool ows_layer_match_table(const ows *o, const buffer *name)
void ows_bbox_flush(const ows_bbox *b, FILE *output)
bool fe_is_spatial_op(char *name)
bool fe_is_logical_op(char *name)
buffer * cgi_add_xml_into_buffer(buffer *element, xmlNodePtr n)
void buffer_add_double(buffer *buf, double f)
list * ows_srs_get_from_srid(ows *o, list *l)
bool ows_srs_set_from_srid(ows *o, ows_srs *s, int srid)
char * ows_psql_escape_string(ows *o, const char *content)
array * ows_layer_list_namespaces(ows_layer_list *ll)
bool ows_bbox_transform(ows *o, ows_bbox *bb, int srid)
void ows_bbox_to_query(ows *o, ows_bbox *bbox, buffer *query)
void buffer_add_nstr(buffer *buf, const char *str, size_t n)
void wfs_describe_feature_type(ows *o, wfs_request *wr)
buffer * array_get(const array *a, const char *key)
void alist_flush(const alist *al, FILE *output)
wfs_request * wfs_request_init()
buffer * ows_psql_id_column(ows *o, buffer *layer_name)
void wfs_error(ows *o, wfs_request *wf, enum wfs_error_code code, char *message, char *locator)
void ows_error(ows *o, enum ows_error_code code, char *message, char *locator)
bool in_list_str(const list *l, const char *value)
void array_free(array *a)
list_node * list_node_init()
buffer * ows_layer_ns_prefix_to_ns_uri(ows_layer_list *ll, buffer *ns_prefix)
bool ows_bbox_set_from_str(ows *o, ows_bbox *bb, const char *str, int srid, bool honours_authority_axis_order_if_no_explicit_srs)
bool buffer_ncmp(const buffer *buf, const char *str, size_t n)
void list_add(list *l, buffer *value)
mlist * mlist_explode(char separator_start, char separator_end, buffer *value)
void list_add_str(list *l, char *value)
list * list_explode_str_trim(char separator, const char *value)
void wfs_parse_operation(ows *o, wfs_request *wr, buffer *op)
void ows_geobbox_free(ows_geobbox *g)
void filter_encoding_free(filter_encoding *fe)
void buffer_add_head_str(buffer *buf, char *str)
ows_version * ows_version_init()
buffer * buffer_replace(buffer *buf, char *before, char *after)
bool ows_layer_list_retrievable(const ows_layer_list *ll)
bool ows_libxml_check_namespace(ows *o, xmlNodePtr n)
ows_layer_list * ows_layer_list_init()
buffer * ows_layer_no_uri_to_uri(const ows_layer_list *ll, buffer *name_no_uri)
bool ows_bbox_set(ows *o, ows_bbox *b, double xmin, double ymin, double xmax, double ymax, int srid)
void ows_parse_config_mapfile(ows *o, const char *filename)
list * alist_get(const alist *al, const char *key)
void array_flush(const array *a, FILE *output)
bool array_is_key(const array *a, const char *key)
void buffer_add_head(buffer *buf, char c)
void ows_srs_flush(ows_srs *c, FILE *output)
list * ows_psql_column_check_constraint(ows *o, buffer *constraint_name)
bool ows_layer_retrievable(const ows_layer_list *ll, const buffer *name)
list * ows_layer_list_ns_prefix(ows_layer_list *ll, list *layer_name_prefix)
ows_layer_storage * ows_layer_storage_init()
array * ows_psql_describe_table(ows *o, buffer *layer_name)
buffer * buffer_from_str(const char *str)
void wfs_gml_feature_member(ows *o, wfs_request *wr, buffer *layer_name, list *properties, PGresult *res)
void buffer_free(buffer *buf)
buffer * fe_comparison_op(ows *o, buffer *typename, filter_encoding *fe, xmlNodePtr n)
list * ows_layer_list_having_storage(const ows_layer_list *ll)
buffer * ows_layer_uri_to_prefix(ows_layer_list *ll, buffer *layer_name)
buffer * buffer_clone(buffer *buf)
buffer * ows_psql_timestamp_to_xml_time(char *timestamp)
void buffer_add_int(buffer *buf, int i)
void fe_filter_capabilities_100(const ows *o)
void mlist_flush(const mlist *ml, FILE *output)
void wfs_get_feature(ows *o, wfs_request *wr)
void buffer_shift(buffer *buf, size_t len)
buffer * ows_layer_ns_prefix(ows_layer_list *ll, buffer *layer_name_prefix)
list * list_split(char separator, const buffer *value, bool reverse)
bool ows_psql_is_numeric(buffer *type)
void ows_contact_flush(ows_contact *contact, FILE *output)
char * ows_psql_to_xsd(buffer *type, enum wfs_format format)
void alist_add(alist *al, buffer *key, buffer *value)
buffer * ows_layer_no_uri(ows_layer_list *ll, buffer *layer_name)
ows_layer * ows_layer_get(const ows_layer_list *ll, const buffer *name)
void ows_request_check(ows *o, ows_request *or, const array *cgi, const char *query)
ows_geobbox * ows_geobbox_copy(ows_geobbox *g)
int ows_srs_get_srid_from_layer(ows *o, buffer *layer_name)
bool ows_psql_is_geometry_column(ows *o, buffer *layer_name, buffer *column)
buffer * buffer_itoa(int i)
void list_add_list(list *l, list *l_to_add)
ows_geobbox * ows_geobbox_init()
ows_contact * ows_contact_init()
void ows_layer_list_add(ows_layer_list *ll, ows_layer *l)
void ows_layers_storage_flush(ows *o, FILE *output)
mlist_node * mlist_node_init()
void ows_service_identification(const ows *o)
void ows_layer_storage_free(ows_layer_storage *storage)
list * ows_layer_list_prefix_to_uri(ows_layer_list *ll, list *layer_name_prefix)
bool ows_srs_set_geobbox(ows *o, ows_srs *s)
list * ows_layer_list_by_ns_prefix(ows_layer_list *ll, list *layer_name_prefix, buffer *ns_prefix)
buffer * ows_layer_ns_uri(ows_layer_list *ll, buffer *ns_prefix)
void fe_node_flush(xmlNodePtr node, FILE *output)
void ows_layers_storage_fill(ows *o)
buffer * ows_psql_generate_id(ows *o, buffer *layer_name)
void ows_get_capabilities_dcpt(const ows *o, const char *req)
bool ows_geobbox_set(ows *o, ows_geobbox *g, double west, double east, double south, double north)
buffer * buffer_ftoa(double f)
ows_geobbox * ows_geobbox_set_from_str(ows *o, ows_geobbox *g, char *str)
void ows_geobbox_flush(const ows_geobbox *g, FILE *output)
void wfs_request_flush(wfs_request *wr, FILE *output)
void ows_srs_free(ows_srs *c)
buffer * ows_srs_get_from_a_srid(ows *o, int srid)
void ows_layer_node_free(ows_layer_list *ll, ows_layer_node *ln)
buffer * fe_spatial_op(ows *o, buffer *typename, filter_encoding *fe, xmlNodePtr n)
void ows_version_set(ows_version *v, int major, int minor, int release)
void ows_metadata_free(ows_meta *metadata)
void buffer_pop(buffer *buf, size_t len)
int ows_psql_number_features(ows *o, list *from, list *where)
void ows_parse_config(ows *o, const char *filename)
buffer * fe_feature_id(ows *o, buffer *typename, filter_encoding *fe, xmlNodePtr n)
bool ows_srs_set(ows *o, ows_srs *c, const buffer *auth_name, int auth_srid)
void ows_request_free(ows_request *or)
void array_add(array *a, buffer *key, buffer *value)
buffer * ows_psql_table_name(ows *o, buffer *layer_name)
void ows_layer_flush(ows_layer *l, FILE *output)
bool ows_layer_writable(const ows_layer_list *ll, const buffer *name)
void ows_metadata_flush(ows_meta *metadata, FILE *output)
ows_request * ows_request_init()
buffer * fe_property_name(ows *o, buffer *typename, filter_encoding *fe, buffer *sql, xmlNodePtr n, bool check_geom_column, bool mandatory)
list * list_explode(char separator, const buffer *value)
void ows_request_flush(ows_request *or, FILE *output)
buffer * fe_kvp_featureid(ows *o, wfs_request *wr, buffer *layer_name, list *fid)
ows_srs * ows_srs_copy(ows_srs *d, ows_srs *s)
int ows_schema_validation(ows *o, buffer *xml_schema, buffer *xml, bool schema_is_file, enum ows_schema_type schema_type)
bool check_regexp(const char *str_request, const char *str_regex)
bool ows_layer_list_in_list(const ows_layer_list *ll, const list *l)
void mlist_node_free(mlist *ml, mlist_node *mln)
buffer * fe_kvp_bbox(ows *o, wfs_request *wr, buffer *layer_name, ows_bbox *bbox)
buffer * ows_layer_prefix_to_uri(ows_layer_list *ll, buffer *layer_name_prefix)
void wfs(ows *o, wfs_request *wf)
void ows_version_free(ows_version *v)
void ows_service_provider(const ows *o)
list * list_explode_str(char separator, const char *value)
buffer * ows_psql_schema_name(ows *o, buffer *layer_name)
void filter_encoding_flush(filter_encoding *fe, FILE *output)
void mlist_free(mlist *ml)
struct Ows_layer_list ows_layer_list
struct Ows_contact ows_contact
struct List_node list_node
struct Ows_version ows_version
struct Ows_layer_node ows_layer_node
struct Mlist_node mlist_node
struct Ows_layer ows_layer
struct Ows_layer_storage ows_layer_storage
struct Ows_geobbox ows_geobbox
struct Ows_request ows_request
struct Filter_encoding filter_encoding