Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_stream_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_STREAM_IMPL_DECLARES_H__
75 #ifndef AFW_STREAM_INF_ONLY
76 #error "afw_stream_impl_declares.h already included."
77 #endif
78 #endif
79 #ifndef __AFW_STREAM_IMPL_DECLARES_H__
80 #ifdef AFW_STREAM_INF_ONLY
81 #error "afw_stream_impl_declares.h must be included before AFW_STREAM_INF_ONLY."
82 #endif
83 #define __AFW_STREAM_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_STREAM_INF_ONLY
97 
98 #ifndef impl_afw_stream_release
99 /* Declare method release */
100 AFW_DECLARE_STATIC(void)
101 impl_afw_stream_release(
102  const afw_stream_t * instance,
103  afw_xctx_t * xctx);
104 #endif
105 
106 #ifndef impl_afw_stream_flush
107 /* Declare method flush */
108 AFW_DECLARE_STATIC(void)
109 impl_afw_stream_flush(
110  const afw_stream_t * instance,
111  afw_xctx_t * xctx);
112 #endif
113 
114 #ifndef impl_afw_stream_read
115 /* Declare method read */
116 AFW_DECLARE_STATIC(void)
118  const afw_stream_t * instance,
119  const void * buffer,
120  afw_size_t size,
121  afw_xctx_t * xctx);
122 #endif
123 
124 #ifndef impl_afw_stream_write
125 /* Declare method write */
126 AFW_DECLARE_STATIC(void)
128  const afw_stream_t * instance,
129  const void * buffer,
130  afw_size_t size,
131  afw_xctx_t * xctx);
132 #endif
133 #endif
134 
135 /* inf for interface afw_stream */
136 #ifdef __BASE_FILE__
137 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
138 #else
139 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
140 #endif
141 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
142 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_stream_inf_t)
143 #else
144 static const afw_stream_inf_t
145 #endif
146 #ifdef AFW_IMPLEMENTATION_INF_LABEL
147 AFW_IMPLEMENTATION_INF_LABEL = {
148 #else
149 impl_afw_stream_inf = {
150 #endif
151  {
152  AFW_UTF8_LITERAL("afw_stream"),
153  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
154  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
155  _AFW_IMPLEMENTATION_SPECIFIC_
156  },
157  impl_afw_stream_release,
158  impl_afw_stream_flush,
161 };
162 
163 #undef _AFW_IMPLEMENTATION_ID_
164 #undef _AFW_IMPLEMENTATION_SPECIFIC_
165 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
166 
#define AFW_BEGIN_DECLARES
Interface afw_interface opaque typedefs.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
apr_size_t afw_size_t
size_t.
Definition: afw_common.h:151
impl_afw_stream_write(const afw_stream_t *instance, const void *buffer, afw_size_t size, afw_xctx_t *xctx)
impl_afw_stream_read(const afw_stream_t *instance, const void *buffer, afw_size_t size, afw_xctx_t *xctx)
Interface afw_stream_inf_s struct.
Interface afw_stream public struct.
Interface afw_xctx public struct.