Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
afw_data_type_time_binding.c File Reference

Adaptive Framework core data types. More...

#include "afw.h"
#include "afw_runtime_object_maps.h"
#include "afw_value_internal.h"
#include "afw_value_impl_declares.h"

Go to the source code of this file.

Macros

#define impl_afw_value_get_evaluated_meta    afw_value_internal_get_evaluated_meta_default
 
#define impl_afw_value_get_evaluated_metas    afw_value_internal_get_evaluated_metas_default
 
#define impl_afw_value_optional_evaluate   NULL
 
#define AFW_IMPLEMENTATION_SPECIFIC   (const void *)&afw_data_type_time_direct
 
#define AFW_IMPLEMENTATION_INF_VARIABLES
 
#define AFW_IMPLEMENTATION_ID   "time"
 
#define AFW_IMPLEMENTATION_INF_SPECIFIER   AFW_DEFINE_CONST_DATA
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_evaluated_time_inf
 
#define impl_afw_value_optional_release   NULL
 
#define impl_afw_value_get_reference   impl_afw_value_unmanaged_get_reference
 
#define AFW_IMPLEMENTATION_ID   "managed_time"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_managed_time_inf
 
#define impl_afw_value_optional_release   impl_afw_value_managed_optional_release
 
#define impl_afw_value_get_reference   impl_afw_value_managed_get_reference
 
#define AFW_VALUE_INF_ONLY   1
 
#define AFW_IMPLEMENTATION_ID   "permanent_time"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_permanent_time_inf
 
#define impl_afw_value_optional_release   NULL
 
#define impl_afw_value_get_reference   impl_afw_value_permanent_get_reference
 
#define AFW_VALUE_INF_ONLY   1
 

Functions

 impl_afw_value_managed_optional_release (const afw_value_t *instance, afw_xctx_t *xctx)
 
 impl_afw_value_unmanaged_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_value_managed_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_value_permanent_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 afw_object_set_property_as_time (const afw_object_t *object, const afw_utf8_t *property_name, const afw_time_t *internal, afw_xctx_t *xctx)
 Set property function for data type time values. More...
 
 afw_value_as_time (const afw_value_t *value, afw_xctx_t *xctx)
 Typesafe cast of data type time. More...
 
 afw_value_allocate_time (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for unmanaged data type time value. More...
 
 afw_value_create_time (const afw_time_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for unmanaged data type time value. More...
 
 afw_value_allocate_managed_time (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for managed data type time value. More...
 
 afw_value_create_managed_time (const afw_time_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for managed data type time value. More...
 
 afw_value_allocate_permanent_time (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for permanent data type time value. More...
 
 afw_value_create_permanent_time (const afw_time_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for permanent data type time value. More...
 
 afw_data_type_time_to_internal (afw_time_t *to_internal, const afw_utf8_t *from_utf8, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type time string to afw_time_t *. More...
 
 afw_data_type_time_to_utf8 (const afw_time_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type time internal representation to utf-8. More...
 
 afw_object_get_property_as_time_source (const afw_object_t *object, const afw_utf8_t *property_name, const afw_utf8_z_t *source_z, const afw_pool_t *p, afw_xctx_t *xctx)
 Get property function for data type time value. More...
 
 afw_object_get_next_property_as_time_source (const afw_object_t *object, const afw_iterator_t **iterator, const afw_utf8_t **property_name, const afw_utf8_z_t *source_z, const afw_pool_t *p, afw_xctx_t *xctx)
 Get property function for data type time value. More...
 
const afw_data_type_timpl_afw_value_get_data_type (const afw_value_t *instance, afw_xctx_t *xctx)
 
const afw_data_type_timpl_afw_value_get_evaluated_data_type (const afw_value_t *instance, afw_xctx_t *xctx)
 
const afw_utf8_timpl_afw_value_get_evaluated_data_type_parameter (const afw_value_t *instance, afw_xctx_t *xctx)
 
void impl_afw_value_produce_compiler_listing (const afw_value_t *instance, const afw_writer_t *writer, afw_xctx_t *xctx)
 
void impl_afw_value_decompile (const afw_value_t *instance, const afw_writer_t *writer, afw_xctx_t *xctx)
 
void impl_afw_value_get_info (const afw_value_t *instance, afw_value_info_t *info, const afw_pool_t *p, afw_xctx_t *xctx)
 
 afw_list_of_time_get_next_source (const afw_list_t *instance, const afw_iterator_t **iterator, const afw_utf8_z_t *source_z, afw_xctx_t *xctx)
 Get next value from list of time. More...
 
 afw_list_of_time_add (const afw_list_t *instance, const afw_time_t *value, afw_xctx_t *xctx)
 Add value from list of time. More...
 
 afw_list_of_time_remove (const afw_list_t *instance, const afw_time_t *value, afw_xctx_t *xctx)
 Remove value from list of time. More...
 

Variables

 afw_data_type_time_id_value
 
 impl_empty_list_of_time
 
 impl_value_empty_list_of_time
 
 afw_data_type_time_direct
 
 afw_data_type_time
 

Detailed Description

Adaptive Framework core data types.

Definition in file afw_data_type_time_binding.c.

Macro Definition Documentation

◆ AFW_IMPLEMENTATION_INF_VARIABLES

#define AFW_IMPLEMENTATION_INF_VARIABLES
Value:
(const void *)&afw_data_type_time_direct, \
afw_data_type_time_direct
extern for data type time struct.

Definition at line 73 of file afw_data_type_time_binding.c.

Function Documentation

◆ impl_afw_value_managed_optional_release()

impl_afw_value_managed_optional_release ( const afw_value_t instance,
afw_xctx_t xctx 
)
Todo:
this needs to release reference of value or free it.

Definition at line 412 of file afw_data_type_time_binding.c.

◆ impl_afw_value_unmanaged_get_reference()

impl_afw_value_unmanaged_get_reference ( const afw_value_t instance,
const afw_pool_t p,
afw_xctx_t xctx 
)
Todo:
this needs to addref or return a copy.

Definition at line 421 of file afw_data_type_time_binding.c.

Variable Documentation

◆ afw_data_type_time

afw_data_type_time
Initial value:

Definition at line 205 of file afw_data_type_time_binding.c.

◆ afw_data_type_time_direct

afw_data_type_time_direct
Initial value:
= {
(const afw_object_t *)&impl_data_type_object_time,
AFW_UTF8_LITERAL("A time"),
AFW_UTF8_LITERAL("Data type time is ISO 8601 extended format hh:mm:ss with an optional time zone."),
afw_data_type_number_time,
AFW_UTF8_LITERAL("1.3.6.1.4.1.1466.115.121.1.24"),
AFW_UTF8_LITERAL("string"),
AFW_UTF8_LITERAL("afw_time_t"),
sizeof(afw_time_t),
(const afw_list_t *)&impl_empty_list_of_time,
(const afw_value_t *)&impl_value_empty_list_of_time,
afw_compile_type_error,
false,
false,
false,
true,
true
}
afw_value_evaluated_time_inf
Unmanaged evaluated value inf for data type time.
afw_data_type_time_inf
extern for data type time inf.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
struct afw_time_s afw_time_t
time with time zone.
Interface afw_list public struct.
Interface afw_object public struct.
Interface afw_value public struct.

Definition at line 164 of file afw_data_type_time_binding.c.

◆ afw_data_type_time_id_value

afw_data_type_time_id_value
Initial value:
=
{
(const afw_value_t *)&impl_data_type_time_id_value
}

Definition at line 128 of file afw_data_type_time_binding.c.

◆ impl_empty_list_of_time

impl_empty_list_of_time
Initial value:
= {
0
}
afw_list_wrapper_for_array_inf
inf for afw_list_wrapper_for_array afw_list implementation.
Definition: afw_list.h:254

Definition at line 156 of file afw_data_type_time_binding.c.

◆ impl_value_empty_list_of_time

impl_value_empty_list_of_time
Initial value:
= {
(const afw_list_t *)&impl_empty_list_of_time
}
afw_value_permanent_list_inf
Permanent managed (life of afw environment) value inf for data type list.

Definition at line 160 of file afw_data_type_time_binding.c.