Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
afw_data_type_template_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_template_direct
 
#define AFW_IMPLEMENTATION_INF_VARIABLES
 
#define AFW_IMPLEMENTATION_ID   "template"
 
#define AFW_IMPLEMENTATION_INF_SPECIFIER   AFW_DEFINE_CONST_DATA
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_evaluated_template_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_template"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_managed_template_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_template"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_permanent_template_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_template (const afw_object_t *object, const afw_utf8_t *property_name, const afw_utf8_t *internal, afw_xctx_t *xctx)
 Set property function for data type template values. More...
 
 afw_value_as_template (const afw_value_t *value, afw_xctx_t *xctx)
 Typesafe cast of data type template. More...
 
 afw_value_allocate_template (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for unmanaged data type template value. More...
 
 afw_value_create_template (const afw_utf8_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for unmanaged data type template value. More...
 
 afw_value_allocate_managed_template (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for managed data type template value. More...
 
 afw_value_create_managed_template (const afw_utf8_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for managed data type template value. More...
 
 afw_value_allocate_permanent_template (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for permanent data type template value. More...
 
 afw_value_create_permanent_template (const afw_utf8_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for permanent data type template value. More...
 
 afw_data_type_template_to_internal (afw_utf8_t *to_internal, const afw_utf8_t *from_utf8, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type template string to afw_utf8_t *. More...
 
 afw_data_type_template_to_utf8 (const afw_utf8_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type template internal representation to utf-8. More...
 
 afw_object_get_property_as_template_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 template value. More...
 
 afw_object_get_next_property_as_template_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 template 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_template_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 template. More...
 
 afw_list_of_template_add (const afw_list_t *instance, const afw_utf8_t *value, afw_xctx_t *xctx)
 Add value from list of template. More...
 
 afw_list_of_template_remove (const afw_list_t *instance, const afw_utf8_t *value, afw_xctx_t *xctx)
 Remove value from list of template. More...
 

Variables

 afw_data_type_template_id_value
 
 impl_empty_list_of_template
 
 impl_value_empty_list_of_template
 
 afw_data_type_template_direct
 
 afw_data_type_template
 

Detailed Description

Adaptive Framework core data types.

Definition in file afw_data_type_template_binding.c.

Macro Definition Documentation

◆ AFW_IMPLEMENTATION_INF_VARIABLES

#define AFW_IMPLEMENTATION_INF_VARIABLES
Value:
afw_data_type_template_direct
extern for data type template struct.

Definition at line 73 of file afw_data_type_template_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_template_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_template_binding.c.

Variable Documentation

◆ afw_data_type_template

afw_data_type_template
Initial value:

Definition at line 205 of file afw_data_type_template_binding.c.

◆ afw_data_type_template_direct

afw_data_type_template_direct
Initial value:
= {
(const afw_object_t *)&impl_data_type_object_template,
AFW_UTF8_LITERAL("template"),
AFW_UTF8_LITERAL("An adaptive template"),
AFW_UTF8_LITERAL("Data type template holds the source for an adaptive template."),
AFW_UTF8_LITERAL("SourceParameter"),
afw_data_type_number_template,
AFW_UTF8_LITERAL("1.3.6.1.4.1.1466.115.121.1.15{64512}"),
AFW_UTF8_LITERAL("string"),
AFW_UTF8_LITERAL("afw_utf8_t"),
sizeof(afw_utf8_t),
(const afw_list_t *)&impl_empty_list_of_template,
(const afw_value_t *)&impl_value_empty_list_of_template,
afw_compile_type_template,
false,
true,
false,
true,
true
}
afw_data_type_template_inf
extern for data type template inf.
afw_value_evaluated_template_inf
Unmanaged evaluated value inf for data type template.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
struct afw_utf8_s afw_utf8_t
NFC normalized UTF-8 string.
Interface afw_list public struct.
Interface afw_object public struct.
Interface afw_value public struct.

Definition at line 164 of file afw_data_type_template_binding.c.

◆ afw_data_type_template_id_value

afw_data_type_template_id_value
Initial value:
=
{
(const afw_value_t *)&impl_data_type_template_id_value
}

Definition at line 128 of file afw_data_type_template_binding.c.

◆ impl_empty_list_of_template

impl_empty_list_of_template
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_template_binding.c.

◆ impl_value_empty_list_of_template

impl_value_empty_list_of_template
Initial value:
= {
(const afw_list_t *)&impl_empty_list_of_template
}
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_template_binding.c.