57 AFW_OBJECT_ERROR_OBJECT_IMMUTABLE;
73 int tz_minutes_offset,
82 tz_hours_offset, tz_minutes_offset,
102 int tz_minutes_offset,
111 hour, minute, second, microsecond,
112 tz_hours_offset, tz_minutes_offset,
138 days, hours, minutes, seconds, microseconds, xctx);
154 int tz_minutes_offset,
162 hour, minute, second, microsecond,
163 tz_hours_offset, tz_minutes_offset,
184 &value->internal, is_positive,
203 string->internal.s = string_z;
204 string->internal.len = strlen(string_z);
227 if (!source_location) {
229 if (!use_source_location) {
230 use_source_location = &afw_s_a_empty_string;
234 use_source_location = source_location;
243 use_source_location, compile_type, p, xctx);
264 instance, property_name, source_location, compile_type, p, xctx);
288 !property_name_extended ||
289 property_name_extended->len == 0)
327 pn.s = property_name_extended->s;
328 pn.len = property_name_extended->len;
330 for (after_dot.s = property_name_extended->s,
331 after_dot.len = property_name_extended->len;
333 (after_dot.s)++, (after_dot.len)--)
336 if (*after_dot.s ==
'.') {
337 pn.len -= after_dot.len;
350 if (after_dot.len > 0) {
421 " is not an evaluated value",
427 source_location, NULL, shared, p, xctx);
590 from, &iterator, &property_name, xctx)) )
597 property_name, xctx);
635 &iterator, &property_name, xctx))
AFW_DEFINE(const afw_object_t *)
Adaptive Framework Core Internal.
#define afw_value_is_boolean(A_VALUE)
Macro to determine if value is evaluated boolean.
afw_value_allocate_date(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type date value.
afw_value_allocate_dateTime(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type dateTime value.
afw_value_allocate_dayTimeDuration(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type dayTimeDuration value.
#define afw_value_is_integer(A_VALUE)
Macro to determine if value is evaluated integer.
afw_data_type_integer
Data type struct for integer.
#define afw_value_is_object(A_VALUE)
Macro to determine if value is evaluated object.
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_allocate_string(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type string value.
afw_value_allocate_time(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type time value.
afw_value_allocate_yearMonthDuration(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type yearMonthDuration value.
#define AFW_UTF8_FMT_ARG(A_STRING)
Convenience Macro for use with AFW_UTF8_FMT to specify arg.
struct afw_iterator_s afw_iterator_t
#define AFW_UTF8_FMT_OPTIONAL_ARG(A_STRING)
Convenience Macro for use with AFW_UTF8_FMT to specify optional arg.
#define AFW_UTF8_FMT
Format string specifier used for afw_utf8_t.
afw_utf8_octet_t afw_utf8_z_t
NFC normalized UTF-8 null terminated string.
enum afw_compile_type_e afw_compile_type_t
Compile type enum.
apr_size_t afw_size_t
size_t.
apr_int64_t afw_integer_t
typedef for big signed int.
afw_compile_hybrid(const afw_value_t *value, const afw_utf8_t *source_location, const afw_value_compiled_value_t *parent, const afw_compile_shared_t *shared, const afw_pool_t *p, afw_xctx_t *xctx)
Compile hybrid.
#define AFW_THROW_ERROR_FZ(code, xctx, format_z,...)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
#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.
#define afw_object_get_setter(instance, xctx)
Call method get_setter of interface afw_object.
#define afw_object_setter_set_property(instance, property_name, value, xctx)
Call method set_property of interface afw_object_setter.
#define afw_object_setter_set_immutable(instance, xctx)
Call method set_immutable of interface afw_object_setter.
afw_object_set_property_as_date_from_parts(const afw_object_t *instance, const afw_utf8_t *property_name, int year, int month, int day, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set a date property from parts.
afw_object_remove_property(const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
Remove a property from object.
afw_object_old_get_property_as_utf8_z(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 including ancestors as utf8_z in specified pool.
afw_object_set_property_as_dayTimeDuration_from_parts(const afw_object_t *instance, const afw_utf8_t *property_name, afw_boolean_t is_positive, int days, int hours, int minutes, int seconds, int microseconds, afw_xctx_t *xctx)
Set a dayTimeDuration property from parts.
afw_object_get_property_extended(const afw_object_t *instance, const afw_utf8_t *property_name_extended, afw_xctx_t *xctx)
Get the value of an object's own property or embedded property.
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.
#define AFW_OBJECT_Q_PN_META
Quoted pseudo meta property name.
afw_object_old_get_property_as_integer_deprecated(const afw_object_t *instance, const afw_utf8_t *property_name, afw_boolean_t *found, afw_xctx_t *xctx)
Get an object's property value as an integer.
afw_object_merge(const afw_object_t *instance, const afw_object_t *from, afw_boolean_t replace, afw_xctx_t *xctx)
Merge properties from one object into another.
afw_object_set_property_as_dateTime_from_parts(const afw_object_t *instance, const afw_utf8_t *property_name, int year, int month, int day, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set a dateTime property from parts.
afw_object_old_get_property_as_array_of_strings(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_pool_t *p, afw_xctx_t *xctx)
Return a NULL terminated list of strings for an object property in a specified pool.
afw_object_set_property_as_time_from_parts(const afw_object_t *instance, const afw_utf8_t *property_name, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set a time property from parts.
afw_object_old_get_property_as_array_of_values(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_pool_t *p, afw_xctx_t *xctx)
Return a NULL terminated list of values for an object property in a specified pool.
afw_object_get_property_compile_as(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_utf8_t *source_location, afw_compile_type_t compile_type, const afw_pool_t *p, afw_xctx_t *xctx)
Compile a property value using specified compile type.
afw_object_old_get_property_as_boolean_deprecated(const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
Get an object's property value as a boolean.
afw_object_set_property_as_yearMonthDuration_from_parts(const afw_object_t *instance, const afw_utf8_t *property_name, afw_boolean_t is_positive, int years, int months, afw_xctx_t *xctx)
Set a yearMonthDuration property from parts.
afw_object_set_property_as_string_from_utf8_z(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_utf8_z_t *string_z, afw_xctx_t *xctx)
Set an string property from utf8_z.
afw_object_old_get_property_as_compiled_hybrid(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_utf8_t *source_location, const afw_compile_shared_t *shared, const afw_pool_t *p, afw_xctx_t *xctx)
Return a compiled hybrid property value.
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_object_property_count(const afw_object_t *object, afw_xctx_t *xctx)
Count the number of properties in an object.
afw_object_get_property_compile_and_evaluate_as(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_utf8_t *source_location, afw_compile_type_t compile_type, const afw_pool_t *p, afw_xctx_t *xctx)
Compile and evaluate a property value using specified compile type.
afw_object_set_immutable(const afw_object_t *instance, afw_xctx_t *xctx)
Set an object to immutable if it is not already.
const afw_object_t * afw_object_create_embedded(const afw_object_t *embedding_object, const afw_utf8_t *property_name, afw_xctx_t *xctx)
Create an empty embedded object in a memory object.
afw_dateTime_set_from_parts(afw_dateTime_t *dateTime, int year, int month, int day, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set afw_dateTime_t from parts.
afw_dayTimeDuration_set_from_parts(afw_dayTimeDuration_t *dayTimeDuration, afw_boolean_t is_positive, int days, int hours, int minutes, int seconds, int microseconds, afw_xctx_t *xctx)
Set afw_dayTimeDuration_t from parts.
afw_date_set_from_parts(afw_date_t *date, int year, int month, int day, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set afw_date_t from parts.
afw_yearMonthDuration_set_from_parts(afw_yearMonthDuration_t *yearMonthDuration, afw_boolean_t is_positive, int years, int months, afw_xctx_t *xctx)
Set afw_yearMonthDuration_t from parts.
afw_time_set_from_parts(afw_time_t *time, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
Set afw_time_t from parts.
afw_boolean_t afw_utf8_equal_utf8_z(const afw_utf8_t *s1, const afw_utf8_z_t *s2_z)
Check to see if a string equals a utf8_z string.
afw_boolean_t afw_utf8_starts_with_z(const afw_utf8_t *string, const afw_utf8_z_t *starts_with_z)
Check to see if a string starts with a utf8_z string.
int afw_utf8_compare_ignore_case(const afw_utf8_t *s1, const afw_utf8_t *s2, afw_xctx_t *xctx)
Compare two strings ignoring case.
void afw_utf8_substring_byte(afw_utf8_t *result, const afw_utf8_t *string, afw_size_t start, afw_size_t end)
Set result to a substring of string using byte indexes.
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.
#define afw_value_evaluate(value, p, xctx)
Evaluate value if needed using specific pool.
afw_value_compile_as(const afw_value_t *value, const afw_utf8_t *source_location, afw_compile_type_t compile_type, const afw_pool_t *p, afw_xctx_t *xctx)
Compile a value using specified compile type.
afw_value_as_utf8(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
afw_value_as_utf8_z(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
#define afw_value_is_defined_and_evaluated(A_VALUE)
Macro to determine if value is defined and evaluated.
afw_value_convert(const afw_value_t *value, const afw_data_type_t *to_data_type, afw_boolean_t required, const afw_pool_t *p, afw_xctx_t *xctx)
Convert a value to a value/data type.
afw_value_as_array_of_values(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
Return a NULL terminated list of values in a specified pool.
Resources that can be shared by multiple compiles.
Interface afw_object public struct.
Interface afw_object_setter public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
struct for data type boolean values.
struct for data type date values.
struct for data type dateTime values.
struct for data type dayTimeDuration values.
struct for data type integer values.
struct for data type object values.
Interface afw_value public struct.
struct for data type string values.
struct for data type time values.
struct for data type yearMonthDuration values.
Interface afw_xctx public struct.