29 for (iterator = NULL;;) {
31 &iterator, &property_name, xctx);
51 impl_retrieve_cb(
const afw_object_t *
object,
void *context,
61 p = (
object->p) ? object->p : ctx->p;
69 ctx->argv[0] = ctx->objectCallback;
71 ctx->argv[2] = ctx->userData;
74 2, &ctx->argv[0], ctx->p, xctx);
79 "objectCallback did not return boolean", xctx);
98 impl_retrieve_to_response_cb(
114 p = (
object->p) ? object->p : ctx->p;
117 &afw_s_intermediate,
true, xctx);
119 &afw_s_result,
object, xctx);
123 object_value, ctx->object_options,
124 (
void *)response_stream, response_stream->write_cb,
144 impl_retrieve_to_stream_cb(
const afw_object_t *
object,
void *context,
155 p = (
object->p) ? object->p : ctx->p;
158 object_value, ctx->object_options,
159 (
void *)ctx->stream, ctx->stream->write_cb,
248 object_id = &objectId->internal;
258 adaptorTypeSpecific = NULL;
265 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
269 &objectType->internal,
270 object_id, object->internal, journal_entry,
271 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal : NULL,
353 adaptorTypeSpecific = NULL;
364 if (!parsed_uri->path_parsed ||
365 parsed_uri->path_parsed->first_property_name)
368 "Only local entity object paths are currently supported", x->
xctx);
372 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
376 &parsed_uri->path_parsed->adaptor_id,
377 &parsed_uri->path_parsed->object_type_id,
378 &parsed_uri->path_parsed->entity_object_id,
379 object->internal, journal_entry,
380 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
465 adaptorId_value, 2,
string);
467 objectType_value, 3,
string);
470 &adaptorId_value->internal,
471 &objectType_value->internal,
472 journal_entry, x->
xctx);
477 " is not found or invalid",
484 "objectType parameter is required if adaptorId is specified",
488 style = afw_query_criteria_style_operator;
491 style_value, 4, integer);
492 if (style_value->internal < 0 ||
493 style_value->internal > afw_query_criteria_style_max)
502 queryCriteria->internal, object_type, x->
p, x->
xctx);
567 adaptorId_value, 2,
string);
569 objectType_value, 3,
string);
572 &adaptorId_value->internal,
573 &objectType_value->internal,
574 journal_entry, x->
xctx);
579 " is not found or invalid",
586 "objectType parameter is required if adaptorId is specified",
592 &queryString->internal, object_type, x->
p, x->
xctx);
594 criteria, x->
p, x->
xctx);
673 adaptorTypeSpecific = NULL;
680 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
684 &objectId->internal, journal_entry,
685 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
760 adaptorTypeSpecific = NULL;
771 if (!parsed_uri->path_parsed ||
772 parsed_uri->path_parsed->first_property_name)
775 "Only local entity object paths are currently supported", x->
xctx);
779 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
783 &parsed_uri->path_parsed->adaptor_id,
784 &parsed_uri->path_parsed->object_type_id,
785 &parsed_uri->path_parsed->entity_object_id,
787 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
875 options->internal, x->
p, x->
xctx);
880 &adaptorId->internal, &objectType->internal, &objectId->internal,
881 object_options, NULL, journal_entry,
882 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
961 options->internal, x->
p, x->
xctx);
969 if (!parsed_uri->path_parsed ||
970 parsed_uri->path_parsed->first_property_name)
973 "Only local entity object paths are currently supported", x->
xctx);
978 &parsed_uri->path_parsed->adaptor_id,
979 &parsed_uri->path_parsed->object_type_id,
980 &parsed_uri->path_parsed->entity_object_id,
981 object_options, NULL, journal_entry,
982 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1097 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
1101 &objectId->internal, entries->internal, journal_entry,
1102 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1209 if (!parsed_uri->path_parsed ||
1210 parsed_uri->path_parsed->first_property_name)
1213 "Only local entity object paths are currently supported", x->
xctx);
1217 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
1221 &parsed_uri->path_parsed->adaptor_id,
1222 &parsed_uri->path_parsed->object_type_id,
1223 &parsed_uri->path_parsed->entity_object_id,
1224 entries->internal, journal_entry,
1225 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1293 object->internal, &afw_s_reconcilable, x->
xctx);
1294 if (!reconcilable) {
1296 "object is not reconcilable",
1309 &adaptor_id, &object_type_id, &object_id, &entries,
1310 original, object->internal,
1311 journal_entry, x->
p, x->
xctx);
1314 if (checkOnly && checkOnly->internal) {
1323 adaptor_id, object_type_id, object_id, entries,
1324 journal_entry, NULL, x->
xctx);
1413 id = (objectId && objectId->internal.len > 0)
1414 ? &objectId->internal
1418 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
1422 id, object->internal, journal_entry,
1423 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1507 if (!parsed_uri->path_parsed ||
1508 parsed_uri->path_parsed->first_property_name)
1511 "Only local entity object paths are currently supported", x->
xctx);
1514 id = (parsed_uri->path_parsed->entity_object_id.len > 0)
1515 ? &parsed_uri->path_parsed->entity_object_id
1519 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
1523 &parsed_uri->path_parsed->adaptor_id,
1524 &parsed_uri->path_parsed->object_type_id,
1525 id, object->internal,
1527 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1627 if (queryCriteria) {
1629 queryCriteria->internal,
1630 &adaptorId->internal, &objectType->internal,
1631 journal_entry, x->
p, x->
xctx);
1637 options->internal, x->
p, x->
xctx);
1642 &adaptorId->internal, &objectType->internal,
1643 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
1645 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
1761 if (queryCriteria) {
1763 queryCriteria->internal,
1764 &adaptorId->internal, &objectType->internal,
1765 journal_entry, x->
p, x->
xctx);
1771 options->internal, x->
p, x->
xctx);
1776 &adaptorId->internal, &objectType->internal,
1777 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
1779 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal : NULL,
1865 if (!x->
xctx->request ||
1866 !x->
xctx->request->response_content_type ||
1868 x->
xctx->request->response_content_type))
1871 "retrieve_objects_to_response() "
1872 "is only allowed to be called "
1873 "during a request with response content type "
1874 "\"application/x-afw\".",
1880 ctx.response_content_type = x->
xctx->request->response_content_type;
1895 if (queryCriteria) {
1897 queryCriteria->internal,
1898 &adaptorId->internal, &objectType->internal,
1899 journal_entry, x->
p, x->
xctx);
1905 options->internal, x->
p, x->
xctx);
1910 &adaptorId->internal, &objectType->internal,
1911 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
1912 impl_retrieve_to_response_cb,
1913 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2023 streamNumber->internal, x->
xctx);
2024 if (!ctx.stream || !ctx.stream->write_cb) {
2027 streamNumber->internal);
2031 if (queryCriteria) {
2033 queryCriteria->internal,
2034 &adaptorId->internal, &objectType->internal,
2035 journal_entry, x->
p, x->
xctx);
2041 options->internal, x->
p, x->
xctx);
2045 adaptor_type_specific = NULL;
2046 if (adaptorTypeSpecific) {
2047 adaptor_type_specific = adaptorTypeSpecific->internal;
2053 &contextType->internal, x->
xctx);
2054 if (!ctx.response_content_type) {
2060 else if (x->
xctx->request && x->
xctx->request->response_content_type)
2062 ctx.response_content_type = x->
xctx->request->response_content_type;
2070 &adaptorId->internal, &objectType->internal,
2071 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
2072 impl_retrieve_to_stream_cb,
2073 adaptor_type_specific,
2161 options->internal, x->
p, x->
xctx);
2169 if (!parsed_uri->path_parsed ||
2170 parsed_uri->path_parsed->first_property_name)
2173 "Only local entity object paths are currently supported", x->
xctx);
2177 if (parsed_uri->original_query.len > 0) {
2179 &parsed_uri->original_query,
2180 &parsed_uri->path_parsed->adaptor_id,
2181 &parsed_uri->path_parsed->object_type_id,
2182 journal_entry, x->
p, x->
xctx);
2187 &parsed_uri->path_parsed->adaptor_id,
2188 &parsed_uri->path_parsed->object_type_id,
2189 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
2191 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2297 options->internal, x->
p, x->
xctx);
2305 if (!parsed_uri->path_parsed ||
2306 parsed_uri->path_parsed->first_property_name)
2309 "Only local entity object paths are currently supported", x->
xctx);
2313 if (parsed_uri->original_query.len > 0) {
2315 &parsed_uri->original_query,
2316 &parsed_uri->path_parsed->adaptor_id,
2317 &parsed_uri->path_parsed->object_type_id,
2318 journal_entry, x->
p, x->
xctx);
2323 &parsed_uri->path_parsed->adaptor_id,
2324 &parsed_uri->path_parsed->object_type_id,
2325 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
2327 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2406 if (!x->
xctx->request ||
2407 !x->
xctx->request->response_content_type ||
2409 x->
xctx->request->response_content_type))
2412 "retrieve_objects_with_uri_to_response() "
2413 "is only allowed to be called "
2414 "during a request with response content type "
2415 "\"application/x-afw\".",
2421 ctx.response_content_type = x->
xctx->request->response_content_type;
2435 options->internal, x->
p, x->
xctx);
2443 if (!parsed_uri->path_parsed ||
2444 parsed_uri->path_parsed->first_property_name)
2447 "Only local entity object paths are currently supported", x->
xctx);
2451 if (parsed_uri->original_query.len > 0) {
2453 &parsed_uri->original_query,
2454 &parsed_uri->path_parsed->adaptor_id,
2455 &parsed_uri->path_parsed->object_type_id,
2456 journal_entry, x->
p, x->
xctx);
2461 &parsed_uri->path_parsed->adaptor_id,
2462 &parsed_uri->path_parsed->object_type_id,
2463 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
2464 impl_retrieve_to_response_cb,
2465 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2560 streamNumber->internal, x->
xctx);
2561 if (!ctx.stream || !ctx.stream->write_cb) {
2564 streamNumber->internal);
2570 options->internal, x->
p, x->
xctx);
2578 if (!parsed_uri->path_parsed ||
2579 parsed_uri->path_parsed->first_property_name)
2582 "Only local entity object paths are currently supported", x->
xctx);
2586 if (parsed_uri->original_query.len > 0) {
2588 &parsed_uri->original_query,
2589 &parsed_uri->path_parsed->adaptor_id,
2590 &parsed_uri->path_parsed->object_type_id,
2591 journal_entry, x->
p, x->
xctx);
2596 &parsed_uri->path_parsed->adaptor_id,
2597 &parsed_uri->path_parsed->object_type_id,
2598 ctx.object_options, criteria, journal_entry, (
void *)&ctx,
2599 impl_retrieve_to_stream_cb,
2600 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2692 id = (objectId && objectId->internal.len > 0)
2693 ? &objectId->internal
2697 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
2701 &adaptorId->internal, &objectType->internal,
2702 id, object->internal, journal_entry,
2703 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
2790 if (!parsed_uri->path_parsed ||
2791 parsed_uri->path_parsed->first_property_name)
2794 "Only local entity object paths are currently supported", x->
xctx);
2797 id = (parsed_uri->path_parsed->entity_object_id.len > 0)
2798 ? &parsed_uri->path_parsed->entity_object_id
2802 journal_entry = impl_create_journal_entry(journal, x->
p, x->
xctx);
2806 &parsed_uri->path_parsed->adaptor_id,
2807 &parsed_uri->path_parsed->object_type_id,
2808 id, object->internal, journal_entry,
2809 (adaptorTypeSpecific) ? adaptorTypeSpecific->internal: NULL,
Adaptive Framework Core Internal.
afw_adaptor_modify_using_update_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *update_object, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
Modify using update object and remove from cache.
afw_adaptor_retrieve_objects(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_options_t *options, const afw_query_criteria_t *criteria, const afw_object_t *journal_entry, void *context, afw_object_cb_t callback, const afw_object_t *adaptor_type_specific, const afw_pool_t *p, afw_xctx_t *xctx)
Retrieve objects.
afw_adaptor_replace_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *replacement_object, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
Replace object and remove from cache.
afw_adaptor_modify_needed_to_reconcile(const afw_utf8_t **adaptor_id, const afw_utf8_t **object_type_id, const afw_utf8_t **object_id, const afw_list_t **entries, const afw_object_t *original, const afw_object_t *modified, const afw_object_t *journal_entry, const afw_pool_t *p, afw_xctx_t *xctx)
Produce modify needed to reconcile two objects.
afw_adaptor_add_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *suggested_object_id, const afw_object_t *object, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
Call adaptor to add object and remove from cache.
afw_adaptor_get_object_type(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_t *journal_entry, afw_xctx_t *xctx)
Get and cache AdaptiveObjectType object.
afw_adaptor_modify_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_list_t *entries, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
Modify object and remove from cache.
afw_adaptor_query_criteria_parse_object(const afw_object_t *query_criteria, const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_t *journal_entry, const afw_pool_t *p, afw_xctx_t *xctx)
Parse query criteria object appropriate for an adaptor.
afw_adaptor_get_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_options_t *options, const afw_query_criteria_t *criteria, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, const afw_pool_t *p, afw_xctx_t *xctx)
Get and cache object.
afw_adaptor_delete_object(const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *journal_entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
Delete object from cache and via adaptor.
afw_adaptor_query_criteria_parse_url_encoded_rql_string(const afw_utf8_t *url_encoded_rql_string, const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_t *journal_entry, const afw_pool_t *p, afw_xctx_t *xctx)
Parse URL encoded RQL query string appropriate for an adaptor.
#define afw_value_is_boolean(A_VALUE)
Macro to determine if value is evaluated boolean.
afw_object_set_property_as_boolean(const afw_object_t *object, const afw_utf8_t *property_name, afw_boolean_t internal, afw_xctx_t *xctx)
Set property function for data type boolean values.
afw_value_create_list(const afw_list_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type list value.
afw_object_set_property_as_object(const afw_object_t *object, const afw_utf8_t *property_name, const afw_object_t *internal, afw_xctx_t *xctx)
Set property function for data type object values.
afw_data_type_object
Data type struct for object.
afw_value_create_object(const afw_object_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type object value.
afw_value_create_string(const afw_utf8_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type string value.
#define AFW_UTF8_FMT_ARG(A_STRING)
Convenience Macro for use with AFW_UTF8_FMT to specify arg.
struct afw_iterator_s afw_iterator_t
#define AFW_INTEGER_FMT
Format string specifier used for afw_integer_t.
#define AFW_UTF8_FMT
Format string specifier used for afw_utf8_t.
#define afw_content_type_write_value(instance, value, options, context, callback, p, xctx)
Call method write_value of interface afw_content_type.
#define afw_content_type_is_application_afw(instance)
Determine if content type it application/x-afw.
const afw_content_type_t * afw_environment_get_content_type(const afw_utf8_t *type, afw_xctx_t *xctx)
Get the afw_content_type struct associated with a content type.
#define AFW_THROW_ERROR_FZ(code, xctx, format_z,...)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_FUNCTION_EVALUATE_DATA_TYPE_PARAMETER(A_RESULT, A_N, A_TYPE)
Evaluate an arg for a particular data type.
#define AFW_FUNCTION_EVALUATE_REQUIRED_DATA_TYPE_PARAMETER(A_RESULT, A_N, A_TYPE)
Evaluate an arg for a particular data type.
#define AFW_FUNCTION_PARAMETER_IS_PRESENT(A_N)
Determine if a specific parameter value is present.
#define AFW_FUNCTION_EVALUATE_PARAMETER(A_RESULT, A_N)
Evaluate a parameter.
const afw_value_t * afw_function_execute_add_object(afw_function_execute_t *x)
Adaptive Function add_object
const afw_value_t * afw_function_execute_retrieve_objects_to_stream(afw_function_execute_t *x)
Adaptive Function retrieve_objects_to_stream
const afw_value_t * afw_function_execute_adaptor_objectCallback_signature(afw_function_execute_t *x)
Adaptive Function adaptor_objectCallback_signature
const afw_value_t * afw_function_execute_update_object_with_uri(afw_function_execute_t *x)
Adaptive Function update_object_with_uri
const afw_value_t * afw_function_execute_replace_object_with_uri(afw_function_execute_t *x)
Adaptive Function replace_object_with_uri
const afw_value_t * afw_function_execute_retrieve_objects_with_uri(afw_function_execute_t *x)
Adaptive Function retrieve_objects_with_uri
const afw_value_t * afw_function_execute_delete_object(afw_function_execute_t *x)
Adaptive Function delete_object
const afw_value_t * afw_function_execute_retrieve_objects_to_response(afw_function_execute_t *x)
Adaptive Function retrieve_objects_to_response
const afw_value_t * afw_function_execute_convert_AdaptiveQueryCriteria_to_query_string(afw_function_execute_t *x)
Adaptive Function convert_AdaptiveQueryCriteria_to_query_string
const afw_value_t * afw_function_execute_convert_query_string_to_AdaptiveQueryCriteria(afw_function_execute_t *x)
Adaptive Function convert_query_string_to_AdaptiveQueryCriteria
const afw_value_t * afw_function_execute_replace_object(afw_function_execute_t *x)
Adaptive Function replace_object
const afw_value_t * afw_function_execute_reconcile_object(afw_function_execute_t *x)
Adaptive Function reconcile_object
const afw_value_t * afw_function_execute_modify_object(afw_function_execute_t *x)
Adaptive Function modify_object
const afw_value_t * afw_function_execute_retrieve_objects(afw_function_execute_t *x)
Adaptive Function retrieve_objects
const afw_value_t * afw_function_execute_get_object_with_uri(afw_function_execute_t *x)
Adaptive Function get_object_with_uri
const afw_value_t * afw_function_execute_modify_object_with_uri(afw_function_execute_t *x)
Adaptive Function modify_object_with_uri
const afw_value_t * afw_function_execute_update_object(afw_function_execute_t *x)
Adaptive Function update_object
const afw_value_t * afw_function_execute_retrieve_objects_with_uri_to_stream(afw_function_execute_t *x)
Adaptive Function retrieve_objects_with_uri_to_stream
const afw_value_t * afw_function_execute_add_object_with_uri(afw_function_execute_t *x)
Adaptive Function add_object_with_uri
const afw_value_t * afw_function_execute_get_object(afw_function_execute_t *x)
Adaptive Function get_object
const afw_value_t * afw_function_execute_retrieve_objects_with_uri_to_callback(afw_function_execute_t *x)
Adaptive Function retrieve_objects_with_uri_to_callback
const afw_value_t * afw_function_execute_retrieve_objects_to_callback(afw_function_execute_t *x)
Adaptive Function retrieve_objects_to_callback
const afw_value_t * afw_function_execute_delete_object_with_uri(afw_function_execute_t *x)
Adaptive Function delete_object_with_uri
const afw_value_t * afw_function_execute_retrieve_objects_with_uri_to_response(afw_function_execute_t *x)
Adaptive Function retrieve_objects_with_uri_to_response
#define afw_json_to_value(json, source_location, p, xctx)
Convert JSON to an adaptive value.
afw_json_content_type_get()
Get the content type instance for json.
afw_list_add_value(const afw_list_t *instance, const afw_value_t *value, afw_xctx_t *xctx)
Call method add_value of interface afw_list_setter.
#define afw_list_of_create(data_type, p, xctx)
Create an list of a specific data type in memory.
#define afw_memory_clear(to)
Clear preallocated memory for sizeof(*(to)).
#define afw_object_add_reference(instance, xctx)
Call method add_reference of interface afw_object.
#define afw_object_get_next_property(instance, iterator, property_name, xctx)
Call method get_next_property of interface afw_object.
#define afw_object_release(instance, xctx)
Call method release of interface afw_object.
afw_object_options_none
Object processing options - no options set.
afw_object_options_set_from_object(const afw_object_options_t *initial_options, const afw_object_t *options_object, const afw_pool_t *p, afw_xctx_t *xctx)
Set object processing options from options object.
#define afw_object_create_managed(p, xctx)
Create an empty entity object in its own pool.
#define afw_object_create(p, xctx)
Create an empty unmanaged object in memory.
afw_object_set_property(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_value_t *value, afw_xctx_t *xctx)
Set the value of an object's property.
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.
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.
afw_query_criteria_style_t
Query string style.
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.
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.
#define afw_stream_flush(instance, xctx)
Call method flush of interface afw_stream.
afw_stream_get_by_streamNumber(const afw_integer_t streamNumber, afw_xctx_t *xctx)
Get stream by streamNumber.
#define afw_stream_standard(enum_suffix, xctx)
Get xctx stream instance.
afw_uri_parse(const afw_utf8_t *uri, afw_boolean_t is_value_path, const afw_utf8_t *current_path, const afw_pool_t *p, afw_xctx_t *xctx)
Parse a URI in specific pool.
#define afw_value_evaluate(value, p, xctx)
Evaluate value if needed using specific pool.
const afw_value_t * afw_value_call_create(const afw_compile_value_contextual_t *contextual, afw_size_t argc, const afw_value_t *const *argv, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for call value.
#define AFW_VALUE_ASSERT_IS_DATA_TYPE(A_VALUE, A_DATA_TYPE, A_SCOPE)
Throw and error if A_VALUE is not evaluated data type A_DATA_TYPE.
Interface afw_content_type public struct.
Function execute parameter.
afw_xctx_t * xctx
The execution context (xctx) of caller.
const afw_pool_t * p
Pool for result.
Interface afw_list public struct.
Struct for object processing options.
Interface afw_object public struct.
Struct for afw_object_type_t.
Interface afw_pool public struct.
Interface afw_stream public struct.
Typedef for parsed URI returned from afw_uri_parse().
NFC normalized UTF-8 string.
struct for data type anyURI values.
struct for data type boolean values.
struct for data type integer values.
struct for data type list values.
struct for data type object values.
Interface afw_value public struct.
struct for data type string values.
Interface afw_xctx public struct.