Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_adaptor_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_ADAPTOR_IMPL_DECLARES_H__
75 #ifndef AFW_ADAPTOR_INF_ONLY
76 #error "afw_adaptor_impl_declares.h already included."
77 #endif
78 #endif
79 #ifndef __AFW_ADAPTOR_IMPL_DECLARES_H__
80 #ifdef AFW_ADAPTOR_INF_ONLY
81 #error "afw_adaptor_impl_declares.h must be included before AFW_ADAPTOR_INF_ONLY."
82 #endif
83 #define __AFW_ADAPTOR_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_ADAPTOR_INF_ONLY
97 
98 #ifndef impl_afw_adaptor_destroy
99 /* Declare method destroy */
100 AFW_DECLARE_STATIC(void)
102  const afw_adaptor_t * instance,
103  afw_xctx_t * xctx);
104 #endif
105 
106 #ifndef impl_afw_adaptor_create_adaptor_session
107 /* Declare method create_adaptor_session */
108 AFW_DECLARE_STATIC(const afw_adaptor_session_t *)
110  const afw_adaptor_t * instance,
111  afw_xctx_t * xctx);
112 #endif
113 
114 #ifndef impl_afw_adaptor_get_additional_metrics
115 /* Declare method get_additional_metrics */
116 AFW_DECLARE_STATIC(const afw_object_t *)
118  const afw_adaptor_t * instance,
119  const afw_pool_t * p,
120  afw_xctx_t * xctx);
121 #endif
122 #endif
123 
124 /* inf for interface afw_adaptor */
125 #ifdef __BASE_FILE__
126 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
127 #else
128 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
129 #endif
130 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
131 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_adaptor_inf_t)
132 #else
133 static const afw_adaptor_inf_t
134 #endif
135 #ifdef AFW_IMPLEMENTATION_INF_LABEL
136 AFW_IMPLEMENTATION_INF_LABEL = {
137 #else
138 impl_afw_adaptor_inf = {
139 #endif
140  {
141  AFW_UTF8_LITERAL("afw_adaptor"),
142  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
143  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
144  _AFW_IMPLEMENTATION_SPECIFIC_
145  },
149 };
150 
151 #undef _AFW_IMPLEMENTATION_ID_
152 #undef _AFW_IMPLEMENTATION_SPECIFIC_
153 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
154 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
impl_afw_adaptor_get_additional_metrics(const afw_adaptor_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
impl_afw_adaptor_destroy(const afw_adaptor_t *instance, afw_xctx_t *xctx)
impl_afw_adaptor_create_adaptor_session(const afw_adaptor_t *instance, afw_xctx_t *xctx)
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
Interface afw_adaptor_inf_s struct.
Interface afw_adaptor public struct.
Interface afw_adaptor_session public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_xctx public struct.