Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_object_associative_array_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 
75 #ifdef __AFW_OBJECT_ASSOCIATIVE_ARRAY_IMPL_DECLARES_H__
76 #ifndef AFW_OBJECT_ASSOCIATIVE_ARRAY_INF_ONLY
77 #error "afw_object_associative_array_impl_declares.h already included."
78 #endif
79 #endif
80 #ifndef __AFW_OBJECT_ASSOCIATIVE_ARRAY_IMPL_DECLARES_H__
81 #ifdef AFW_OBJECT_ASSOCIATIVE_ARRAY_INF_ONLY
82 #error "afw_object_associative_array_impl_declares.h must be included before AFW_OBJECT_ASSOCIATIVE_ARRAY_INF_ONLY."
83 #endif
84 #define __AFW_OBJECT_ASSOCIATIVE_ARRAY_IMPL_DECLARES_H__ 1
85 #endif
86 
87 #ifdef AFW_IMPLEMENTATION_ID
88 #define _AFW_IMPLEMENTATION_ID_ AFW_IMPLEMENTATION_ID
89 #else
90 #define _AFW_IMPLEMENTATION_ID_ "unspecified"
91 #endif
92 #ifdef AFW_IMPLEMENTATION_SPECIFIC
93 #define _AFW_IMPLEMENTATION_SPECIFIC_ AFW_IMPLEMENTATION_SPECIFIC
94 #else
95 #define _AFW_IMPLEMENTATION_SPECIFIC_ NULL
96 #endif
97 #ifndef AFW_OBJECT_ASSOCIATIVE_ARRAY_INF_ONLY
98 
99 #ifndef impl_afw_object_associative_array_release
100 /* Declare method release */
101 AFW_DECLARE_STATIC(void)
102 impl_afw_object_associative_array_release(
103  const afw_object_associative_array_t * instance,
104  afw_xctx_t * xctx);
105 #endif
106 
107 #ifndef impl_afw_object_associative_array_add_reference
108 /* Declare method add_reference */
109 AFW_DECLARE_STATIC(void)
110 impl_afw_object_associative_array_add_reference(
111  const afw_object_associative_array_t * instance,
112  afw_xctx_t * xctx);
113 #endif
114 
115 #ifndef impl_afw_object_associative_array_get
116 /* Declare method get */
117 AFW_DECLARE_STATIC(const afw_object_t *)
118 impl_afw_object_associative_array_get(
119  const afw_object_associative_array_t * instance,
120  const afw_utf8_t * key,
121  afw_xctx_t * xctx);
122 #endif
123 
124 #ifndef impl_afw_object_associative_array_get_reference
125 /* Declare method get_reference */
126 AFW_DECLARE_STATIC(const afw_object_t *)
127 impl_afw_object_associative_array_get_reference(
128  const afw_object_associative_array_t * instance,
129  const afw_utf8_t * key,
130  afw_xctx_t * xctx);
131 #endif
132 
133 #ifndef impl_afw_object_associative_array_for_each
134 /* Declare method for_each */
135 AFW_DECLARE_STATIC(void)
137  const afw_object_associative_array_t * instance,
138  void * context,
139  afw_object_cb_t cb,
140  afw_xctx_t * xctx);
141 #endif
142 
143 #ifndef impl_afw_object_associative_array_set
144 /* Declare method set */
145 AFW_DECLARE_STATIC(void)
146 impl_afw_object_associative_array_set(
147  const afw_object_associative_array_t * instance,
148  const afw_utf8_t * key,
149  const afw_object_t * object,
150  afw_xctx_t * xctx);
151 #endif
152 #endif
153 
154 /* inf for interface afw_object_associative_array */
155 #ifdef __BASE_FILE__
156 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
157 #else
158 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
159 #endif
160 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
161 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_object_associative_array_inf_t)
162 #else
164 #endif
165 #ifdef AFW_IMPLEMENTATION_INF_LABEL
166 AFW_IMPLEMENTATION_INF_LABEL = {
167 #else
168 impl_afw_object_associative_array_inf = {
169 #endif
170  {
171  AFW_UTF8_LITERAL("afw_object_associative_array"),
172  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
173  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
174  _AFW_IMPLEMENTATION_SPECIFIC_
175  },
176  impl_afw_object_associative_array_release,
177  impl_afw_object_associative_array_add_reference,
178  impl_afw_object_associative_array_get,
179  impl_afw_object_associative_array_get_reference,
181  impl_afw_object_associative_array_set
182 };
183 
184 #undef _AFW_IMPLEMENTATION_ID_
185 #undef _AFW_IMPLEMENTATION_SPECIFIC_
186 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
187 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
afw_boolean_t(* afw_object_cb_t)(const afw_object_t *object, void *context, afw_xctx_t *xctx)
Typedef for afw_adaptor_session_object callback.
Definition: afw_common.h:1176
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
impl_afw_object_associative_array_for_each(const afw_object_associative_array_t *instance, void *context, afw_object_cb_t cb, afw_xctx_t *xctx)
Interface afw_object_associative_array_inf_s struct.
Interface afw_object_associative_array public struct.
Interface afw_object public struct.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_xctx public struct.