19 #define impl_afw_object_get_meta \
20 afw_object_impl_internal_get_meta
22 #define impl_afw_object_get_property_meta \
23 afw_object_impl_internal_get_property_meta
25 #define impl_afw_object_get_next_property_meta \
26 afw_object_impl_internal_get_next_property_meta
29 #define AFW_IMPLEMENTATION_ID "afw_object_const_key_value"
48 self->pub.inf = &impl_afw_object_inf;
52 for (c = pairs; *c;
self->entry_count++, c += 2) {
59 self->entry_end = e +
self->entry_count;
62 for (c = pairs; *c; c += 2, e++) {
64 e->key.len = strlen(*c);
66 e->value.internal.s = *(c + 1);
67 e->value.internal.len = strlen(*(c + 1));
85 impl_afw_object_release(
96 impl_afw_object_add_reference(
123 impl_afw_object_get_property(
132 for (e = self->entry; e < self->entry_end; e++) {
145 impl_afw_object_get_next_property(
161 if (e < self->entry_end) {
164 *property_name = &e->key;
171 *property_name = NULL;
183 impl_afw_object_has_property(
188 return impl_afw_object_get_property(instance, property_name, xctx) != NULL;
195 impl_afw_object_get_setter(
AFW_DEFINE(const afw_object_t *)
Adaptive Framework Core Internal.
Interface afw_interface implementation declares.
afw_value_evaluated_string_inf
Unmanaged evaluated value inf for data type string.
struct afw_iterator_s afw_iterator_t
afw_utf8_octet_t afw_utf8_z_t
NFC normalized UTF-8 null terminated string.
apr_size_t afw_size_t
size_t.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
afw_size_t impl_afw_object_get_count(const afw_object_t *instance, afw_xctx_t *xctx)
afw_object_create_const_from_key_value_strings_z(const afw_utf8_t *path, const afw_utf8_z_t *const *pairs, const afw_pool_t *p, afw_xctx_t *xctx)
Create a const object from key/value utf-8 null terminated strings.
#define afw_pool_calloc(instance, size, xctx)
Call method calloc of interface afw_pool.
#define afw_pool_calloc_type(instance, type, xctx)
Macro to allocate cleared memory to hold type in pool.
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.
Interface afw_object public struct.
Interface afw_object_setter public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Interface afw_value public struct.
Interface afw_xctx public struct.