Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_value_meta_values_object.c
Go to the documentation of this file.
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Adaptive Framework List Implementation for Meta Values of an Object
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
14 #include "afw_internal.h"
15 
16 
17 
18 #define impl_afw_list_get_entry_meta afw_list_impl_get_entry_meta
19 #define impl_afw_list_get_next_entry_meta afw_list_impl_get_next_entry_meta
20 
21 
22 /* Declares and rti/inf defines for interface afw_list */
23 #define AFW_IMPLEMENTATION_ID "afw_value_meta_values_object"
24 #include "afw_list_impl_declares.h"
25 
26 
27 /*
28  * Implementation of method release for interface afw_list.
29  */
30 void
32  const afw_list_t *instance,
33  afw_xctx_t *xctx)
34 {
36  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
37 
38 }
39 
40 /*
41  * Implementation of method get_count for interface afw_list.
42  */
45  const afw_list_t *instance,
46  afw_xctx_t *xctx)
47 {
49  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
50 
51 }
52 
53 /*
54  * Implementation of method get_data_type for interface afw_list.
55  */
56 const afw_data_type_t *
58  const afw_list_t *instance,
59  afw_xctx_t *xctx)
60 {
62  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
63 
64 }
65 
66 /*
67  * Implementation of method get_entry_internal for interface afw_list.
68  */
71  const afw_list_t *instance,
72  afw_integer_t index,
73  const afw_data_type_t **data_type,
74  const void **internal,
75  afw_xctx_t *xctx)
76 {
78  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
79 
80 }
81 
82 /*
83  * Implementation of method get_entry_value for interface afw_list.
84  */
85 const afw_value_t *
87  const afw_list_t *instance,
88  afw_integer_t index,
89  const afw_pool_t *p,
90  afw_xctx_t *xctx)
91 {
93  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
94 
95 }
96 
97 /*
98  * Implementation of method get_next_internal for interface afw_list.
99  */
102  const afw_list_t *instance,
103  const afw_iterator_t **iterator,
104  const afw_data_type_t **data_type,
105  const void **internal,
106  afw_xctx_t *xctx)
107 {
109  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
110 
111 }
112 
113 /*
114  * Implementation of method get_next_value for interface afw_list.
115  */
116 const afw_value_t *
118  const afw_list_t *instance,
119  const afw_iterator_t **iterator,
120  const afw_pool_t *p,
121  afw_xctx_t *xctx)
122 {
124  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
125 
126 }
127 
128 /*
129  * Implementation of method get_setter for interface afw_list.
130  */
131 const afw_list_setter_t *
133  const afw_list_t *instance,
134  afw_xctx_t *xctx)
135 {
137  AFW_THROW_ERROR_Z(general, "Method not implemented.", xctx);
138 
139 }
140 
141 
142 
144 afw_value_meta_values_list_for_object_create(
145  const afw_value_t *value,
146  const afw_pool_t *p,
147  afw_xctx_t *xctx)
148 {
150 
152  self->pub.inf = &impl_afw_list_inf;
153  self->p = p;
154  AFW_VALUE_ASSERT_IS_DATA_TYPE(value, object, xctx);
155  self->value = (const afw_value_object_t *)value;
156 
157  return afw_value_create_list((const afw_list_t *)self, p, xctx);
158 }
#define AFW_DEFINE_INTERNAL(type)
Define an internal function for /src/afw/ source*.c files.
Adaptive Framework Core Internal.
Interface afw_interface implementation declares.
afw_value_create_list(const afw_list_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type list value.
struct afw_iterator_s afw_iterator_t
_Bool afw_boolean_t
Definition: afw_common.h:373
apr_size_t afw_size_t
size_t.
Definition: afw_common.h:151
apr_int64_t afw_integer_t
typedef for big signed int.
Definition: afw_common.h:321
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
Definition: afw_error.h:283
const afw_value_t * impl_afw_list_get_next_value(const afw_list_t *instance, const afw_iterator_t **iterator, const afw_pool_t *p, afw_xctx_t *xctx)
afw_boolean_t impl_afw_list_get_entry_internal(const afw_list_t *instance, afw_integer_t index, const afw_data_type_t **data_type, const void **internal, afw_xctx_t *xctx)
const afw_data_type_t * impl_afw_list_get_data_type(const afw_list_t *instance, afw_xctx_t *xctx)
void impl_afw_list_release(const afw_list_t *instance, afw_xctx_t *xctx)
afw_boolean_t impl_afw_list_get_next_internal(const afw_list_t *instance, const afw_iterator_t **iterator, const afw_data_type_t **data_type, const void **internal, afw_xctx_t *xctx)
const afw_list_setter_t * impl_afw_list_get_setter(const afw_list_t *instance, afw_xctx_t *xctx)
afw_size_t impl_afw_list_get_count(const afw_list_t *instance, afw_xctx_t *xctx)
const afw_value_t * impl_afw_list_get_entry_value(const afw_list_t *instance, afw_integer_t index, const afw_pool_t *p, afw_xctx_t *xctx)
#define AFW_VALUE_ASSERT_IS_DATA_TYPE(A_VALUE, A_DATA_TYPE, A_SCOPE)
Throw and error if A_VALUE is not evaluated data type A_DATA_TYPE.
Definition: afw_value.h:768
#define afw_xctx_calloc_type(type, xctx)
Macro to allocate cleared memory to hold type in xctx's pool.
Definition: afw_xctx.h:199
Interface afw_data_type public struct.
Interface afw_list public struct.
Interface afw_list_setter public struct.
Interface afw_pool public struct.
struct for data type object values.
Interface afw_value public struct.
Interface afw_xctx public struct.