Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_object_options.h
Go to the documentation of this file.
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Adaptive Framework Object Processing Options
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
9 #ifndef __AFW_OBJECT_OPTIONS_H__
10 #define __AFW_OBJECT_OPTIONS_H__
11 
12 #include "afw_interface.h"
13 
29 
37 
38  /*
39  * @brief Object processing options mask.
40  *
41  * See AFW_OBJECT_OPTION_* for values.
42  */
43  afw_uint32_t mask;
44 };
45 
46 
52 #define AFW_OBJECT_OPTION_checkRequired (1 << 0)
53 
54 
55 
61 #define AFW_OBJECT_OPTION_composite (1 << 1)
62 
63 
64 
71 #define AFW_OBJECT_OPTION_includeDefaultValues (1 << 3)
72 
73 
74 
82 #define AFW_OBJECT_OPTION_includeDescendentObjectTypes (1 << 4)
83 
84 
85 
94 #define AFW_OBJECT_OPTION_inheritedFrom (1 << 5)
95 
96 
97 
111 #define AFW_OBJECT_OPTION_integersAsString (1 << 6)
112 
113 
114 
130 #define AFW_OBJECT_OPTION_largeIntegersAsString (1 << 7)
131 
132 
133 
141 #define AFW_OBJECT_OPTION_metaFull (1 << 8)
142 
143 
144 
151 #define AFW_OBJECT_OPTION_metaLimited (1 << 9)
152 
153 
154 
167 #define AFW_OBJECT_OPTION_normalize (1 << 10)
168 
169 
170 
176 #define AFW_OBJECT_OPTION_objectId (1 << 11)
177 
178 
179 
185 #define AFW_OBJECT_OPTION_objectType (1 << 12)
186 
187 
188 
196 #define AFW_OBJECT_OPTION_objectTypes (1 << 13)
197 
198 
199 
205 #define AFW_OBJECT_OPTION_path (1 << 14)
206 
207 
208 
214 #define AFW_OBJECT_OPTION_pathEmbedded (1 << 15)
215 
216 
226 #define AFW_OBJECT_OPTION_reconcilable (1 << 16)
227 
228 
229 
236 #define AFW_OBJECT_OPTION_resolvedParentPaths (1 << 17)
237 
238 
239 
245 #define AFW_OBJECT_OPTION_typedValues (1 << 18)
246 
247 
248 
256 #define AFW_OBJECT_OPTION_whitespace (1 << 19)
257 
258 
259 
265 
266 
267 
273 
274 
278 
279 /*
280  * @brief Object processing options -
281  * checkRequired + composite + includeDefaultValues + normalize.
282  */
284 afw_object_options_composite_normalize_defaults_required;
285 
289 
290 
294 
295 
299 
300 
304 
305 
309 
310 
314 
315 
317 #define AFW_OBJECT_OPTION_IS(_options, _option) \
318 ((_options) && (((((_options)->mask) & (AFW_OBJECT_OPTION_ ## _option))) != 0))
319 
320 
322 #define AFW_OBJECT_OPTION_SET_ON(_options, _option) \
323  (_options)->mask |= AFW_OBJECT_OPTION_ ## _option
324 
325 
327 #define AFW_OBJECT_OPTION_SET_OFF(_options, _option) \
328  (_options)->mask &= ~(AFW_OBJECT_OPTION_ ## _option)
329 
330 
332 #define AFW_OBJECT_OPTION_SET(_options, _option, _bool_value) \
333 do { \
334  if (_bool_value) { \
335  AFW_OBJECT_OPTION_SET_ON(_options, _option); \
336  } \
337  else { \
338  AFW_OBJECT_OPTION_SET_OFF(_options, _option); \
339  } \
340 } while (0)
341 
342 
353  const afw_object_options_t *initial_options,
354  const afw_object_t *options_object,
355  const afw_pool_t *p, afw_xctx_t *xctx);
356 
357 
372  const afw_object_options_t *initial_options,
373  const afw_object_options_t *options,
374  const afw_pool_t *p, afw_xctx_t *xctx);
375 
376 
377 AFW_END_DECLARES
378 
381 #endif /* __AFW_OBJECT_OPTIONS_H__ */
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
AFW_DECLARE_CONST_DATA(afw_utf8_t) afw_s_200
afw_utf8_t for string 200
apr_uint32_t afw_uint32_t
32-bit unsigned integer.
Definition: afw_common.h:184
afw_object_options_essential_with_whitespace
Object processing options - metaLimited + whitespace.
afw_object_options_composite_inheritedFrom_resolvedParentPaths
Object processing options - composite + inheritance related.
afw_object_options_none
Object processing options - no options set.
const afw_object_options_t * afw_object_options_create(const afw_object_options_t *initial_options, const afw_object_options_t *options, const afw_pool_t *p, afw_xctx_t *xctx)
Create a options.
afw_object_options_essential
Object processing options - metaLimited.
afw_object_options_objectType
Object processing options - objectType.
afw_object_options_composite
Object processing options - composite only.
const afw_object_options_t * afw_object_options_set_from_object(const afw_object_options_t *initial_options, const afw_object_t *options_object, const afw_pool_t *p, afw_xctx_t *xctx)
Set object processing options from options object.
afw_object_options_whitespace
Whitespace only.
afw_object_options_reconcilable_meta_property
Object processing options to produce reconcilable meta property.
afw_object_options_composite_and_defaults
Object processing options - composite only and defaults.
Struct for object processing options.
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_xctx public struct.