9 #ifndef __AFW_MODEL_INTERNAL_H__
10 #define __AFW_MODEL_INTERNAL_H__
33 #define AFW_MODEL_ON_MAP(XX) \
34 XX(_AdaptiveModelCurrentOnAddObject_) \
35 XX(_AdaptiveModelCurrentOnDeleteObject_) \
36 XX(_AdaptiveModelCurrentOnGetInitialObjectId_) \
37 XX(_AdaptiveModelCurrentOnGetInitialValue_) \
38 XX(_AdaptiveModelCurrentOnGetObject_) \
39 XX(_AdaptiveModelCurrentOnGetProperty_) \
40 XX(_AdaptiveModelCurrentOnModifyObject_) \
41 XX(_AdaptiveModelCurrentOnReplaceObject_) \
42 XX(_AdaptiveModelCurrentOnRetrieveObjects_) \
43 XX(_AdaptiveModelCurrentOnSetProperty_) \
48 afw_model_on_map_ ## id,
51 afw_model_on_map_count
52 } afw_model_on_map_enum_t;
142 afw_model_associative_array,
147 struct afw_model_internal_s {
162 apr_hash_t *object_types_ht;
171 apr_hash_t *model_object_types;
377 afw_runtime_object_indirect_t instance_skeleton_ ## id;
399 void * original_context;
408 afw_model_internal_register_context_type_model(
afw_xctx_t *xctx);
421 afw_model_internal_create_skeleton_context(
432 afw_model_internal_create_to_adaptor_skeleton_context(
443 afw_model_internal_complete_ctx_default_add_object(
449 afw_model_internal_complete_ctx_default_delete_object(
461 afw_model_internal_complete_ctx_default_replace_object(
467 afw_model_internal_context_current_property_to_mapped[];
471 afw_model_internal_context_current_add_object[];
475 afw_model_internal_context_current_delete_object[];
479 afw_model_internal_context_current_get_object[];
483 afw_model_internal_context_current_modify_object[];
487 afw_model_internal_context_current_replace_object[];
491 afw_model_internal_context_current_retrieve_objects[];
495 afw_model_internal_context_current_property_from_mapped[];
499 afw_model_internal_context_current_for_initial_object_id[];
502 afw_model_internal_context_current_runtime_ctx[];
521 afw_model_internal_convert_property(
545 afw_model_internal_convert_property_name(
571 afw_model_internal_context_current_property_from_mapped[];
574 afw_model_internal_context_current_property_to_mapped[];
577 afw_model_internal_context_current_for_initial_object_id[];
580 afw_model_internal_context_current_add_object[];
583 afw_model_internal_context_current_delete_object[];
586 afw_model_internal_context_current_modify_object[];
589 afw_model_internal_context_current_replace_object[];
598 afw_model_internal_context_current_runtime_ctx[];
#define AFW_DECLARE_INTERNAL_CONST_DATA(type)
Declare an internal variable for /src/afw/ source*.h files.
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE_INTERNAL(type)
Declare an internal function for /src/afw/ source*.h files.
Interfaceafw_interface header.
afw_boolean_t(* afw_object_cb_t)(const afw_object_t *object, void *context, afw_xctx_t *xctx)
Typedef for afw_adaptor_session_object callback.
struct afw_model_internal_s afw_model_t
afw_model_internal_create_basic_to_adaptor_mapped_object(afw_model_internal_context_t *ctx, afw_xctx_t *xctx)
afw_model_internal_complete_ctx_default_modify_object(afw_model_internal_context_t *ctx, afw_xctx_t *xctx)
afw_model_internal_convert_query_criteria(const afw_model_object_type_t *model_object_type, const afw_query_criteria_t *criteria, const afw_pool_t *p, afw_xctx_t *xctx)
Convert query criteria based on model.
AFW_ASSOCIATIVE_ARRAY_TEMPLATE(afw_model_associative_array, afw_model_object_type_t) struct afw_model_internal_s
Define afw_model_internal_object_type_associative_array template.
enum afw_model_adapt_e afw_model_adapt_t
Typedef for model adapt type enum.
Internal request info used by afw_adaptor_impl*() functions.
Interface afw_adaptor_object_type_cache public struct.
Interface afw_adaptor public struct.
Interface afw_adaptor_session public struct.
Resources that can be shared by multiple compiles.
Struct passed to afw_context_type_register_cb_variables()
Interface afw_data_type public struct.
Interface afw_list public struct.
const afw_object_t * custom_variables
Custom variables.
const afw_value_t * mapped_property_name
mappedPropertyName or NULL.
Internal struct used by afw_model* functions.
const afw_list_t * mapped_entries
Mapped entries for modify.
const afw_value_t * modify_entries_value
Original entries for modify as list value.
const afw_adaptor_modify_entry_t *const * modify_entries
Original entries for modify.
Struct for afw_model_object_type_t property_type_other member.
const afw_value_t * object_id_property_name_value
objectIdPropertyName value.
const afw_value_t * onGetObject
onGetObject or NULL.
const afw_utf8_t * object_type_id
Object type id.
const afw_model_property_type_t ** property_type
NULL terminated list of property types for this object type.
const afw_model_t * model
Model containing this object type.
const afw_value_t * mapped_object_type_id_value
mappedObjectType value.
const afw_value_t * description_property_name_value
descriptionPropertyName value.
const afw_object_t * object_type_object
Property type object.
const afw_value_t * object_type_path_value
Object type path value.
const afw_utf8_t * object_id_property_name
objectIdPropertyName.
const afw_utf8_t * object_type_path
Object type path.
const afw_value_t * onReplaceObject
onReplaceObject or NULL.
const afw_value_t * onGetInitialObjectId
onGetInitialObjectId or NULL.
const afw_value_t * onDeleteObject
onDeleteObject or NULL.
const afw_model_object_type_t ** descendants
NULL terminated list of descendants.
const afw_value_t * onAddObject
onAddObject or NULL.
const afw_value_t * object_type_object_value
Property type object value.
const afw_value_t * onModifyObject
onModifyObject or NULL.
const afw_value_t * onRetrieveObjects
onRetrieveObjects or NULL.
const afw_object_t * custom_variables
Custom variables.
const afw_value_compiled_value_t * compiled_value
Compiled value for this object type.
const afw_model_property_type_t * property_type_other
Property type for other properties.
const afw_model_object_type_t ** parents
NULL terminated list of parents.
const afw_utf8_t * mapped_object_type_id
mapped object type.
const afw_utf8_t * description_property_name
descriptionPropertyName.
const afw_value_t * object_type_id_value
Object type id value.
const afw_value_t * onSetProperty
onSetProperty value or NULL if value from object used asis.
const afw_data_type_t * evaluated_data_type
Data type to use if value is evaluated or NULL.
const afw_value_t * onGetProperty
onGetProperty value or NULL if value from object used asis.
afw_boolean_t allow_query
allowQuery.
afw_boolean_t allow_write
allowRead.
const afw_value_t * onGetInitialValue
initial value or NULL if value from object used asis.
afw_boolean_t allow_read
allowRead.
const afw_value_t * default_value
defaultValue or NULL.
const afw_value_t * property_name_value
Property name as adaptive value.
const afw_value_t * property_type_path_value
Property type path value.
const afw_utf8_t * property_name
Property name or regular expression if other.
const afw_data_type_t * data_type
Data type or NULL if not restricted.
const afw_utf8_t * property_type_path
Property type path.
afw_boolean_t unique
unique.
const afw_utf8_t * mapped_property_name
Mapped property name.
const afw_object_t * custom_variables
constraint.
const afw_value_compiled_value_t * compiled_value
Compiled value for this property.
afw_boolean_t transitory
transitory.
const afw_object_t * property_type_object
Property type object.
const afw_value_t * mapped_property_name_value
Mapped property name as adaptive value.
const afw_value_t * property_type_object_value
Property type object value.
afw_boolean_t required
required.
Interface afw_object public struct.
Interface afw_pool public struct.
Struct for runtime objects.
NFC normalized UTF-8 string.
Struct for compiled value value.
Interface afw_value public struct.
Interface afw_xctx public struct.