9 #ifndef __AFW_ENVIRONMENT_H__
10 #define __AFW_ENVIRONMENT_H__
48 #define AFW_ENVIRONMENT_REGISTRY_TYPE_MAP(XX) \
54 "_AdaptiveEnvironmentRegistryType_", \
55 "The afw_environment_registry_type_t associated with this property " \
59 impl_internal_additional_register_key_only, \
62 "_AdaptiveSingleton_", \
63 "The void pointer for a singleton key.") \
66 impl_internal_additional_register_default, \
69 "_AdaptiveAdaptor_", \
70 "The afw_adaptor_id_t struct for this adaptor id.") \
73 impl_internal_additional_register_default, \
76 "_AdaptiveAdaptorType_", \
77 "The afw_adaptor_factory_t instance for an adaptor type.") \
79 XX(authorization_handler_id, \
80 impl_internal_additional_register_default, \
82 "authorizationHandlerId", \
83 "_AdaptiveAuthorizationHandler_", \
84 "The afw_authorization_handler_id_t struct for an " \
85 "authorization handler id.") \
87 XX(authorization_handler_type, \
88 impl_internal_additional_register_default, \
90 "authorizationHandlerType", \
91 "_AdaptiveAuthorizationHandlerType_", \
92 "The afw_authorization_handler_factory_t instance for an " \
93 "authorization handler type.") \
96 impl_internal_additional_register_default, \
99 "_AdaptiveConfType_", \
100 "The afw_environment_conf_type_t for a configuration type.") \
103 impl_internal_additional_register_key_only, \
106 "_AdaptiveContentType_", \
107 "The afw_content_type_t instance for a content type.") \
110 impl_internal_additional_register_object, \
113 "_AdaptiveContextType_", \
114 "The context type object. " \
115 "`/afw/_AdaptiveContextType_/<context_type_id>`" \
116 " runtime object will be set to this object as well.") \
122 "_AdaptiveDataType_", \
123 "The afw_data_type_t struct for a data type id.") \
125 XX(error_rv_decoder, \
126 impl_internal_additional_register_key_only, \
129 "_AdaptiveErrorRVDecoder_", \
130 "The afw_environment_error_rv_decoder_z_t function for a rv source id.")\
133 impl_internal_additional_register_default, \
136 "_AdaptiveExtension_", \
137 "The afw_extension_t for a loaded extension.") \
144 "The afw_flag_t for a flag_id.") \
150 "_AdaptiveFunction_", \
151 "The afw_value_function_definition_t struct for a function id.") \
154 impl_internal_additional_register_default, \
158 "The afw_lock_t instance for a log id.") \
161 impl_internal_additional_register_default, \
165 "The afw_log_t instance for a log id.") \
168 impl_internal_additional_register_log_type, \
171 "_AdaptiveLogType_", \
172 "The afw_log_factory_t instance for a log type.") \
174 XX(policy_combining_algorithm, \
175 impl_internal_additional_register_default, \
177 "policyCombiningAlgorithmId", \
178 "_AdaptivePolicyCombiningAlgorithm_", \
179 "The afw_value_function_definition_t struct for a policy combining algorithm.") \
181 XX(request_handler, \
182 impl_internal_additional_register_key_only, \
185 "_AdaptiveRequestHandler_", \
186 "The afw_request_handler_t instance for a request handler entry.") \
188 XX(request_handler_type, \
189 impl_internal_additional_register_default, \
191 "requestHandlerType", \
192 "_AdaptiveRequestHandlerType_", \
193 "The afw_request_handler_factory_t instance for a handler type.") \
195 XX(rule_combining_algorithm, \
196 impl_internal_additional_register_default, \
198 "ruleCombiningAlgorithmId", \
199 "_AdaptiveRuleCombiningAlgorithm_", \
200 "The afw_value_function_definition_t struct for a rule combining algorithm.") \
203 impl_internal_additional_register_key_only, \
206 "_AdaptiveRuntimeCustom_", \
207 "The afw_runtime_custom_t for custom afw object type handling.") \
209 XX(runtime_object_map_inf, \
212 "runtimeObjectMapInf", \
213 "_AdaptiveRuntimeObjectMapInf_", \
214 "The runtime object map interface for an object type id.") \
216 XX(runtime_value_accessor, \
217 impl_internal_additional_register_key_only, \
219 "runtimeValueAccessor", \
220 "_AdaptiveRuntimeValueAccessor_", \
221 "The afw_runtime_value_accessor_t for an accessor name.") \
227 "_AdaptiveService_", \
228 "The afw_service_t for a service_id.") \
231 impl_internal_additional_register_default, \
234 "_AdaptiveServiceType_", \
235 "The afw_service_type_t for a service_type_id.") \
238 impl_internal_additional_register_key_only, \
241 "_AdaptiveValueInf_", \
242 "The afw_value_inf_t struct for a value interface implementation.") \
247 #define XX(id, register_additional, allow_reregister, property_name, \
248 object_type_id, description) \
249 afw_environemnt_registry_type_ ## id,
252 afw_environemnt_registry_type_max_core_type
265 #define AFW_ENVIRONMENT_Q_EXTENSION_INSTANCE \
266 "afw_environment_extension_instance"
277 #define AFW_ENVIRONMENT_DEFINE_EXTENSION_IMPL() \
278 static const afw_extension_t \
281 &impl_afw_extension_inf, \
282 AFW_UTF8_LITERAL(AFW_IMPLEMENTATION_ID), \
283 AFW_UTF8_LITERAL(AFW_IMPLEMENTATION_VERSION), \
284 AFW_UTF8_LITERAL(AFW_VERSION_STRING), \
288 AFW_DEFINE_DSO(const afw_extension_t *) \
289 afw_environment_extension_instance = &impl_extension
321 typedef void * (*afw_environment_auto_register_cb_t)(
342 const void *register_additional_param,
343 const void **register_additional_use,
382 void *register_additional_param;
385 const void *register_additional_use;
503 unsigned int version,
504 int argc,
const char *
const *argv,
519 #define AFW_ENVIRONMENT_CREATE(xctx, argc, argv, environment_create_error) \
520 AFW_VERSION_ABORT_IF_NOT_COMPATIBLE("AFW_ENVIRONMENT_CREATE()"); \
521 xctx = afw_environment_create(AFW_VERSION_HEX, argc, argv, \
522 environment_create_error)
699 void * register_additional_param,
729 int registry_type_number,
811 afw_environemnt_registry_type_registry_type,
827 AFW_DEFINE_STATIC_INLINE(
void)
830 const
void *void_ptr,
834 afw_environemnt_registry_type_singleton,
847 AFW_DEFINE_STATIC_INLINE(
void *)
852 afw_environemnt_registry_type_singleton,
886 afw_environemnt_registry_type_adaptor_type,
898 AFW_DEFINE_STATIC_INLINE(
void)
905 afw_environemnt_registry_type_adaptor_id,
924 afw_environemnt_registry_type_adaptor_id,
963 afw_environemnt_registry_type_authorization_handler_type,
964 authorization_handler_type,
976 AFW_DEFINE_STATIC_INLINE(
void)
983 afw_environemnt_registry_type_authorization_handler_id,
984 authorization_handler_id,
1005 afw_environemnt_registry_type_authorization_handler_id,
1006 authorization_handler_id,
1047 const afw_utf8_t *subtype_runtime_object_type_id,
1064 afw_environemnt_registry_type_conf_type,
1134 AFW_DEFINE_STATIC_INLINE(
void)
1141 afw_environemnt_registry_type_content_type,
1161 afw_environemnt_registry_type_content_type,
1173 AFW_DEFINE_STATIC_INLINE(
void)
1180 afw_environemnt_registry_type_context_type,
1182 context_type_object,
1201 afw_environemnt_registry_type_context_type,
1202 context_type_id, xctx);
1246 afw_environemnt_registry_type_data_type,
1258 AFW_DEFINE_STATIC_INLINE(
void)
1265 afw_environemnt_registry_type_error_rv_decoder,
1285 afw_environemnt_registry_type_error_rv_decoder,
1286 rv_source_id, xctx);
1300 #define afw_environment_register_flag( \
1301 flag_id, brief, description, included_by_flag_id, xctx) \
1302 afw_flag_environment_register_flag( \
1303 flag_id, brief, description, included_by_flag_id, xctx)
1319 afw_environemnt_registry_type_flag,
1366 afw_environemnt_registry_type_function,
1406 AFW_DEFINE_STATIC_INLINE(
void)
1413 afw_environemnt_registry_type_lock,
1432 afw_environemnt_registry_type_log_type,
1444 AFW_DEFINE_STATIC_INLINE(
void)
1451 afw_environemnt_registry_type_log_type,
1471 afw_environemnt_registry_type_log_type,
1486 AFW_DEFINE_STATIC_INLINE(
void)
1493 afw_environemnt_registry_type_log,
1507 AFW_DEFINE_STATIC_INLINE(
const afw_log_t *)
1513 afw_environemnt_registry_type_log,
1526 AFW_DEFINE_STATIC_INLINE(
void)
1528 const
afw_utf8_t *policy_combining_algorithm_id,
1533 afw_environemnt_registry_type_policy_combining_algorithm,
1534 policy_combining_algorithm_id,
1550 const
afw_utf8_t *policy_combining_algorithm_id,
1554 afw_environemnt_registry_type_policy_combining_algorithm,
1555 policy_combining_algorithm_id,
1568 AFW_DEFINE_STATIC_INLINE(
void)
1575 afw_environemnt_registry_type_request_handler_type,
1577 request_handler_factory,
1598 afw_environemnt_registry_type_request_handler_type,
1610 AFW_DEFINE_STATIC_INLINE(
void)
1612 const
afw_utf8_t *rule_combining_algorithm_id,
1617 afw_environemnt_registry_type_rule_combining_algorithm,
1618 rule_combining_algorithm_id,
1634 const
afw_utf8_t *rule_combining_algorithm_id,
1638 afw_environemnt_registry_type_rule_combining_algorithm,
1639 rule_combining_algorithm_id,
1652 AFW_DEFINE_STATIC_INLINE(
void)
1659 afw_environemnt_registry_type_runtime_custom,
1680 afw_environemnt_registry_type_runtime_custom,
1692 AFW_DEFINE_STATIC_INLINE(
void)
1699 afw_environemnt_registry_type_runtime_object_map_inf,
1718 afw_environemnt_registry_type_runtime_object_map_inf,
1730 AFW_DEFINE_STATIC_INLINE(
void)
1733 afw_runtime_value_accessor_t function,
1737 afw_environemnt_registry_type_runtime_value_accessor,
1750 AFW_DEFINE_STATIC_INLINE(afw_runtime_value_accessor_t)
1756 afw_environemnt_registry_type_runtime_value_accessor,
1769 AFW_DEFINE_STATIC_INLINE(
void)
1776 afw_environemnt_registry_type_service,
1795 afw_environemnt_registry_type_service,
1808 AFW_DEFINE_STATIC_INLINE(
void)
1815 afw_environemnt_registry_type_service_type,
1836 afw_environemnt_registry_type_service_type,
1851 AFW_DEFINE_STATIC_INLINE(
void)
1858 afw_environemnt_registry_type_value_inf,
1877 afw_environemnt_registry_type_value_inf,
AFW_DEFINE(const afw_object_t *)
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
afw_utf8_octet_t afw_utf8_z_t
NFC normalized UTF-8 null terminated string.
char afw_utf8_octet_t
8 bits of utf-8 codepoint.
apr_size_t afw_size_t
size_t.
apr_int64_t afw_integer_t
typedef for big signed int.
const afw_value_function_definition_t * afw_environment_get_function(const afw_utf8_t *function_id, afw_xctx_t *xctx)
Get the function instance associated with function id.
const afw_value_function_definition_t * afw_environment_get_policy_combining_algorithm(const afw_utf8_t *policy_combining_algorithm_id, afw_xctx_t *xctx)
Get the function instance associated with a policy combining algorithm id.
void afw_environment_set_stdout_fd(FILE *fd, afw_xctx_t *xctx)
Override fd used for stdout.
void afw_environment_register_request_handler_type(const afw_utf8_t *handler_type, const afw_request_handler_factory_t *request_handler_factory, afw_xctx_t *xctx)
Register a request_handler factory.
void afw_environment_register_runtime_custom(const afw_utf8_t *object_type_id, const afw_runtime_custom_t *custom, afw_xctx_t *xctx)
Register afw_runtime_custom_t for a custom handled runtime object type.
const afw_environment_registry_type_t * afw_environment_get_registry_type_by_id(const afw_utf8_t *registry_type_id, afw_boolean_t load_extension, afw_xctx_t *xctx)
Get the registry type associated with a registry type id.
const afw_runtime_custom_t * afw_environment_get_runtime_custom(const afw_utf8_t *object_type_id, afw_xctx_t *xctx)
Get afw_runtime_custom_t for a custom handled runtime object type.
struct afw_environment_default_register_additional_s afw_environment_default_register_additional_t
Default register_additional object struct.
void afw_environment_register_authorization_handler_id(const afw_utf8_t *authorization_handler_id, const afw_authorization_handler_id_anchor_t *anchor, afw_xctx_t *xctx)
Register an authorization handler id anchor.
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.
void afw_environment_register_service_type(const afw_utf8_t *service_type_id, const afw_service_type_t *service_type, afw_xctx_t *xctx)
Register a service type.
int afw_environment_create_registry_type(const afw_utf8_t *registry_type_id, const afw_utf8_t *property_name, const afw_utf8_t *object_type_id, const afw_utf8_t *description, afw_boolean_t allow_reregister, afw_environment_auto_register_cb_t auto_register, afw_environment_register_additional_cb_t register_additional, void *register_additional_param, afw_xctx_t *xctx)
Create a new registry type.
afw_environment_registry_type_enum_t
Enum for the core registry types.
void afw_environment_register_singleton(const afw_utf8_t *singleton_key, const void *void_ptr, afw_xctx_t *xctx)
Register an singleton.
void afw_environment_register_content_type(const afw_utf8_t *type, const afw_content_type_t *content_type, afw_xctx_t *xctx)
Register an content type.
afw_boolean_t afw_environment_registry_key_exists(int type_number, const afw_utf8_t *key, afw_xctx_t *xctx)
Check to see if a key exists.
void afw_environment_register_lock(const afw_utf8_t *lock_id, const afw_lock_t *lock, afw_xctx_t *xctx)
Register an lock.
void afw_environment_register_adaptor_id(const afw_utf8_t *adaptor_id, const afw_adaptor_id_anchor_t *anchor, afw_xctx_t *xctx)
Register an adaptor id anchor.
const afw_environment_conf_type_t * afw_environment_get_conf_type(const afw_utf8_t *type, afw_xctx_t *xctx)
Get the conf_type associated with type.
const afw_value_function_definition_t * afw_environment_registry_get_data_type_method(const afw_data_type_t *data_type, afw_integer_t dataTypeMethodNumber, afw_xctx_t *xctx)
Get the function associated with a data type method.
void afw_environment_register_data_types(const afw_data_type_t *const *data_types, afw_xctx_t *xctx)
Register a NULL terminated list of data types.
const afw_environment_registry_type_t * afw_environment_get_registry_type(const afw_utf8_t *property_name, afw_xctx_t *xctx)
Get the registry type associated with property name.
const afw_environment_registry_type_t * afw_environment_get_registry_type_by_number(int registry_type_number, afw_xctx_t *xctx)
Get the registry type associated with a registry type number.
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_register_adaptor_type(const afw_utf8_t *adaptor_type, const afw_adaptor_factory_t *adaptor_factory, afw_xctx_t *xctx)
Register an adaptor factory.
void afw_environment_register_rule_combining_algorithm(const afw_utf8_t *rule_combining_algorithm_id, const afw_value_function_definition_t *function, afw_xctx_t *xctx)
Register a rule combining algorithm function.
const afw_value_function_definition_t * afw_environment_get_qualified_function(const afw_utf8_t *qualifier, const afw_utf8_t *name, afw_xctx_t *xctx)
Get the qualified function instance.
const afw_extension_t * 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_authorization_handler_id_anchor_t * afw_environment_get_authorization_handler_id(const afw_utf8_t *authorization_handler_id, afw_xctx_t *xctx)
Get the authorization handler id anchor associated with authorization handler id.
const afw_log_t * afw_environment_get_log(const afw_utf8_t *log_id, afw_xctx_t *xctx)
Get the log instance associated with log id.
afw_xctx_t * afw_environment_create(unsigned int version, int argc, const char *const *argv, const afw_error_t **environment_create_error)
Create the Adaptive Framework core environment and return base xctx.
void afw_environment_create_and_register_conf_type(const afw_utf8_t *conf_type_id, afw_environment_conf_type_create_cede_p_t create, const afw_utf8_t *title, const afw_utf8_t *description, const afw_utf8_t *id_property_name, const afw_utf8_t *id_registry_type_id, const afw_utf8_t *id_runtime_object_type_id, const afw_utf8_t *subtype_property_name, const afw_utf8_t *subtype_registry_type_id, const afw_utf8_t *subtype_runtime_object_type_id, afw_boolean_t is_unique, afw_xctx_t *xctx)
Create and register a configuration (conf) type.
const afw_data_type_t * afw_environment_get_data_type(const afw_utf8_t *type, afw_xctx_t *xctx)
Get the data_type associated with configuration entry type.
void * afw_environment_registry_get_without_xctx(const afw_environment_t *env, int type_number, const afw_utf8_t *key)
Limited get the value associated with a key for a registry type.
void afw_environment_registry_register(int type_number, const afw_utf8_t *key, const void *value, afw_xctx_t *xctx)
Register a value by key for a registry type.
#define AFW_ENVIRONMENT_REGISTRY_TYPE_MAP(XX)
Environment Core Registry Type Map.
void afw_environment_register_functions(const afw_value_function_definition_t **functions, afw_xctx_t *xctx)
Register a NULL terminated list of functions.
const afw_log_factory_t * afw_environment_get_log_type(const afw_utf8_t *log_type, afw_xctx_t *xctx)
Get the log factory instance associated with log type.
const afw_lock_t * afw_environment_get_lock(const afw_utf8_t *log_type, afw_xctx_t *xctx)
Get the lock instance associated a lock id.
const afw_flag_t * afw_environment_get_flag(const afw_utf8_t *flag_id, afw_xctx_t *xctx)
Get the flag instance associated with flag_id.
void * afw_environment_get_singleton(const afw_utf8_t *singleton_key, afw_xctx_t *xctx)
Get the singleton value.
void afw_environment_register_value_inf(const afw_utf8_t *value_inf_id, const afw_value_inf_t *value_inf, afw_xctx_t *xctx)
Register a value inf.
afw_boolean_t(* afw_environment_foreach_cb_t)(int type_number, void *data, const afw_utf8_octet_t *key_s, afw_size_t key_len, void *value, const afw_pool_t *p, afw_xctx_t *xctx)
Callback function typedef for afw_environment_foreach().
void afw_environment_register_runtime_object_map_inf(const afw_utf8_t *object_type_id, const afw_object_inf_t *inf, afw_xctx_t *xctx)
Register a runtime object map interface.
void afw_environment_register_log(const afw_utf8_t *log_id, const afw_log_t *log, afw_xctx_t *xctx)
Register a log.
const afw_utf8_z_t *(* afw_environment_error_rv_decoder_z_t)(int rv, afw_utf8_z_t *wa, afw_size_t wa_size)
Typedef for error rv decoder functions.
afw_runtime_value_accessor_t afw_environment_get_runtime_value_accessor(const afw_utf8_t *accessor_name, afw_xctx_t *xctx)
Get the interface associated with a runtime object map.
void(* afw_environment_conf_type_create_cede_p_t)(const afw_utf8_t *type, const afw_object_t *conf, const afw_utf8_t *source_location, const afw_pool_t *p, afw_xctx_t *xctx)
Typedef for afw conf type create functions.
void afw_environment_register_service(const afw_utf8_t *service_id, afw_service_t *service, afw_xctx_t *xctx)
Register a service.
const afw_adaptor_factory_t * afw_environment_get_adaptor_type(const afw_utf8_t *adaptor_type, afw_xctx_t *xctx)
Get the adaptor factory instance associated with adaptor type.
void afw_environment_configure_with_object(const afw_object_t *conf, const afw_utf8_t *source_location, afw_xctx_t *xctx)
Configure environment with a configuration entry.
void afw_environment_register_log_type(const afw_utf8_t *log_type, const afw_log_factory_t *log_factory, afw_xctx_t *xctx)
Register an log factory.
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.
afw_environment_error_rv_decoder_z_t afw_environment_get_error_rv_decoder(const afw_utf8_t *rv_source_id, afw_xctx_t *xctx)
Get the error rv decoder function associated with rv_source_id.
void(* afw_environment_register_additional_cb_t)(const afw_utf8_t *registry_type_id, int type_number, const afw_utf8_t *key, const void *value, const void *register_additional_param, const void **register_additional_use, afw_xctx_t *xctx)
Additional register callback function.
const afw_authorization_handler_factory_t * afw_environment_get_authorization_handler_type(const afw_utf8_t *authorization_handler_type, afw_xctx_t *xctx)
Get the authorization_handler factory instance associated with authorization handler type.
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.
const afw_request_handler_factory_t * afw_environment_get_request_handler_type(const afw_utf8_t *handler_type, afw_xctx_t *xctx)
Get the request_handler factory instance associated with handler type.
const afw_object_inf_t * afw_environment_get_runtime_object_map_inf(const afw_utf8_t *object_type_id, afw_xctx_t *xctx)
Get the interface associated with a runtime object map.
afw_environment_register_authorization_handler_type(const afw_utf8_t *authorization_handler_type, const afw_authorization_handler_factory_t *authorization_handler_factory, afw_xctx_t *xctx)
Register an authorization handler factory.
afw_environment_registry_object_get_current(afw_xctx_t *xctx)
Get current environment registry object.
const afw_service_type_t * afw_environment_get_service_type(const afw_utf8_t *service_type_id, afw_xctx_t *xctx)
Get the service type instance associated with service_type_id.
void afw_environment_foreach(int type_number, afw_environment_foreach_cb_t callback, void *data, const afw_pool_t *p, afw_xctx_t *xctx)
Call a callback function for each entry of a registry type.
void afw_environment_register_function(const afw_utf8_t *function_id, const afw_value_function_definition_t *function, afw_xctx_t *xctx)
Register a function.
void afw_environment_release(afw_xctx_t *xctx)
Create the Adaptive Framework core environment and return base xctx.
void * afw_environment_registry_get(int type_number, const afw_utf8_t *key, afw_xctx_t *xctx)
Get the value associated with a key for a registry type.
const afw_value_inf_t * afw_environment_get_value_inf(const afw_utf8_t *value_inf_id, afw_xctx_t *xctx)
Get the value inf associated with a value inf id.
void afw_environment_register_policy_combining_algorithm(const afw_utf8_t *policy_combining_algorithm_id, const afw_value_function_definition_t *function, afw_xctx_t *xctx)
Register a policy combining algorithm function.
const afw_value_function_definition_t * afw_environment_get_rule_combining_algorithm(const afw_utf8_t *rule_combining_algorithm_id, afw_xctx_t *xctx)
Get the function instance associated with a rule combining algorithm id.
void afw_environment_register_error_rv_decoder(const afw_utf8_t *rv_source_id, afw_environment_error_rv_decoder_z_t rv_decoder, afw_xctx_t *xctx)
Register an error rv decoder.
void *(* afw_environment_auto_register_cb_t)(const afw_utf8_t *registry_type_id, const afw_utf8_t *key, afw_xctx_t *xctx)
Auto register callback function.
void afw_environment_register_runtime_value_accessor(const afw_utf8_t *accessor_name, afw_runtime_value_accessor_t function, afw_xctx_t *xctx)
Register a runtime value accessor function.
const afw_adaptor_id_anchor_t * afw_environment_get_adaptor_id(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx)
Get the adaptor id anchor associated with adaptor id.
void afw_environment_set_stderr_fd(FILE *fd, afw_xctx_t *xctx)
Override fd used for stderr.
void afw_environment_configure_with_object_list(const afw_list_t *entry_list, const afw_utf8_t *source_location, afw_xctx_t *xctx)
Configure environment with list of configuration entries.
void afw_environment_set_debug_fd(FILE *fd, afw_xctx_t *xctx)
Override fd used for debug.
void afw_environment_register_data_type(const afw_utf8_t *data_type_id, const afw_data_type_t *data_type, afw_xctx_t *xctx)
Register a data type.
const afw_object_t * afw_environment_create_environment_variables_object(afw_boolean_t preload_variables, afw_xctx_t *xctx)
Create a readonly object for accessing environment variables.
afw_service_t * afw_environment_get_service(const afw_utf8_t *service_id, afw_xctx_t *xctx)
Get the service instance associated with service_id.
Interface afw_adaptor_factory public struct.
Interface afw_authorization_handler_factory public struct.
Interface afw_content_type public struct.
Interface afw_data_type public struct.
Struct for afw environment conf type.
const afw_utf8_t * subtype_property_name
Subtype property name for instances of this conf type.
const afw_utf8_t * subtype_runtime_object_type_id
Subtype runtime object type for instances of this conf type.
const afw_utf8_t * id_property_name
Id property name for instances of this conf type.
afw_boolean_t is_unique
This conf type can only be specified once.
afw_environment_conf_type_create_cede_p_t create
Create function for this type.
afw_utf8_t conf_type_id
Id of type.
const afw_utf8_t * description
Description of this type.
const afw_utf8_t * title
Title of this type.
const afw_utf8_t * id_runtime_object_type_id
Runtime object type for instances of this conf type.
const afw_utf8_t * subtype_registry_type_id
Subtype registry type for instances of this conf type.
const afw_utf8_t * id_registry_type_id
Registry type for instances of this conf type.
Default register_additional object struct.
Struct for typedef afw_environment_t defined in afw_common.h.
Adaptive Framework Error.
Interface afw_extension public struct.
Struct used for a registered flag.
Interface afw_list public struct.
Interface afw_log_factory public struct.
Interface afw_log public struct.
Interface afw_object_inf_s struct.
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_request_handler_factory public struct.
Interface afw_service_type public struct.
NFC normalized UTF-8 string.
Struct for function value.
Interface afw_value_inf_s struct.
Interface afw_xctx public struct.