Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_environment_internal.h
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Adaptive Framework Environment Internal Header
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
9 #ifndef __AFW_ENVIRONMENT_INTERNAL_H__
10 #define __AFW_ENVIRONMENT_INTERNAL_H__
11 
12 #include "afw_interface.h"
13 #include "afw_environment.h"
14 #include <apr_dso.h>
15 
30 
31 /*
32  * Environment structure.
33  */
35 
37 
38  /* Base execution context. */
39  afw_xctx_t *base_xctx;
40 
41  /* Configuration object. */
42  const afw_list_t *configuration;
43 
44  /* Hash table of registry type name to registry type number. */
45  apr_hash_t *registry_names_ht;
46 
47  /*
48  * Array indexed by afw_environment_registry_type_enum_t used to hold
49  * afw_environment_registry_entry_t * for each type.
50  */
51  apr_array_header_t *registry_types;
52 
53  /* Hash table of data type method numbers. */
54  apr_hash_t * data_type_method_number_ht;
55 
56  /* Array indexed by data_type_number of pointers to array of methods. */
57  apr_array_header_t * data_type_methods;
58 
59  /* Core data types have been registered. */
60  afw_boolean_t core_data_types_registered;
61 
62  /* Core functions have been registered. */
63  afw_boolean_t core_functions_registered;
64 
65  /* Core object type maps have been registered. */
66  afw_boolean_t core_object_type_maps_registered;
67 
68  /*
69  * NULL terminated list of default flagIds. Use
70  * afw_flag_set_default_flag_ids() to set.
71  */
72  const afw_utf8_t * const *default_flag_ids;
73 
74  /*
75  * Pool used to hold everything in default_flags_list. This pool will be
76  * destroyed when a new default_flags_list is set by a call to
77  * afw_flag_set_default_flag_ids()
78  */
79  const afw_pool_t *default_flags_ids_p;
80 
82 
83 
84 /* Register anything that is part of libafw. */
86 
87 
90  const afw_utf8_t *type,
91  const afw_object_t *entry,
92  const afw_utf8_t *source_location,
93  const afw_pool_t *p, afw_xctx_t *xctx);
94 
95 
96 AFW_END_DECLARES
97 
100 #endif /* __AFW_ENVIRONMENT_INTERNAL_H__ */
#define AFW_BEGIN_DECLARES
Header for adaptive framework environment.
Interfaceafw_interface header.
_Bool afw_boolean_t
Definition: afw_common.h:373
void afw_environment_internal_register_core(afw_xctx_t *xctx)
void afw_environment_internal_extension_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=extension conf handler.
Struct for typedef afw_environment_t defined in afw_common.h.
Definition: afw_common.h:1383
Interface afw_list public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_xctx public struct.