Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_request_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_REQUEST_IMPL_DECLARES_H__
75 #ifndef AFW_REQUEST_INF_ONLY
76 #error "afw_request_impl_declares.h already included."
77 #endif
78 #endif
79 #ifndef __AFW_REQUEST_IMPL_DECLARES_H__
80 #ifdef AFW_REQUEST_INF_ONLY
81 #error "afw_request_impl_declares.h must be included before AFW_REQUEST_INF_ONLY."
82 #endif
83 #define __AFW_REQUEST_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_REQUEST_INF_ONLY
97 
98 #ifndef impl_afw_request_release
99 /* Declare method release */
100 AFW_DECLARE_STATIC(void)
101 impl_afw_request_release(
102  const afw_request_t * instance,
103  afw_xctx_t * xctx);
104 #endif
105 
106 #ifndef impl_afw_request_set_error_info
107 /* Declare method set_error_info */
108 AFW_DECLARE_STATIC(void)
109 impl_afw_request_set_error_info(
110  const afw_request_t * instance,
111  const afw_object_t * error_info,
112  afw_xctx_t * xctx);
113 #endif
114 
115 #ifndef impl_afw_request_read_raw_request_body
116 /* Declare method read_raw_request_body */
117 AFW_DECLARE_STATIC(void)
118 impl_afw_request_read_raw_request_body(
119  const afw_request_t * instance,
120  afw_size_t buffer_size,
121  void * buffer,
122  afw_size_t * size,
123  afw_boolean_t * more_to_read,
124  afw_xctx_t * xctx);
125 #endif
126 
127 #ifndef impl_afw_request_set_response_status_code
128 /* Declare method set_response_status_code */
129 AFW_DECLARE_STATIC(void)
130 impl_afw_request_set_response_status_code(
131  const afw_request_t * instance,
132  const afw_utf8_t * code,
133  const afw_utf8_t * reason,
134  afw_xctx_t * xctx);
135 #endif
136 
137 #ifndef impl_afw_request_write_response_header
138 /* Declare method write_response_header */
139 AFW_DECLARE_STATIC(void)
140 impl_afw_request_write_response_header(
141  const afw_request_t * instance,
142  const afw_utf8_t * name,
143  const afw_utf8_t * value,
144  afw_xctx_t * xctx);
145 #endif
146 
147 #ifndef impl_afw_request_write_raw_response_body
148 /* Declare method write_raw_response_body */
149 AFW_DECLARE_STATIC(void)
150 impl_afw_request_write_raw_response_body(
151  const afw_request_t * instance,
152  afw_size_t size,
153  const void * buffer,
154  afw_xctx_t * xctx);
155 #endif
156 
157 #ifndef impl_afw_request_flush_response
158 /* Declare method flush_response */
159 AFW_DECLARE_STATIC(void)
160 impl_afw_request_flush_response(
161  const afw_request_t * instance,
162  afw_xctx_t * xctx);
163 #endif
164 
165 #ifndef impl_afw_request_finish_response
166 /* Declare method finish_response */
167 AFW_DECLARE_STATIC(void)
168 impl_afw_request_finish_response(
169  const afw_request_t * instance,
170  afw_xctx_t * xctx);
171 #endif
172 #endif
173 
174 /* inf for interface afw_request */
175 #ifdef __BASE_FILE__
176 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
177 #else
178 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
179 #endif
180 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
181 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_request_inf_t)
182 #else
183 static const afw_request_inf_t
184 #endif
185 #ifdef AFW_IMPLEMENTATION_INF_LABEL
186 AFW_IMPLEMENTATION_INF_LABEL = {
187 #else
188 impl_afw_request_inf = {
189 #endif
190  {
191  AFW_UTF8_LITERAL("afw_request"),
192  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
193  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
194  _AFW_IMPLEMENTATION_SPECIFIC_
195  },
196  impl_afw_request_release,
197  impl_afw_request_set_error_info,
198  impl_afw_request_read_raw_request_body,
199  impl_afw_request_set_response_status_code,
200  impl_afw_request_write_response_header,
201  impl_afw_request_write_raw_response_body,
202  impl_afw_request_flush_response,
203  impl_afw_request_finish_response
204 };
205 
206 #undef _AFW_IMPLEMENTATION_ID_
207 #undef _AFW_IMPLEMENTATION_SPECIFIC_
208 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
209 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
_Bool afw_boolean_t
Definition: afw_common.h:373
apr_size_t afw_size_t
size_t.
Definition: afw_common.h:151
Interface afw_object public struct.
Interface afw_request_inf_s struct.
Interface afw_request public struct.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_xctx public struct.