Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Files | Data Structures | Macros | Typedefs | Enumerations | Functions

Files

file  afw_query_criteria.h
 AFW query criteria header.
 

Data Structures

struct  afw_query_criteria_sort_entry_s
 
struct  afw_query_criteria_filter_entry_s
 Parsed filter entry from query string. More...
 
struct  afw_query_criteria_s
 Parsed query criteria. More...
 

Macros

#define AFW_QUERY_CRITERIA_TRUE   ((void *) 1)
 
#define AFW_QUERY_CRITERIA_FALSE   ((void *) 0)
 

Typedefs

typedef struct afw_query_criteria_sort_entry_s afw_query_criteria_sort_entry_t
 

Enumerations

enum  afw_query_criteria_style_t {
  afw_query_criteria_style_operator = 0 , afw_query_criteria_style_operator_long = 1 , afw_query_criteria_style_semicolon_comma = 2 , afw_query_criteria_style_function = 3 ,
  afw_query_criteria_style_max = 3
}
 Query string style. More...
 
enum  afw_query_criteria_filter_op_id_t {
  afw_query_criteria_filter_op_id_na , afw_query_criteria_filter_op_id_eq , afw_query_criteria_filter_op_id_lt , afw_query_criteria_filter_op_id_le ,
  afw_query_criteria_filter_op_id_match , afw_query_criteria_filter_op_id_contains , afw_query_criteria_filter_op_id_in , afw_query_criteria_filter_op_id_ne ,
  afw_query_criteria_filter_op_id_ge , afw_query_criteria_filter_op_id_gt , afw_query_criteria_filter_op_id_differ , afw_query_criteria_filter_op_id_excludes ,
  afw_query_criteria_filter_op_id_out , afw_query_criteria_filter_op_id_and , afw_query_criteria_filter_op_id_or
}
 

Functions

const afw_query_criteria_tafw_query_criteria_parse_AdaptiveQueryCriteria_object (const afw_object_t *query_object, const afw_object_type_t *object_type, const afw_pool_t *p, afw_xctx_t *xctx)
 Parse URI encoded query string. More...
 
const afw_query_criteria_tafw_query_criteria_parse_url_encoded_rql_string (const afw_utf8_t *url_encoded_rql_string, const afw_object_type_t *object_type, const afw_pool_t *p, afw_xctx_t *xctx)
 Parse URI encoded RQL query string. More...
 
afw_boolean_t afw_query_criteria_test_object (const afw_object_t *obj, const afw_query_criteria_t *criteria, const afw_pool_t *p, afw_xctx_t *xctx)
 Test object against query criteria. More...
 
const afw_object_tafw_query_criteria_to_AdaptiveQueryCriteria_object (const afw_query_criteria_t *criteria, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert query criteria to a AdaptiveQueryCriteria object. More...
 
const afw_utf8_tafw_query_criteria_to_query_string (const afw_query_criteria_t *criteria, afw_query_criteria_style_t style, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert query criteria to query string. More...
 

Detailed Description

All property_name parameters can use dotted notation to refer to properties of embedded objects.

Macro Definition Documentation

◆ AFW_QUERY_CRITERIA_FALSE

#define AFW_QUERY_CRITERIA_FALSE   ((void *) 0)

afw_query_criteria_filter_entry_t * of 1 indicates fail.

Definition at line 130 of file afw_query_criteria.h.

◆ AFW_QUERY_CRITERIA_TRUE

#define AFW_QUERY_CRITERIA_TRUE   ((void *) 1)

afw_query_criteria_filter_entry_t * of 1 indicates success.

Definition at line 127 of file afw_query_criteria.h.

Typedef Documentation

◆ afw_query_criteria_sort_entry_t

Typedef for a query criteria sort entry.

Definition at line 1 of file afw_query_criteria.h.

Enumeration Type Documentation

◆ afw_query_criteria_filter_op_id_t

Enum for query criteria operators.

Definition at line 70 of file afw_query_criteria.h.

◆ afw_query_criteria_style_t

Query string style.

The style of the query string produced. All of the styles are appropriately url encoded.

0 - "name=op=value" where "=op=" will be "==", "!=", "=ge=", etc. with conjunctions "&" (and) and "|" (or). Parentheses are placed around each group of like conjunctions except for outer "&". (default)

1 - the same as 1 with "=gte=" instead of "=ge=", "=lte=" instead of "=le=", "=eq=" instead of "=", and "=ne=" instead of '!='.

2 - similar to 1 with ';' for '&' and ',' for '|'.

3 - comparisons "op(name,value)" where "op" will be "eq", "ne", "ge", ..., plus conjunctions "and(list)" and "or(list)" where "list" is a comma separated list of any comparison or conjunction.

Definition at line 52 of file afw_query_criteria.h.

Function Documentation

◆ afw_query_criteria_parse_AdaptiveQueryCriteria_object()

const afw_query_criteria_t* afw_query_criteria_parse_AdaptiveQueryCriteria_object ( const afw_object_t query_object,
const afw_object_type_t object_type,
const afw_pool_t p,
afw_xctx_t xctx 
)

Parse URI encoded query string.

Parameters
query_objectis an AdaptiveQueryCriteria object.
object_typeto use for adapting values or NULL.
pto use for result.
xctxof caller.
Returns
parsed query criteria structure.

FIXME these comments are incorrect. Inspiration came from here.

Query string is parsed based on: Resource Query Language (RQL)

which is a superset of: FIQL: The Feed Item Query Language draft-nottingham-atompub-fiql-00

to produce a afw_query_criteria_filter_entry_t.

Definition at line 1975 of file afw_query_criteria.c.

◆ afw_query_criteria_parse_url_encoded_rql_string()

const afw_query_criteria_t* afw_query_criteria_parse_url_encoded_rql_string ( const afw_utf8_t url_encoded_rql_string,
const afw_object_type_t object_type,
const afw_pool_t p,
afw_xctx_t xctx 
)

Parse URI encoded RQL query string.

Parameters
url_encoded_rql_stringURL encoded RQL string.
object_typeto use for adapting values or NULL.
pto use for result.
xctxof caller.
Returns
parsed query criteria structure.

FIXME these comments are incorrect. Inspiration came from here.

Query string is parsed based on: Resource Query Language (RQL)

which is a superset of: FIQL: The Feed Item Query Language draft-nottingham-atompub-fiql-00

to produce a afw_query_criteria_filter_entry_t.

Definition at line 1863 of file afw_query_criteria.c.

◆ afw_query_criteria_test_object()

afw_boolean_t afw_query_criteria_test_object ( const afw_object_t obj,
const afw_query_criteria_t criteria,
const afw_pool_t p,
afw_xctx_t xctx 
)

Test object against query criteria.

Parameters
objObject to be tested.
criteriaParsed query criteria.
pto use.
xctxof caller.
Returns
True if object passes test.

Definition at line 2072 of file afw_query_criteria.c.

◆ afw_query_criteria_to_AdaptiveQueryCriteria_object()

const afw_object_t* afw_query_criteria_to_AdaptiveQueryCriteria_object ( const afw_query_criteria_t criteria,
const afw_pool_t p,
afw_xctx_t xctx 
)

Convert query criteria to a AdaptiveQueryCriteria object.

Parameters
criteriaproduced by a afw_query_criteria_parse_*() functions.
pto use for result.
xctxof caller.
Returns
AdaptiveQueryCriteria object.

Definition at line 2244 of file afw_query_criteria.c.

◆ afw_query_criteria_to_query_string()

const afw_utf8_t* afw_query_criteria_to_query_string ( const afw_query_criteria_t criteria,
afw_query_criteria_style_t  style,
const afw_pool_t p,
afw_xctx_t xctx 
)

Convert query criteria to query string.

Parameters
criteriaproduced by a afw_query_criteria_parse_*() functions.
styleof query string to produce.
pto use for result.
xctxof caller.
Returns
url encoded query string.

Definition at line 2492 of file afw_query_criteria.c.