18 impl_s_a_onApplicationStartupComplete_source_location =
31 &afw_object_options_composite_normalize_defaults_required,
49 impl_current_get_variable_cb(
70 &xctx->env->program_name, xctx->p, xctx);
85 impl_current_get_variable_cb, NULL, xctx->p, xctx);
116 &afw_s_application, xctx->env->
p, xctx);
118 variable_definitions =
120 context_type_object, &afw_s_current, xctx);
123 &afw_s_mode, &afw_s_runtime,
125 "Authorization Mode",
126 "The current authorization mode.",
131 &afw_s_pid, &afw_s_runtime,
134 "The current processor id.",
139 &afw_s_programName, &afw_s_runtime,
142 "The current program name.",
147 &afw_s_xctxUUID, &afw_s_runtime,
150 "The execution context (xctx) UUID which can normally be considered the UUID of the current request.",
155 context_type_object, xctx);
191 "type=application conf entry already specified.",
196 AFW_LOG_Z(info,
"Application starting.", xctx);
200 entry, &afw_s_confAdaptorId, p, xctx);
203 if (conf_adaptor_id) {
210 &afw_s__AdaptiveServiceConf_,
true,
true, xctx);
212 &afw_s__AdaptiveConf_application,
true,
true, xctx);
214 &afw_s__AdaptiveHybridProperties_,
false,
true, xctx);
219 &afw_s_applicationId, p, xctx);
220 if (!application_id) {
221 application_id = &afw_s_Adaptive;
223 &afw_s_applicationId, application_id, xctx);
232 if (conf_adaptor_id) {
239 &afw_s__AdaptiveConf_application, application_id,
240 (
void *)&
object, impl_conf_object_cb, NULL, p, xctx);
266 "error logged _AdaptiveService_",
271 for (iterator = NULL;;) {
273 &property_name, xctx);
276 property_name, xctx);
284 "configuration type \"application\" ignored "
288 " because it is allowWrite=false or specified "
289 " in the conf file.",
307 &afw_s__AdaptiveApplication_, &afw_s_current, xctx);
312 &afw_s_extensions, xctx);
324 &afw_s_extensionModulePaths, xctx);
339 variable_definitions_object =
341 context_type_object, &afw_s_application, xctx);
358 detail_source_location, xctx);
367 &afw_s_defaultFlags, xctx);
374 properties, &afw_s_layoutsAdaptorId, p, xctx);
384 &afw_s__AdaptiveLayoutComponentType_,
true,
true, xctx);
386 &afw_s__AdaptiveLayoutComponent_,
false,
true, xctx);
392 &afw_s_authorizationControl, xctx);
393 afw_authorization_internal_set_control(
object, xctx);
396 if (conf_adaptor_id) {
397 afw_service_internal_start_initial_services(p, xctx);
408 &afw_s_onApplicationStartupComplete, xctx);
411 "Application onApplicationStartupComplete script being called.",
414 &impl_s_a_onApplicationStartupComplete_source_location,
422 "Application onApplicationStartupComplete script returned value "
428 "Application onApplicationStartupComplete script successfully completed.",
Adaptive Framework Core Internal.
afw_adaptor_impl_set_supported_core_object_type(const afw_adaptor_t *adaptor, const afw_utf8_t *object_type_id, afw_boolean_t allow_entity, afw_boolean_t allow_write, afw_xctx_t *xctx)
Indicates support of a core object type.
#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.
afw_adaptor_session_release(const afw_adaptor_session_t *session, afw_xctx_t *xctx)
Release an adaptor session created by afw_adaptor_session_create().
afw_adaptor_session_create(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx)
Create an adaptor session.
afw_adaptor_release(const afw_adaptor_t *instance, afw_xctx_t *xctx)
Release an adaptor accessed by afw_adaptor_get_reference().
afw_adaptor_get_reference(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx)
Get an adaptor and make sure it is started.
void afw_application_internal_register_basic_application_context_type(afw_xctx_t *xctx)
Set basic application context type.
void afw_application_internal_push_qualifiers(afw_xctx_t *xctx)
Push application qualifiers on xctx's qualifier stack.
void afw_application_internal_application_conf_type_create_cede_p(const afw_utf8_t *type, const afw_object_t *entry, const afw_utf8_t *source_location, const afw_pool_t *p, afw_xctx_t *xctx)
type=application conf handler.
afw_value_evaluated_integer_inf
Unmanaged evaluated value inf for data type integer.
afw_value_create_integer(afw_integer_t internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type integer value.
#define afw_value_is_integer(A_VALUE)
Macro to determine if value is evaluated integer.
#define afw_object_old_get_property_as_list(object, property_name, xctx)
Get property function for data type list value.
#define afw_object_old_get_property_as_object(object, property_name, xctx)
Get property function for 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.
afw_value_evaluated_string_inf
Unmanaged evaluated value inf for data type string.
afw_object_set_property_as_string(const afw_object_t *object, const afw_utf8_t *property_name, const afw_utf8_t *internal, afw_xctx_t *xctx)
Set property function for data type string values.
#define AFW_UTF8_FMT_ARG(A_STRING)
Convenience Macro for use with AFW_UTF8_FMT to specify arg.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
#define AFW_UTF8_CONTEXTUAL_LABEL_FMT
Format string used for source location.
struct afw_iterator_s afw_iterator_t
#define AFW_UTF8_FMT
Format string specifier used for afw_utf8_t.
apr_int64_t afw_integer_t
typedef for big signed int.
afw_context_variable_definitions_add_based_on_object(const afw_object_t *variable_definitions, const afw_object_t *object, afw_xctx_t *xctx)
Add variable definitions based on object.
afw_context_variable_definition_add_z(const afw_object_t *variable_definitions, const afw_utf8_t *variable_name, const afw_utf8_t *source, const afw_value_inf_t *value_inf, const afw_utf8_z_t *label_z, const afw_utf8_z_t *description_z, const afw_utf8_z_t *data_type_parameter_z, const afw_utf8_z_t *data_type_parameter_formatted_z, afw_xctx_t *xctx)
Add variable definition using 0 terminated label and description.
afw_context_variable_definitions_compile_and_add_based_on_qualifiers_object(const afw_object_t *context_type_object, const afw_object_t *objects, const afw_utf8_t *source_location, afw_xctx_t *xctx)
Compile and add variable definitions based on AdaptiveHybridProperties object.
afw_context_type_insure_variable_definitions_object_exists(const afw_object_t *context_type_object, const afw_utf8_t *qualifier_id, afw_xctx_t *xctx)
Insure variable definitions object exists for qualifier id.
afw_context_type_create(const afw_utf8_t *context_type_id, const afw_pool_t *p, afw_xctx_t *xctx)
Create a context type object.
void afw_environment_register_context_type(const afw_utf8_t *context_type_id, const afw_object_t *context_type_object, afw_xctx_t *xctx)
Register an context type.
const afw_object_t * afw_environment_prepare_conf_type_properties(const afw_object_t *properties, afw_xctx_t *xctx)
Prepare properties for a conf type.
afw_environment_load_extension(const afw_utf8_t *extension_id, const afw_utf8_t *module_path, const afw_object_t *properties, afw_xctx_t *xctx)
Load and initialize environment extension.
const afw_object_t * afw_environment_get_context_type(const afw_utf8_t *context_type_id, afw_xctx_t *xctx)
Get the afw_environment_context_type struct associated with a context type.
#define AFW_FINALLY
Always executed regardless of error.
#define AFW_CATCH_UNHANDLED
Catch an unhandled error that occurs in a AFW_TRY block.
#define AFW_ENDTRY
Ends an AFW try block.
#define AFW_TRY
Begin an AFW TRY block.
#define AFW_THROW_ERROR_FZ(code, xctx, format_z,...)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_ERROR_THROWN
Access the thrown error. See AFW_TRY.
#define AFW_CATCH(__CODE_)
Catch a particular error that occurs in a AFW_TRY block.
afw_flag_set_default_flag_ids(const afw_list_t *default_flag_ids, afw_xctx_t *xctx)
Set a new default flags list.
#define AFW_LOG_FZ(priority, xctx, format_z,...)
Log an message to environment's log using a printf style format and parameters.
#define AFW_LOG_Z(priority, message_z, xctx)
Log an afw_utf8_z_t message to environment's log.
#define afw_object_get_property(instance, property_name, xctx)
Call method get_property of interface afw_object.
#define afw_object_get_next_property(instance, iterator, property_name, xctx)
Call method get_next_property of interface afw_object.
afw_object_view_create(const afw_object_t *instance, const afw_utf8_t *entity_path, const afw_object_options_t *options, const afw_pool_t *p, afw_xctx_t *xctx)
Create an object view of an object in specified pool.
afw_object_create_clone(const afw_object_t *object, const afw_pool_t *p, afw_xctx_t *xctx)
Clone an object to a specified pool.
afw_object_old_get_property_as_utf8(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_pool_t *p, afw_xctx_t *xctx)
Get an object's property value as a string in specified pool.
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_uint32_t afw_os_get_pid()
Return a process id or similar number.
afw_runtime_env_set_object(const afw_object_t *object, afw_boolean_t overwrite, afw_xctx_t *xctx)
Set an object pointer in the environment's runtime objects.
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.
afw_utf8_printf(const afw_pool_t *p, afw_xctx_t *xctx, const afw_utf8_z_t *format,...)
Create a utf-8 string using a c format string in specified pool.
afw_value_as_array_of_utf8(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
Return a NULL terminated list of utf8 in a specified pool.
afw_value_equal(const afw_value_t *value1, const afw_value_t *value2, afw_xctx_t *xctx)
Test whether two values are equal.
afw_value_compile_and_evaluate(const afw_value_t *value, const afw_utf8_t *source_location, const afw_pool_t *p, afw_xctx_t *xctx)
Compile and evaluate a value.
#define afw_value_is_nullish(A_VALUE)
Determine if value is undefined or null.
afw_value_as_casted_utf8(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
Convert value to casted utf8 in specified pool.
afw_xctx_push_qualifier_object(const afw_utf8_t *qualifier_name, const afw_object_t *qualifier_object, afw_boolean_t secure, const afw_pool_t *p, afw_xctx_t *xctx)
Push qualifier object on to stack.
afw_xctx_push_qualifiers_object(const afw_object_t *context_object, afw_boolean_t secure, const afw_pool_t *p, afw_xctx_t *xctx)
Push qualifiers object on to stack.
afw_xctx_push_qualifier(const afw_utf8_t *qualifier, const afw_object_t *qualifier_object, afw_boolean_t secure, afw_xctx_get_variable_t get, void *data, const afw_pool_t *p, afw_xctx_t *xctx)
Push qualifier on to stack.
Interface afw_adaptor public struct.
Interface afw_adaptor_session public struct.
Struct for typedef afw_environment_t defined in afw_common.h.
const afw_object_t * application_qualified_variables
const afw_pool_t * p
Pool used to hold environment.
const afw_object_t * application_object
Application object - /afw/_AdaptiveApplication_/current.
const afw_object_t * root_file_paths
rootFilePaths - /afw/_AdaptiveApplication_/current/rootFilePaths.
const afw_utf8_t * layout_adaptor_id
Custom layout adaptor or NULL.
const afw_adaptor_t * conf_adaptor
Adaptor for application.confAdaptorId or NULL.
Interface afw_list public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
struct for data type integer values.
Interface afw_value public struct.
Interface afw_xctx public struct.