Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_extension_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_EXTENSION_IMPL_DECLARES_H__
76 #ifndef AFW_EXTENSION_INF_ONLY
77 #error "afw_extension_impl_declares.h already included."
78 #endif
79 #endif
80 #ifndef __AFW_EXTENSION_IMPL_DECLARES_H__
81 #ifdef AFW_EXTENSION_INF_ONLY
82 #error "afw_extension_impl_declares.h must be included before AFW_EXTENSION_INF_ONLY."
83 #endif
84 #define __AFW_EXTENSION_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_EXTENSION_INF_ONLY
98 
99 #ifndef impl_afw_extension_initialize
100 /* Declare method initialize */
101 AFW_DECLARE_STATIC(const afw_extension_t *)
102 impl_afw_extension_initialize(
103  const afw_extension_t * instance,
104  const afw_object_t * properties,
105  const afw_pool_t * p,
106  afw_xctx_t * xctx);
107 #endif
108 
109 #ifndef impl_afw_extension_release
110 /* Declare method release */
111 AFW_DECLARE_STATIC(void)
112 impl_afw_extension_release(
113  const afw_extension_t * instance,
114  afw_xctx_t * xctx);
115 #endif
116 #endif
117 
118 /* inf for interface afw_extension */
119 #ifdef __BASE_FILE__
120 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
121 #else
122 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
123 #endif
124 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
125 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_extension_inf_t)
126 #else
127 static const afw_extension_inf_t
128 #endif
129 #ifdef AFW_IMPLEMENTATION_INF_LABEL
130 AFW_IMPLEMENTATION_INF_LABEL = {
131 #else
132 impl_afw_extension_inf = {
133 #endif
134  {
135  AFW_UTF8_LITERAL("afw_extension"),
136  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
137  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
138  _AFW_IMPLEMENTATION_SPECIFIC_
139  },
140  impl_afw_extension_initialize,
141  impl_afw_extension_release
142 };
143 
144 #undef _AFW_IMPLEMENTATION_ID_
145 #undef _AFW_IMPLEMENTATION_SPECIFIC_
146 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
147 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
Interface afw_extension_inf_s struct.
Definition: afw_interface.h:82
Interface afw_extension public struct.
Definition: afw_interface.h:55
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_xctx public struct.