21 impl_get_model_object_types_cb(
35 model_location_adaptor = context;
36 p = model_location_adaptor->p;
63 model_location_adaptor, xctx);
67 &afw_s__AdaptiveModel_, model_id,
68 (
void *)model_location_adaptor,
69 impl_get_model_object_types_cb, NULL,
70 model_location_adaptor->p, xctx);
86 afw_model_location_create(
95 rv = apr_thread_mutex_create(&model_location->
mutex,
97 if (rv != APR_SUCCESS) {
99 "apr_thread_mutex_create() failed",
103 return model_location;
108 afw_model_location_get_model(
117 model_location = NULL;
119 if (model_location_adaptor->impl) {
124 if (model_location) {
132 model = impl_load_model(model_location_adaptor, model_id,
AFW_DEFINE(const afw_object_t *)
Adaptive Framework Core Internal.
#define afw_adaptor_create_adaptor_session(instance, xctx)
Call method create_adaptor_session of interface afw_adaptor.
#define afw_adaptor_session_destroy(instance, xctx)
Call method destroy of interface afw_adaptor_session.
#define afw_adaptor_session_get_object(instance, impl_request, object_type_id, object_id, context, callback, adaptor_type_specific, p, xctx)
Call method get_object of interface afw_adaptor_session.
struct afw_model_internal_s afw_model_t
#define AFW_FINALLY
Always executed regardless of error.
#define AFW_THROW_ERROR_RV_Z(code, rv_source_id, rv, message_z, xctx)
Macro used to set error and rv in xctx and throw it.
#define AFW_ENDTRY
Ends an AFW try block.
#define AFW_TRY
Begin an AFW TRY block.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
afw_model_t * afw_model_compile(const afw_utf8_t *adaptor_id, const afw_object_t *model_object, const afw_pool_t *p, afw_xctx_t *xctx)
Compile a model and add object types to associative array.
#define afw_pool_get_apr_pool(instance)
Call method get_apr_pool of interface afw_pool.
#define afw_pool_calloc_type(instance, type, xctx)
Macro to allocate cleared memory to hold type in pool.
#define AFW_THREAD_MUTEX_UNLOCK()
Macro to end a mutex lock.
#define AFW_THREAD_MUTEX_LOCK(mutex, xctx)
Macro to begin a mutex lock section.
afw_boolean_t afw_utf8_equal(const afw_utf8_t *s1, const afw_utf8_t *s2)
Check to see if a string equals another string.
const afw_model_location_t * model_location
Model location struct if this adaptor is a model location.
Interface afw_adaptor public struct.
Interface afw_adaptor_session public struct.
Struct used by adaptor referenced by modelLocationAdaptorId.
const afw_model_t *AFW_ATOMIC first_model
First loaded model.
afw_thread_mutex_t * mutex
Mutex for locking access to this struct.
const afw_adaptor_t * model_location_adaptor
Model location adaptor.
Interface afw_object public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Interface afw_xctx public struct.