theLink 10.0
Loading...
Searching...
No Matches
LibMqMsgque_atl.h
Go to the documentation of this file.
1
9#pragma once
10
12#include "LibMqMsgque_mq.h"
13#include "tmpl/mq_type_S_lng.h"
14
15/*****************************************************************************/
16/* */
17/* Macro_API */
18/* */
19/*****************************************************************************/
20
21// BEGIN-HEADER - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
22
23#undef HEADER
24#define HEADER
25
26// If the source of libmqmsgque is direct used in an external library
27// (without dynamic linking) and this library should *not* export
28// the symbol's of libmqmsgque then the flag META_IGNORE_EXTERN have
29// to be set
30#undef MQ_ATL_EXTERN
31#if defined(META_IGNORE_EXTERN)
32# define MQ_ATL_EXTERN
33#elif defined(PIC)
34 // does we build a DLL ?
35# if defined(DLL_EXPORT)
36 // does we build the libmqmsgque library ?
37# if defined(MQ_ATL_BUILD_DLL)
38# define MQ_ATL_EXTERN __declspec(dllexport)
39# else
40# define MQ_ATL_EXTERN __declspec(dllimport)
41# endif
42# else
43 // no DLL - architecture specific extern specifier
44# define MQ_ATL_EXTERN __attribute__ ((visibility("default")))
45# endif
46#else
48# define MQ_ATL_EXTERN
49#endif
50
51// external data lookup
52#undef MQ_ATL_EXTERN_DATA
53#if defined(META_PRIVATE)
54# define MQ_ATL_EXTERN_DATA extern
55#elif defined(META_IGNORE_EXTERN)
56# define MQ_ATL_EXTERN_DATA extern
57#elif defined(PIC)
58 // does we build a DLL ?
59# if defined(DLL_EXPORT)
60 // does we build the libmqmsgque library ?
61# if defined(MQ_ATL_BUILD_DLL)
62# define MQ_ATL_EXTERN_DATA __declspec(dllexport)
63# else
64# define MQ_ATL_EXTERN_DATA __declspec(dllimport)
65# endif
66# else
67 // no DLL - architecture specific extern specifier
68# define MQ_ATL_EXTERN_DATA __attribute__ ((visibility("default"))) extern
69# endif
70#else
71# define MQ_ATL_EXTERN_DATA extern
72#endif
73
74#undef MQ
75#define MQ(n) atlmqmsgque_ ## n
76#undef NS
77#define NS(n) atlmqmsgque_ ## n
78
79// END-HEADER - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
80
81// BEGIN-Class-def - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
82
83#define MqContextC_ARGS OBJECT_ARGS
84#define MqContextC_ARGS_CALL OBJECT_ARGS_CALL
85#define MqDumpC_ARGS OBJECT_ARGS
86#define MqDumpC_ARGS_CALL OBJECT_ARGS_CALL
87#define MqFactoryC_ARGS OBJECT_ARGS
88#define MqFactoryC_ARGS_CALL OBJECT_ARGS_CALL
89
90// END-Class-def - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
91
92/*****************************************************************************/
93/* */
94/* check */
95/* */
96/*****************************************************************************/
97
99
100// LNG ******************************************************************************
101// MARK_R
102
103#define OT_MQ_RT_SIG 0x22514966
104
105typedef struct {
107// OT_MK_RT_StatusE status;
112
113 #define regTclObj(t) OT_OBJ_T t;
114 #define regTclObj2(t,v) OT_OBJ_T t;
115 #define regTclCmd(t) OT_OBJ_T t;
116 #define regTclArray(m,t) OT_OBJ_T t[m];
118 #undef regTclArray
119 #undef regTclCmd
120 #undef regTclObj
121 #undef regTclObj2
122
123 // BEGIN-CLASS-rt - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
124
137
138 // END-CLASS-rt - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
139
140} OT_MQ_RT_S;
142
144
145#define OT_MQ_ARGS OT_MQ_RT_T amqrt, OT_MK_RT_T amkrt, OT_ENV_T interp, MK_RT_ARGS
146#define OT_MQ_CALL amqrt, amkrt, interp, MK_RT_CALL
147
148#define SETUP_amqrt_2(r) MK_UNUSED OT_MQ_RT_T amqrt = (r) ? (r) : &amqrtR; \
149 assert(amqrt && amqrt->signature == OT_MQ_RT_SIG); \
150 MK_UNUSED OT_MK_RT_T amkrt = amqrt->amkrt; \
151 assert(amkrt && amkrt->signature == OT_MK_RT_SIG); \
152 MK_UNUSED OT_ENV_T interp = amqrt->interp; \
153 MK_UNUSED MOX_RT_T moxrt = amkrt->moxrt; \
154 assert(moxrt && moxrt->signature == MOX_RT_SIG);
155
156#define SETUP_amqrt(r) MqRtSetup_NULL; \
157 SETUP_amqrt_2(r)
158
159/*****************************************************************************/
160/* */
161/* Class_API */
162/* */
163/*****************************************************************************/
164
165 // BEGIN-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
166
167 // ----------------------------------------------------------------------
168 // class: MqContextC
169
170 #define MqContextC_rt (*amqrt)
171 #define MqContextC_lngO (MqContextC_rt.AtlMqContextC)
172 #undef MqContextCTT
173 #define MqContextCTT (MqContextC_rt.AtlMqContextCTT)
174
175 int MQ(pMqContextC_Init) (OT_MQ_ARGS OT_NS_T);
176
177 #define MqContextC_ObjNew(nat) MQ(MqContextC_ObjNew) (OT_MQ_CALL nat)
178 #define OT_TMP_CTX_OBJ(nat) MqContextC_ObjNew (nat)
179 #define OT_retObj_SET_CTX(nat) retObj = MqContextC_ObjNew (nat)
180
183 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqContextC_X2obj(hdl), amqrt) : MqContextC_rt.AtlMqContextC_MK_NULL );
184 }
185
186 // ----------------------------------------------------------------------
187 // class: MqDumpC
188
189 #define MqDumpC_rt (*amqrt)
190 #define MqDumpC_lngO (MqDumpC_rt.AtlMqDumpC)
191 #undef MqDumpCTT
192 #define MqDumpCTT (MqDumpC_rt.AtlMqDumpCTT)
193
194 int MQ(pMqDumpC_Init) (OT_MQ_ARGS OT_NS_T);
195
196 #define MqDumpC_ObjNew(nat) MQ(MqDumpC_ObjNew) (OT_MQ_CALL nat)
197 #define OT_TMP_DMP_OBJ(nat) MqDumpC_ObjNew (nat)
198 #define OT_retObj_SET_DMP(nat) retObj = MqDumpC_ObjNew (nat)
199
202 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqDumpC_X2obj(hdl), amqrt) : MqDumpC_rt.AtlMqDumpC_MK_NULL );
203 }
204
205 // ----------------------------------------------------------------------
206 // class: MqFactoryC
207
208 #define MqFactoryC_rt (*amqrt)
209 #define MqFactoryC_lngO (MqFactoryC_rt.AtlMqFactoryC)
210 #undef MqFactoryCTT
211 #define MqFactoryCTT (MqFactoryC_rt.AtlMqFactoryCTT)
212
213 int MQ(pMqFactoryC_Init) (OT_MQ_ARGS OT_NS_T);
214
215 #define MqFactoryC_ObjNew(nat) MQ(MqFactoryC_ObjNew) (OT_MQ_CALL nat)
216 #define OT_TMP_FCT_OBJ(nat) MqFactoryC_ObjNew (nat)
217 #define OT_retObj_SET_FCT(nat) retObj = MqFactoryC_ObjNew (nat)
218
221 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqFactoryC_X2obj(hdl), amqrt) : MqFactoryC_rt.AtlMqFactoryC_MK_NULL );
222 }
223
224 // END-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
225
226/*****************************************************************************/
227/* */
228/* types */
229/* */
230/*****************************************************************************/
231
232// \brief object to link the \libmqmsgque object with application specific data
233//
234// extra attributes: objectMy staticMy - both are cashes
235// struct TclContextS {
236// struct MqContextS mqctx; ///< link to the \libmqmsgque object
237// Tcl_Obj *my; ///< "my" command of "mqctx"
238// };
239
240/*****************************************************************************/
241/* */
242/* functions */
243/* */
244/*****************************************************************************/
245
246// from MqContextC_atl.c
247
250
251// from MqCall_atl.c
252
253void MK_DECL NS(ServiceFree) ( MQ_SERVICE_FREE_ARGS );
254void MK_DECL NS(ServiceCopy) ( MQ_SERVICE_COPY_ARGS );
255enum MkErrorE MK_DECL NS(ServiceCall) ( MQ_SERVICE_CALL_ARGS );
256
257/*****************************************************************************/
258/* */
259/* enum */
260/* */
261/*****************************************************************************/
262
263// BEGIN-enum - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
264
265MQ_ATL_EXTERN int MK_DECL MQ(Get_MqIdentE_FromObj)(MK_RT_ARGS OT_ENV_T interp, OT_OBJ_T enumE, enum MqIdentE *ret);
266#define Get_MqIdentE_FromObj_path MQ(Get_MqIdentE_FromObj)
267
268MQ_ATL_EXTERN int MK_DECL MQ(Get_MqSlaveE_FromObj)(MK_RT_ARGS OT_ENV_T interp, OT_OBJ_T enumE, enum MqSlaveE *ret);
269#define Get_MqSlaveE_FromObj_path MQ(Get_MqSlaveE_FromObj)
270
271MQ_ATL_EXTERN int MK_DECL MQ(Get_MqStartE_FromObj)(MK_RT_ARGS OT_ENV_T interp, OT_OBJ_T enumE, enum MqStartE *ret);
272#define Get_MqStartE_FromObj_path MQ(Get_MqStartE_FromObj)
273
274MQ_ATL_EXTERN int MK_DECL MQ(Get_MqStatusIsEF_FromObj)(MK_RT_ARGS OT_ENV_T interp, OT_OBJ_T enumE, enum MqStatusIsEF *ret);
275#define Get_MqStatusIsEF_FromObj_path MQ(Get_MqStatusIsEF_FromObj)
276
277MQ_ATL_EXTERN int MK_DECL MQ(Get_MqWaitOnEventE_FromObj)(MK_RT_ARGS OT_ENV_T interp, OT_OBJ_T enumE, enum MqWaitOnEventE *ret);
278#define Get_MqWaitOnEventE_FromObj_path MQ(Get_MqWaitOnEventE_FromObj)
279
280// END-enum - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
281
282// BEGIN-enum-tostring - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
283
284#define OT_NEW_Mq_enum_OBJ(typ,val) MQ(Mq ## typ ## _ToString(val))
285
287
289
291
293
295
296// END-enum-tostring - created by 'atl_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
297
298/*****************************************************************************/
299/* */
300/* inline functions */
301/* */
302/*****************************************************************************/
303
304#undef HEADER
tag: nhi1-release-250425
#define MK(n)
MOX_ENV_T OT_ENV_T
MOX_NS_T OT_NS_T
MOX_CLS_T OT_CLS_T
#define OT_MK_CALL
MOX_OBJ_T OT_OBJ_T
OT_MQ_RT_S * OT_MQ_RT_T
#define MqDumpC_ObjNew(nat)
#define MQ_ATL_EXTERN
static library
#define MqDumpC_rt
__thread OT_MQ_RT_S amqrtR
#define MqContextC_ObjNew(nat)
#define MQ(n)
#define MqContextC_rt
#define NS(n)
#define MqFactoryC_rt
#define MqFactoryC_ObjNew(nat)
#define MqContextC_ARGS
#define OT_MQ_ARGS
initialize the atlmqmsgque package
OT_ProcRet NS MqContextC_ReadLIST(MqContextC_ARGS)
OT_ProcRet NS MqContextC_ReadNEXT(MqContextC_ARGS)
#define MK_DECL
#define mk_inline
#define MK_ARTIFICIAL
MkErrorE
unsigned int MK_SIG
#define MkThreadLocal
#define MK_RT_ARGS
#define MqContextC_type
same as MqContextS but useable in a class-macro as: class##_type …
#define MqContextC_X2obj(x)
#define MQ_SERVICE_FREE_ARGS
the MqDataFreeF arguments with default names
#define MQ_SERVICE_CALL_ARGS
the MqTokenF arguments with default names
#define MQ_SERVICE_COPY_ARGS
the MqDataFreeF arguments with default names
#define MqDumpC_X2obj(x)
#define MqDumpC_type
same as MqDumpS but useable in a class-macro as: class##_type …
#define MqFactoryC_X2obj(x)
#define MqFactoryC_type
same as MqFactoryS but useable in a class-macro as: class##_type …
#define MQ_EXTERN_DATA
MK_STRN MqWaitOnEventE_ToString(enum MqWaitOnEventE value)
return the MqWaitOnEventE as string …
MqWaitOnEventE
wait for an event? …
MqSlaveE
predefined slave-id for well known slaves …
MK_STRN MqStatusIsEF_ToString(enum MqStatusIsEF value)
return the MqStatusIsEF as string …
MqIdentE
identify the application using prefix (default) or factory …
MK_STRN MqSlaveE_ToString(enum MqSlaveE value)
return the MqSlaveE as string …
MqStartE
User preferences on HOWTO start a new entity.
MqStatusIsEF
Information about how the context was created.
MK_STRN MqIdentE_ToString(enum MqIdentE value)
return the MqIdentE as string …
MK_STRN MqStartE_ToString(enum MqStartE value)
return the MqStartE as string …
tag: nhi1-release-250425
tag: nhi1-release-250425
Extend the MkRuntimeS wie atlmqmsgque specific features …
OT_CLS_T AtlMqDumpC
OT_OBJ_T AtlMqDumpC_MK_NULL
OT_CLS_T AtlMqContextC
OT_NS_T AtlMqFactoryC_NS
OT_OBJ_T AtlMqFactoryC_MK_NULL
MK_TYP AtlMqContextCTT
OT_NS_T AtlMqContextC_NS
MK_TYP AtlMqFactoryCTT
OT_ENV_T interp
MK_TYP AtlMqDumpCTT
OT_MK_RT_T amkrt
OT_CLS_T AtlMqFactoryC
OT_OBJ_T AtlMqContextC_MK_NULL
OT_NS_T AtlMqDumpC_NS