theLink 10.0
Loading...
Searching...
No Matches
MqDumpC_rb.c
Go to the documentation of this file.
1
9/* LABEL-START */
10#define META_FILE_NAME "MqDumpC_rb.c"
11
13
14#define OT_CLASS NS(MqDumpC)
15#define OT_CLASS_NAME "MqDumpC"
16
17#define OT_LNG2META(O) MqDmp(VAL2MNG(O))
18
20
21// new Class type object
22static MK_TYP MqDumpCTT = NULL;
24
25// GS marker in "Data_Wrap_Struct"
26static void NS(sMark) (MK_PTR);
27
28// ruby datatype of the wrapped struct
29static rb_data_type_t NS(MqDumpC_T) = {
30 "MqDumpC",
31 {
32 NS(sMark),
33 MK(AtomDeleteSoft),
34 0, /* dsize */
35 0, /* reserved[1] */
36 },
37 NULL, /* parent */
38 NULL, /* data */
39 RUBY_TYPED_FREE_IMMEDIATELY
40};
41
42// >>THIS<< is a Phase-1-CONSTRUCTOR: a constructor which create the SELF object
43// A Phase-2-CONSTRUCTOR is a constructor which configure an already existing object
44// DO: create a new SELF and link this SELF with the MQ-Object "mng"
45// clazz is the toplevel "subclass" or "MqDumpC"
46mk_inline OT_OBJ_T NS(LNG_CONSTR) (OT_CLS_T clazz, MK_MNG mng, int objc, VALUE* objv) {
47 return MK(AtomObjCrt)(clazz,&NS(MqDumpC_T),mng,objc,objv);
48}
49// MQ: ObjNew feature: called to return a new or an already existing RUBY-SELF-Object
50// -> moved to: msgque_rb.h
51// OT_OBJ_T NS(MqDumpC_ObjNew) (MK_DMP hdl) {
52// return MK(AtomObjNew) (MqDumpC_X2obj(hdl));
53// }
54// MQ: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
55static MK_PTR NS(MqDumpC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
56 OT_OBJ_T self = NS(LNG_CONSTR) (OT_CLASS, obj, 0, NULL);
57 return VAL2PTR(self);
58}
59// MQ: called on instance-destruction for a "selfCreate" instance → goal: destroy the SELF
60static void NS(MqDumpC_selfDelete) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
62}
63// MQ: called to destroy link from SELF to META
64static void NS(MqDumpC_selfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
65 OT_OBJ_T self = PTR2VAL(ptr);
66 RDATA(self)->data = NULL;
67}
68// initialize the RUBY and MO class specific object
69#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
70static void NS(sInit)(MK_RT_ARGS_ONLY) {
71
72 // add "selfCreate" and "selfDelete" feature to the MQ-MqDumpC-Type
73 MqDumpCTT->selfCreate = NS(MqDumpC_selfCreate);
74 MqDumpCTT->selfDelete = NS(MqDumpC_selfDelete);
75 MqDumpCTT->selfUnlink = NS(MqDumpC_selfUnlink);
76
77 // create the RUBY class
78 OT_CLASS = rb_define_class_under(OT_PKG, "MqDumpC", MK_BASE_CLASS);
79 rb_undef_alloc_func(OT_CLASS);
80
81 /* define the "NULL" object */
82 VALUE nullO = TypedData_Wrap_Struct (OT_CLASS, &NS(MqDumpC_T), MK_NULL);
83 NS(MqDumpC_MK_NULL) = nullO;
85}
86
87#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(MqDumpC);
88#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(MqDumpC);
89#define OT_SETUP_hdl_constr AllRtSetup_NULL; \
90 OT_OBJ_T clazz = self; \
91 MqDumpC_type hdl = (MqDumpC_type) &MkERROR;
92#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(MqDumpC);
93#define OT_SETUP_hdl_static AllRtSetup_NULL; \
94 __attribute__((unused)) MK_TYP hdl = MqDumpC##_TT;
95#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
96
97#if !defined(SetupRtFromObj_X)
98 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
99 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
100#endif
101
102/* LABEL-END */
103
109
110// BEGIN-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
111
112// doc-key: MqDumpC,MqDump,sCi,func
113#define Error_doc "MqDumpC MqDumpC.Error(error:MqContextC, ?dumpP_inout:MqDumpC=nil?)"
114#define Export_doc "MqDumpC MqDumpC.Export(ctx:MqContextC, ?dumpP_inout:MqDumpC=nil?)"
115#define new_doc "MqDumpC MqDumpC.new(ctx:MqContextC, ?dumpP_inout:MqDumpC=nil?)"
116
117// doc-key: MqDumpC,MqDump,sCo,func
118#define BinSet_doc "MqDumpC MqDumpC.BinSet(data:binary)"
119
120// doc-key: MqDumpC,MqDump,sc_,func
121#define GetNull_doc "MqDumpC MqDumpC.GetNull()"
122#define HandleResolve_doc "MqDumpC MqDumpC.HandleResolve(netHdl:MK_HDL)"
123#define Instances_doc "MqDumpC MqDumpC.Instances()"
124
125// doc-key: MqDumpC,MqDump,oc_,func
126#define Next_doc "MqDumpC dmp.Next()"
127#define Prev_doc "MqDumpC dmp.Prev()"
128
129// doc-key: MqDumpC,MqDump,om_,func
130#define BinGet_doc "binary dump.BinGet() (const)"
131// skip class-overload: HandleGet → MkObjectHandleGet
132#define Import_doc "dump.Import(ctx:MqContextC)"
133// skip class-overload: Log → MkObjectLog
134#define SizeGet_doc "long dump.SizeGet() (const)"
135#define TokenGet_doc "string dump.TokenGet() (const)"
136
137// END-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
138
144
145// BEGIN-MqDumpC - created by 'rb_MqC.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
146
150
151// doc-key: MqDumpC,MqDumpC-Class-Export,sc_
152
154static OT_ProcRet NS(MqDumpC_HandleResolve) (OtClass_ARGS) {
157 MK_HDL netHdl = 0;
160 MQ_DMP retVal = MqDumpHandleResolve (netHdl);
161 OT_retObj_SET_DMP(retVal);
162 end: MK_UNUSED /* LONG JUMP on error */
164}
165
166// doc-key: MqDumpC,MqDumpC-Class-Export,om_
167
168// skip on class-overload: MqDumpHandleGet → MkObjectHandleGet
170static OT_ProcRet NS(MqDumpC_HandleGet) (MqDumpC_ARGS) {OT_ERROR_LNG_RETURN;}
171
173// MqDumpC_Class_RB_API
174
178
179// doc-key: MqDumpC,MqDumpC-Class-Introspection,oc_
180
182static OT_ProcRet NS(MqDumpC_Next) (MqDumpC_ARGS) {
186 MQ_DMP retVal = MqDumpNext (hdl);
187 OT_retObj_SET_DMP(retVal);
188 end: MK_UNUSED /* LONG JUMP on error */
190}
191
193static OT_ProcRet NS(MqDumpC_Prev) (MqDumpC_ARGS) {
197 MQ_DMP retVal = MqDumpPrev (hdl);
198 OT_retObj_SET_DMP(retVal);
199 end: MK_UNUSED /* LONG JUMP on error */
201}
202
203// doc-key: MqDumpC,MqDumpC-Class-Introspection,sc_
204
206static OT_ProcRet NS(MqDumpC_Instances) (OtClass_ARGS) {
210 MQ_DMP retVal = MqDumpInstances ();
211 OT_retObj_SET_DMP(retVal);
212 end: MK_UNUSED /* LONG JUMP on error */
214}
215
217// MqDumpC_Class_RB_API
218
222
223// doc-key: MqDumpC,MqDumpC-Class-Misc,sc_
224
226static OT_ProcRet NS(MqDumpC_GetNull) (OtClass_ARGS) {
230 MQ_DMP retVal = MqDumpGetNull ();
231 OT_retObj_SET_DMP(retVal);
232 end: MK_UNUSED /* LONG JUMP on error */
234}
235
237// MqDumpC_Class_RB_API
238
242
243// doc-key: MqDumpC,MqDumpC-Misc,om_
244
245// skip on class-overload: MqDumpLog → MkObjectLog
248
250static OT_ProcRet NS(MqDumpC_SizeGet) (MqDumpC_ARGS) {
255 end: MK_UNUSED /* LONG JUMP on error */
257}
258
260static OT_ProcRet NS(MqDumpC_TokenGet) (MqDumpC_ARGS) {
265 end: MK_UNUSED /* LONG JUMP on error */
267}
268
270// MqDumpC_Misc_RB_API
271
275
276// doc-key: MqDumpC,MqDumpC-TOR,sCi
277
279static OT_ProcRet NS(MqDumpC_Error) (OtClass_ARGS) {
282 MQ_CTX error = 0;
284 MQ_DMP dumpP_inout = NULL;
287 MkErrorC_Check(error,MqDumpError (error, &dumpP_inout));
288 OT_retObj_SET_DMP(dumpP_inout);
289 end: MK_UNUSED /* LONG JUMP on error */
291}
292
294static OT_ProcRet NS(MqDumpC_Export) (OtClass_ARGS) {
297 MQ_CTX ctx = 0;
299 MQ_DMP dumpP_inout = NULL;
302 MkErrorC_Check(ctx,MqDumpExport (ctx, &dumpP_inout));
303 OT_CONSTRUCTOR_POST(dumpP_inout)
304 OT_retObj_SET_DMP(dumpP_inout);
305 end: MK_UNUSED /* LONG JUMP on error */
307}
308
310static OT_ProcRet NS(MqDumpC_new) (CONSTR_ARGS) {
313 MQ_CTX ctx = 0;
315 MQ_DMP dumpP_inout = NULL;
317 MkErrorC_Check(ctx,MqDumpExport (ctx, &dumpP_inout));
318 OT_CONSTRUCTOR_POST(dumpP_inout)
319 OT_retObj_CONSTR(dumpP_inout);
320 end: MK_UNUSED /* LONG JUMP on error */
322}
323
324// doc-key: MqDumpC,MqDumpC-TOR,sCo
325
327static OT_ProcRet NS(MqDumpC_BinSet) (OtClass_ARGS) {
330 MkBinaryR data = {0};
333 MQ_DMP dmp_out;
335 OT_retObj_SET_DMP(dmp_out);
336 end: MK_UNUSED /* LONG JUMP on error */
338}
339
340// doc-key: MqDumpC,MqDumpC-TOR,om_
341
343static OT_ProcRet NS(MqDumpC_BinGet) (MqDumpC_ARGS) {
347 MkBinaryR retVal = MqDumpBinGet (hdl);
349 end: MK_UNUSED /* LONG JUMP on error */
351}
352
354static OT_ProcRet NS(MqDumpC_Import) (MqDumpC_ARGS) {
357 MQ_CTX ctx = 0;
360 MkErrorC_Check(hdl,MqDumpImport (hdl, ctx));
362 end: MK_UNUSED /* LONG JUMP on error */
364}
365
367// MqDumpC_TOR_RB_API
368
369// END-MqDumpC - created by 'rb_MqC.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
370
371/*****************************************************************************/
372/* */
373/* public */
374/* */
375/*****************************************************************************/
376
377static void NS(sMark) (MK_PTR mng) {
378}
379
380void NS(MqDumpC_Init) (MQ_RT_ARGS_ONLY) {
381
382 // init type
384 S_INIT;
385
386// BEGIN-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
387
388// doc-key: MqDumpC,MqDump,sCi
389OT_METH_S ( MqDumpC, Error, MqDumpC_Error )
390OT_METH_S ( MqDumpC, Export, MqDumpC_Export )
391OT_METH_C ( MqDumpC, new, MqDumpC_new )
392
393// doc-key: MqDumpC,MqDump,sCo
394OT_METH_S ( MqDumpC, BinSet, MqDumpC_BinSet )
395
396// doc-key: MqDumpC,MqDump,sc_
397OT_METH_O ( MqDumpC, GetNull, MqDumpC_GetNull )
398OT_METH_S ( MqDumpC, GetNull, MqDumpC_GetNull )
399OT_METH_O ( MqDumpC, HandleResolve, MqDumpC_HandleResolve )
400OT_METH_S ( MqDumpC, HandleResolve, MqDumpC_HandleResolve )
401OT_METH_O ( MqDumpC, Instances, MqDumpC_Instances )
402OT_METH_S ( MqDumpC, Instances, MqDumpC_Instances )
403
404// END-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
405
406// BEGIN-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
407
408// doc-key: MqDumpC,MqDump,oc_
409OT_METH_O ( MqDumpC, Next, MqDumpC_Next )
410OT_METH_O ( MqDumpC, Prev, MqDumpC_Prev )
411
412// doc-key: MqDumpC,MqDump,om_
413OT_METH_O ( MqDumpC, BinGet, MqDumpC_BinGet )
414// skip class-overload: MqDumpHandleGet → HandleGet, MqDumpC_HandleGet
415OT_METH_O ( MqDumpC, Import, MqDumpC_Import )
416// skip class-overload: MqDumpLog → Log, MqDumpC_Log
417OT_METH_O ( MqDumpC, SizeGet, MqDumpC_SizeGet )
418OT_METH_O ( MqDumpC, TokenGet, MqDumpC_TokenGet )
419
420// END-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
421}
#define MK(n)
#define OT_SETUP_VARARGS(min, max, d)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
#define OT_ERROR_LNG_RETURN
#define PTR2VAL(nat)
#define OT_CONSTRUCTOR_POST(x)
#define OT_METH_S(c, s, f)
#define MK_BASE_CLASS
#define OT_CLS_T
#define OT_retObj_SET_LONG(nat)
#define OT_retObj_CONSTR(mng)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_METH_O(c, s, f)
#define OT_SETUP_CONSTRUCTOR_ARGS(min, max, d)
#define INCR_REF(valP)
#define OT_OBJ_T
#define OT_GET__ME_REF_MkBinaryR(b)
#define OT_retObj_RETURN
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_OBJECT_DELETE_HARD(obj)
#define OT_retObj_SET_STR(nat)
#define OT_CHECK_OPTIONAL(val)
#define OT_retObj_SET(val)
#define VAL2PTR(val)
#define OT_CHECK_NOARGS
#define MkErrorC_Check(mng, PROC)
#define OT_ProcRet
#define OT_METH_C(c, s, f)
#define CONSTR_ARGS
#define OtClass_ARGS
tag: nhi1-release-250425
#define OT_PKG
#define MQ(n)
#define NS(n)
#define MqDumpC_ARGS
#define MqDumpC_MK_NULL
#define OT_retObj_SET_DMP(nat)
#define Instances_doc
Definition MqDumpC_rb.c:123
#define Import_doc
Definition MqDumpC_rb.c:132
#define OT_SETUP_hdl_static_constr
Definition MqDumpC_rb.c:95
static MK_TYP MqDumpCTT
Definition MqDumpC_rb.c:22
#define OT_SETUP_hdl
Definition MqDumpC_rb.c:87
#define GetNull_doc
Definition MqDumpC_rb.c:121
#define Next_doc
Definition MqDumpC_rb.c:126
#define Error_doc
Definition MqDumpC_rb.c:113
#define HandleResolve_doc
Definition MqDumpC_rb.c:122
#define Prev_doc
Definition MqDumpC_rb.c:127
#define OT_CLASS
Definition MqDumpC_rb.c:14
#define OT_SETUP_hdl_static
Definition MqDumpC_rb.c:93
#define OT_SETUP_hdl_constr
Definition MqDumpC_rb.c:89
#define Export_doc
Definition MqDumpC_rb.c:114
#define SizeGet_doc
Definition MqDumpC_rb.c:134
#define new_doc
Definition MqDumpC_rb.c:115
#define TokenGet_doc
Definition MqDumpC_rb.c:135
#define S_INIT
Definition MqDumpC_rb.c:69
#define BinSet_doc
Definition MqDumpC_rb.c:118
#define BinGet_doc
Definition MqDumpC_rb.c:130
#define MK_ERROR_FORMAT
#define mk_inline
#define MK_NULL_NO
#define MK_NULL_YES
#define MK_UNUSED
#define MK_NULL
#define MK_DEPRECATED
MK_PTRB * MK_PTR
MK_PTRB * MK_MNG
int32_t MK_HDL
#define MK_RT_ARGS
#define MK_RT_ARGS_ONLY
#define MqDumpHandleResolve(...)
static MQ_DMP MqDumpGetNull(void)
Null-Slot - return a MqDumpC typed NULL instance …
#define MqDumpInstances()
static MQ_DMP MqDumpNext(MQ_DMP const dmp)
get next instance from linked-list of MqDumpS type
static MQ_DMP MqDumpPrev(MQ_DMP const dmp)
get previous instance from linked-list of MqDumpS type
#define MqDumpC_T
class as MkTypeDefS-class-type, useable in a class-macro as: class##_T …
#define MqDumpC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
MK_STRN MqDumpTokenGet(MQ_DMPN const dump)
return the MqContextC_ServiceApi_Identifer …
MK_SIZE MqDumpSizeGet(MQ_DMPN const dump)
report the binary data size from an MqDumpS object
#define MqDumpError(...)
#define MqDumpExport(...)
#define MqDumpBinSet(...)
#define MqDumpImport(...)
MkBinaryR MqDumpBinGet(MQ_DMPN const dump)
export the binary data from an MqDumpS object
#define MQ_RT_ARGS_ONLY
MK_OBJ const obj
Definition high_lng.h:136
goto error
Definition high_lng.h:251
MK_STRN ptr
Definition high_lng.h:130
#define OT_CHECK_NIH(val)
#define OT_CHECK_CTX(val, nullB)
#define OT_CHECK_DMP(val, nullB)
MkSelfUnlinkF selfUnlink
MkSelfDeleteF selfDelete
MkSelfCreateF selfCreate
PUBLIC data structure for the rbmqmsgque-specific-data
MqDumpC - the class known as dmp or dump is used to export a rbmqmsgque data package as binary …