Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_object_impl_declares.h
Go to the documentation of this file.
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Interface afw_interface Implementation Declares
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
10 
12 
74 #ifdef __AFW_OBJECT_IMPL_DECLARES_H__
75 #ifndef AFW_OBJECT_INF_ONLY
76 #error "afw_object_impl_declares.h already included."
77 #endif
78 #endif
79 #ifndef __AFW_OBJECT_IMPL_DECLARES_H__
80 #ifdef AFW_OBJECT_INF_ONLY
81 #error "afw_object_impl_declares.h must be included before AFW_OBJECT_INF_ONLY."
82 #endif
83 #define __AFW_OBJECT_IMPL_DECLARES_H__ 1
84 #endif
85 
86 #ifdef AFW_IMPLEMENTATION_ID
87 #define _AFW_IMPLEMENTATION_ID_ AFW_IMPLEMENTATION_ID
88 #else
89 #define _AFW_IMPLEMENTATION_ID_ "unspecified"
90 #endif
91 #ifdef AFW_IMPLEMENTATION_SPECIFIC
92 #define _AFW_IMPLEMENTATION_SPECIFIC_ AFW_IMPLEMENTATION_SPECIFIC
93 #else
94 #define _AFW_IMPLEMENTATION_SPECIFIC_ NULL
95 #endif
96 #ifndef AFW_OBJECT_INF_ONLY
97 
98 #ifndef impl_afw_object_release
99 /* Declare method release */
100 AFW_DECLARE_STATIC(void)
102  const afw_object_t * instance,
103  afw_xctx_t * xctx);
104 #endif
105 
106 #ifndef impl_afw_object_add_reference
107 /* Declare method add_reference */
108 AFW_DECLARE_STATIC(void)
110  const afw_object_t * instance,
111  afw_xctx_t * xctx);
112 #endif
113 
114 #ifndef impl_afw_object_get_count
115 /* Declare method get_count */
116 AFW_DECLARE_STATIC(afw_size_t)
118  const afw_object_t * instance,
119  afw_xctx_t * xctx);
120 #endif
121 
122 #ifndef impl_afw_object_get_meta
123 /* Declare method get_meta */
124 AFW_DECLARE_STATIC(const afw_value_t *)
126  const afw_object_t * instance,
127  const afw_pool_t * p,
128  afw_xctx_t * xctx);
129 #endif
130 
131 #ifndef impl_afw_object_get_property
132 /* Declare method get_property */
133 AFW_DECLARE_STATIC(const afw_value_t *)
135  const afw_object_t * instance,
136  const afw_utf8_t * property_name,
137  afw_xctx_t * xctx);
138 #endif
139 
140 #ifndef impl_afw_object_get_property_meta
141 /* Declare method get_property_meta */
142 AFW_DECLARE_STATIC(const afw_value_t *)
144  const afw_object_t * instance,
145  const afw_utf8_t * property_name,
146  const afw_pool_t * p,
147  afw_xctx_t * xctx);
148 #endif
149 
150 #ifndef impl_afw_object_get_next_property
151 /* Declare method get_next_property */
152 AFW_DECLARE_STATIC(const afw_value_t *)
154  const afw_object_t * instance,
155  const afw_iterator_t * * iterator,
156  const afw_utf8_t * * property_name,
157  afw_xctx_t * xctx);
158 #endif
159 
160 #ifndef impl_afw_object_get_next_property_meta
161 /* Declare method get_next_property_meta */
162 AFW_DECLARE_STATIC(const afw_value_t *)
164  const afw_object_t * instance,
165  const afw_iterator_t * * iterator,
166  const afw_utf8_t * * property_name,
167  const afw_pool_t * p,
168  afw_xctx_t * xctx);
169 #endif
170 
171 #ifndef impl_afw_object_has_property
172 /* Declare method has_property */
173 AFW_DECLARE_STATIC(afw_boolean_t)
175  const afw_object_t * instance,
176  const afw_utf8_t * property_name,
177  afw_xctx_t * xctx);
178 #endif
179 
180 #ifndef impl_afw_object_get_setter
181 /* Declare method get_setter */
182 AFW_DECLARE_STATIC(const afw_object_setter_t *)
184  const afw_object_t * instance,
185  afw_xctx_t * xctx);
186 #endif
187 #endif
188 
189 /* inf for interface afw_object */
190 #ifdef __BASE_FILE__
191 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
192 #else
193 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
194 #endif
195 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
196 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_object_inf_t)
197 #else
198 static const afw_object_inf_t
199 #endif
200 #ifdef AFW_IMPLEMENTATION_INF_LABEL
201 AFW_IMPLEMENTATION_INF_LABEL = {
202 #else
203 impl_afw_object_inf = {
204 #endif
205  {
206  AFW_UTF8_LITERAL("afw_object"),
207  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
208  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
209  _AFW_IMPLEMENTATION_SPECIFIC_
210  },
221 };
222 
223 #undef _AFW_IMPLEMENTATION_ID_
224 #undef _AFW_IMPLEMENTATION_SPECIFIC_
225 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
226 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
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
impl_afw_object_get_setter(const afw_object_t *instance, afw_xctx_t *xctx)
impl_afw_object_add_reference(const afw_object_t *instance, afw_xctx_t *xctx)
impl_afw_object_get_next_property(const afw_object_t *instance, const afw_iterator_t **iterator, const afw_utf8_t **property_name, afw_xctx_t *xctx)
impl_afw_object_release(const afw_object_t *instance, afw_xctx_t *xctx)
impl_afw_object_get_meta(const afw_object_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
impl_afw_object_get_next_property_meta(const afw_object_t *instance, const afw_iterator_t **iterator, const afw_utf8_t **property_name, const afw_pool_t *p, afw_xctx_t *xctx)
impl_afw_object_get_property(const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
impl_afw_object_has_property(const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
impl_afw_object_get_property_meta(const afw_object_t *instance, const afw_utf8_t *property_name, const afw_pool_t *p, afw_xctx_t *xctx)
impl_afw_object_get_count(const afw_object_t *instance, afw_xctx_t *xctx)
Interface afw_object_inf_s struct.
Interface afw_object public struct.
Interface afw_object_setter public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_value public struct.
Interface afw_xctx public struct.