Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_writer_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_WRITER_IMPL_DECLARES_H__
75 #ifndef AFW_WRITER_INF_ONLY
76 #error "afw_writer_impl_declares.h already included."
77 #endif
78 #endif
79 #ifndef __AFW_WRITER_IMPL_DECLARES_H__
80 #ifdef AFW_WRITER_INF_ONLY
81 #error "afw_writer_impl_declares.h must be included before AFW_WRITER_INF_ONLY."
82 #endif
83 #define __AFW_WRITER_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_WRITER_INF_ONLY
97 
98 #ifndef impl_afw_writer_release
99 /* Declare method release */
100 AFW_DECLARE_STATIC(void)
101 impl_afw_writer_release(
102  const afw_writer_t * instance,
103  afw_xctx_t * xctx);
104 #endif
105 
106 #ifndef impl_afw_writer_flush
107 /* Declare method flush */
108 AFW_DECLARE_STATIC(void)
109 impl_afw_writer_flush(
110  const afw_writer_t * instance,
111  afw_xctx_t * xctx);
112 #endif
113 
114 #ifndef impl_afw_writer_write
115 /* Declare method write */
116 AFW_DECLARE_STATIC(void)
118  const afw_writer_t * instance,
119  const void * buffer,
120  afw_size_t size,
121  afw_xctx_t * xctx);
122 #endif
123 
124 #ifndef impl_afw_writer_write_eol
125 /* Declare method write_eol */
126 AFW_DECLARE_STATIC(void)
128  const afw_writer_t * instance,
129  afw_xctx_t * xctx);
130 #endif
131 
132 #ifndef impl_afw_writer_increment_indent
133 /* Declare method increment_indent */
134 AFW_DECLARE_STATIC(void)
135 impl_afw_writer_increment_indent(
136  const afw_writer_t * instance,
137  afw_xctx_t * xctx);
138 #endif
139 
140 #ifndef impl_afw_writer_decrement_indent
141 /* Declare method decrement_indent */
142 AFW_DECLARE_STATIC(void)
143 impl_afw_writer_decrement_indent(
144  const afw_writer_t * instance,
145  afw_xctx_t * xctx);
146 #endif
147 #endif
148 
149 /* inf for interface afw_writer */
150 #ifdef __BASE_FILE__
151 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __BASE_FILE__
152 #else
153 #define _AFW_IMPLEMENTATION_SOURCE_FILE_ __FILE__
154 #endif
155 #ifdef AFW_IMPLEMENTATION_INF_SPECIFIER
156 AFW_IMPLEMENTATION_INF_SPECIFIER(afw_writer_inf_t)
157 #else
158 static const afw_writer_inf_t
159 #endif
160 #ifdef AFW_IMPLEMENTATION_INF_LABEL
161 AFW_IMPLEMENTATION_INF_LABEL = {
162 #else
163 impl_afw_writer_inf = {
164 #endif
165  {
166  AFW_UTF8_LITERAL("afw_writer"),
167  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_SOURCE_FILE_),
168  AFW_UTF8_LITERAL(_AFW_IMPLEMENTATION_ID_),
169  _AFW_IMPLEMENTATION_SPECIFIC_
170  },
171  impl_afw_writer_release,
172  impl_afw_writer_flush,
175  impl_afw_writer_increment_indent,
176  impl_afw_writer_decrement_indent
177 };
178 
179 #undef _AFW_IMPLEMENTATION_ID_
180 #undef _AFW_IMPLEMENTATION_SPECIFIC_
181 #undef _AFW_IMPLEMENTATION_SOURCE_FILE_
182 
#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_writer_write(const afw_writer_t *instance, const void *buffer, afw_size_t size, afw_xctx_t *xctx)
impl_afw_writer_write_eol(const afw_writer_t *instance, afw_xctx_t *xctx)
Interface afw_writer_inf_s struct.
Interface afw_writer public struct.
Interface afw_xctx public struct.