theLink 10.0
Loading...
Searching...
No Matches
MqFactoryC_rb.c
Go to the documentation of this file.
1
9/* LABEL-INIT */
10
11#define SetupRtFromObj(hd) AllRtSetup_NULL
12
13/* LABEL-START */
14#define META_FILE_NAME "MqFactoryC_rb.c"
15
17
18#define OT_CLASS NS(MqFactoryC)
19#define OT_CLASS_NAME "MqFactoryC"
20
21#define OT_LNG2META(O) MqFct(VAL2MNG(O))
22
24
25// new Class type object
26static MK_TYP MqFactoryCTT = NULL;
28
29// GS marker in "Data_Wrap_Struct"
30static void NS(sMark) (MK_PTR);
31
32// ruby datatype of the wrapped struct
33static rb_data_type_t NS(MqFactoryC_T) = {
34 "MqFactoryC",
35 {
36 NS(sMark),
37 MK(AtomDeleteSoft),
38 0, /* dsize */
39 0, /* reserved[1] */
40 },
41 NULL, /* parent */
42 NULL, /* data */
43 RUBY_TYPED_FREE_IMMEDIATELY
44};
45
46// >>THIS<< is a Phase-1-CONSTRUCTOR: a constructor which create the SELF object
47// A Phase-2-CONSTRUCTOR is a constructor which configure an already existing object
48// DO: create a new SELF and link this SELF with the MQ-Object "mng"
49// clazz is the toplevel "subclass" or "MqFactoryC"
50mk_inline OT_OBJ_T NS(LNG_CONSTR) (OT_CLS_T clazz, MK_MNG mng, int objc, VALUE* objv) {
51 return MK(AtomObjCrt)(clazz,&NS(MqFactoryC_T),mng,objc,objv);
52}
53// MQ: ObjNew feature: called to return a new or an already existing RUBY-SELF-Object
54// -> moved to: msgque_rb.h
55// OT_OBJ_T NS(MqFactoryC_ObjNew) (MK_FCT hdl) {
56// return MK(AtomObjNew) (MqFactoryC_X2obj(hdl));
57// }
58// MQ: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
59static MK_PTR NS(MqFactoryC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
60 OT_OBJ_T self = NS(LNG_CONSTR) (OT_CLASS, obj, 0, NULL);
61 return VAL2PTR(self);
62}
63// MQ: called on instance-destruction for a "selfCreate" instance → goal: destroy the SELF
64static void NS(MqFactoryC_selfDelete) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
66}
67// MQ: called to destroy link from SELF to META
68static void NS(MqFactoryC_selfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
69 OT_OBJ_T self = PTR2VAL(ptr);
70 RDATA(self)->data = NULL;
71}
72// initialize the RUBY and MO class specific object
73#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
74static void NS(sInit)(MK_RT_ARGS_ONLY) {
75
76 // add "selfCreate" and "selfDelete" feature to the MQ-MqFactoryC-Type
77 MqFactoryCTT->selfCreate = NS(MqFactoryC_selfCreate);
78 MqFactoryCTT->selfDelete = NS(MqFactoryC_selfDelete);
79 MqFactoryCTT->selfUnlink = NS(MqFactoryC_selfUnlink);
80
81 // create the RUBY class
82 OT_CLASS = rb_define_class_under(OT_PKG, "MqFactoryC", MK_BASE_CLASS);
83 rb_undef_alloc_func(OT_CLASS);
84
85 /* define the "NULL" object */
86 VALUE nullO = TypedData_Wrap_Struct (OT_CLASS, &NS(MqFactoryC_T), MK_NULL);
87 NS(MqFactoryC_MK_NULL) = nullO;
89}
90
91#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(MqFactoryC);
92#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(MqFactoryC);
93#define OT_SETUP_hdl_constr AllRtSetup_NULL; \
94 OT_OBJ_T clazz = self; \
95 MqFactoryC_type hdl = (MqFactoryC_type) &MkERROR;
96#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(MqFactoryC);
97#define OT_SETUP_hdl_static AllRtSetup_NULL; \
98 __attribute__((unused)) MK_TYP hdl = MqFactoryC##_TT;
99#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
100
101#if !defined(SetupRtFromObj_X)
102 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
103 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
104#endif
105
106/* LABEL-END */
107
113
114// BEGIN-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
115
116// doc-key: MqFactoryC,MqFactory,sCc,func
117#define Add_doc "MqFactoryC MqFactoryC.Add(constructor:class, ?ident:string=\"MK_NULL\"?)"
118#define new_doc "MqFactoryC MqFactoryC.new(constructor:class, ?ident:string=\"MK_NULL\"?)"
119
120// doc-key: MqFactoryC,MqFactory,sc_,func
121#define Get_doc "MqFactoryC MqFactoryC.Get(?ident:string=\"\"?)"
122#define GetCalled_doc "MqFactoryC MqFactoryC.GetCalled(?ident:string=\"\"?)"
123#define GetCalledL_doc "MqFactoryC MqFactoryC.GetCalledL(largs:MkBufferListC)"
124#define GetNull_doc "MqFactoryC MqFactoryC.GetNull()"
125#define HandleResolve_doc "MqFactoryC MqFactoryC.HandleResolve(netHdl:MK_HDL)"
126#define Instances_doc "MqFactoryC MqFactoryC.Instances()"
127
128// doc-key: MqFactoryC,MqFactory,sm_,func
129#define DefaultIdent_doc "string MqFactoryC.DefaultIdent()"
130#define InitialIdent_doc "string MqFactoryC.InitialIdent()"
131#define LogAll_doc "MqFactoryC.LogAll(?callfunc:string=\"MK_NULL\"?)"
132
133// doc-key: MqFactoryC,MqFactory,oCx,func
134#define Dup2_doc "MqFactoryC fct.Dup2(ident:string) (const)"
135
136// doc-key: MqFactoryC,MqFactory,oc_,func
137#define Default_doc "MqFactoryC fct.Default()"
138#define Initial_doc "MqFactoryC fct.Initial()"
139#define Next_doc "MqFactoryC fct.Next()"
140#define Prev_doc "MqFactoryC fct.Prev()"
141
142// doc-key: MqFactoryC,MqFactory,oco,func
143#define New_doc "MqContextC fct.New()"
144
145// doc-key: MqFactoryC,MqFactory,om_,func
146#define GetOriginalIdent_doc "string fct.GetOriginalIdent() (const)"
147// skip class-overload: HandleGet → MkObjectHandleGet
148// skip class-overload: Log → MkObjectLog
149
150// END-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
151
157
158static ID NS(id_new);
159
160static VALUE NS(sFactoryCall) (VALUE args) {
161 const VALUE *argsP = rb_array_const_ptr(args);
162 // return MK(OtNewInstanceWithOneArg)(argsP[0],argsP[1]);
163 return rb_funcall(argsP[0], NS(id_new), 1, argsP[1]);
164}
165
166static enum MkErrorE
168{
169 MQ_CTX mqctx = NULL;
170 VALUE args;
171 VALUE tmplO;
172 VALUE self;
173 VALUE class;
174
175//printXV(tmpl, "RUBY: Factory[%s] -> %s\n", MqFactoryGetOriginalIdent(fct), MqLogFactoryE(create))
176
177 // setup tmpl
178 tmplO = CTX2VAL(tmpl);
179
180 // a child use the class of the "parent" and NOT the class from the "factory"
181 if (create & (MQ_FACTORY_NEW_CHILD)) {
182 class = CLASS_OF(tmplO);
183 } else {
184 class = PTR2VAL(fct->fct_ctor.data);
185 }
186
187 // call "new"
188 args = rb_ary_new3(2, class, tmplO);
189 int status;
190 self = rb_protect(NS(sFactoryCall), args, &status);
191 if (status) {
192 MK(MkExceptionC_Catch) (OT_Prefix_CALL NULL, NULL, __func__, "ProcessEvent");
193 }
194 rb_ary_free(args);
195
196 if (NIL_P(self) || MkErrorCheckE_0E() ) {
197 // special: RUBY does NOT call the destructor of a "broken" instance, this create a "left-over"
198 // MkRuntimeS::cid (not bad but different from other languages)
199 // set at: MqContextInit->MQ_RT_REF.cid = context
200 MkRuntimeSetCID(NULL);
201 goto error;
202 }
203 mqctx = VAL2CTX(self);
204
205 if (create & (MQ_FACTORY_NEW_CHILD)) {
206 MqSetupDup(mqctx, tmpl);
207 }
208
209 // a MQ_FACTORY_NEW_FILTER has "mqctx->obj.self" as ONLY reference… incr "refCnt"
210 // related to "NS(sFactoryDTor)→MQ_FACTORY_NEW_INIT→DECR_REG"
211 if (create & MQ_FACTORY_NEW_FILTER) {
212 INCR_REF((VALUE*)(&mqctx->super.obj.self));
213 }
214
215 // ruby-special: default event handler has !no! data and calling just the
216 // ruby-event-update function. CHILD does not need to call it too
217 if (create & MQ_FACTORY_NEW_CHILD && mqctx->setup.Event.data == NULL) {
218 mqctx->setup.Event.fCall = NULL;
219 }
220
221 *contextP = mqctx;
222 return MK_OK;
223
224error:
225 *contextP = NULL;
226 return MkErrorStack_0E();
227}
228
229static void
230NS(sFactoryDTor)(
233 bool doFactoryDelete,
234 MQ_FCT const fct
235)
236{
237 // related to "NS(sFactoryCTor)→MQ_FACTORY_NEW_INIT→INCR_REG"
238 if (doFactoryDelete && mqctx->setup.factoryCall == MQ_FACTORY_NEW_FILTER) {
239 // DECR_REG does NOT call the destructor… just delete the "reference"
240 DECR_REF ((VALUE*)(&mqctx->super.obj.self));
241 }
242
243 // delete final -> only if not already done
245}
246
247static void NS(sFactoryDataFree) ( MK_RT_ARGS MK_PTR *dataP) {
248 if (*dataP != NULL) {
249 /* I have NOT found any RUBY function to check if VM is still active !!
250 DECR_REF((VALUE*)dataP);
251 */
252 }
253 *dataP = NULL;
254}
255
256static void NS(sFactoryDataCopy) ( MK_RT_ARGS MK_PTR *dataP) {
257 if (*dataP != NULL) {
258 INCR_REF((VALUE*)dataP); // THREAD → no DEEP copy
259 }
260}
261
262/*****************************************************************************/
263/* */
264/* static */
265/* */
266/*****************************************************************************/
267
268// BEGIN-MqFactoryC - created by 'rb_MqC.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
269
273
274// doc-key: MqFactoryC,MqFactoryC-Class-Export,sc_
275
277static OT_ProcRet NS(MqFactoryC_HandleResolve) (OtClass_ARGS) {
280 MK_HDL netHdl = 0;
283 MQ_FCT retVal = MqFactoryHandleResolve (netHdl);
284 OT_retObj_SET_FCT(retVal);
285 end: MK_UNUSED /* LONG JUMP on error */
287}
288
289// doc-key: MqFactoryC,MqFactoryC-Class-Export,om_
290
291// skip on class-overload: MqFactoryHandleGet → MkObjectHandleGet
293static OT_ProcRet NS(MqFactoryC_HandleGet) (MqFactoryC_ARGS) {OT_ERROR_LNG_RETURN;}
294
296// MqFactoryC_Class_RB_API
297
301
302// doc-key: MqFactoryC,MqFactoryC-Class-Introspection,oc_
303
305static OT_ProcRet NS(MqFactoryC_Next) (MqFactoryC_ARGS) {
309 MQ_FCT retVal = MqFactoryNext (hdl);
310 OT_retObj_SET_FCT(retVal);
311 end: MK_UNUSED /* LONG JUMP on error */
313}
314
316static OT_ProcRet NS(MqFactoryC_Prev) (MqFactoryC_ARGS) {
320 MQ_FCT retVal = MqFactoryPrev (hdl);
321 OT_retObj_SET_FCT(retVal);
322 end: MK_UNUSED /* LONG JUMP on error */
324}
325
326// doc-key: MqFactoryC,MqFactoryC-Class-Introspection,sc_
327
329static OT_ProcRet NS(MqFactoryC_Instances) (OtClass_ARGS) {
333 MQ_FCT retVal = MqFactoryInstances ();
334 OT_retObj_SET_FCT(retVal);
335 end: MK_UNUSED /* LONG JUMP on error */
337}
338
340// MqFactoryC_Class_RB_API
341
345
346// doc-key: MqFactoryC,MqFactoryC-Class-Misc,sc_
347
349static OT_ProcRet NS(MqFactoryC_GetNull) (OtClass_ARGS) {
353 MQ_FCT retVal = MqFactoryGetNull ();
354 OT_retObj_SET_FCT(retVal);
355 end: MK_UNUSED /* LONG JUMP on error */
357}
358
360// MqFactoryC_Class_RB_API
361
365
366// doc-key: MqFactoryC,MqFactoryC-Get,sc_
367
369static OT_ProcRet NS(MqFactoryC_Get) (OtClass_ARGS) {
372 MK_STRN ident = "";
375 MQ_FCT retVal = MqFactoryGet (ident);
376 OT_retObj_SET_FCT(retVal);
377 end: MK_UNUSED /* LONG JUMP on error */
379}
380
382static OT_ProcRet NS(MqFactoryC_GetCalled) (OtClass_ARGS) {
385 MK_STRN ident = "";
388 MQ_FCT retVal = MqFactoryGetCalled (ident);
389 OT_retObj_SET_FCT(retVal);
390 end: MK_UNUSED /* LONG JUMP on error */
392}
393
395static OT_ProcRet NS(MqFactoryC_GetCalledL) (OtClass_ARGS) {
398 MkBufferListCreateTLS_T(largs,10);
401 MQ_FCT retVal = MqFactoryGetCalledL (largs);
402 OT_retObj_SET_FCT(retVal);
403 end: MK_UNUSED /* LONG JUMP on error */
405}
406
407// doc-key: MqFactoryC,MqFactoryC-Get,om_
408
410static OT_ProcRet NS(MqFactoryC_GetOriginalIdent) (MqFactoryC_ARGS) {
415 end: MK_UNUSED /* LONG JUMP on error */
417}
418
420// MqFactoryC_Get_RB_API
421
425
426// doc-key: MqFactoryC,MqFactoryC-Misc,oc_
427
429static OT_ProcRet NS(MqFactoryC_Default) (MqFactoryC_ARGS) {
433 MQ_FCT retVal = MqFactoryDefault (hdl);
434 OT_retObj_SET_FCT(retVal);
435 end: MK_UNUSED /* LONG JUMP on error */
437}
438
440static OT_ProcRet NS(MqFactoryC_Initial) (MqFactoryC_ARGS) {
444 MQ_FCT retVal = MqFactoryInitial (hdl);
445 OT_retObj_SET_FCT(retVal);
446 end: MK_UNUSED /* LONG JUMP on error */
448}
449
450// doc-key: MqFactoryC,MqFactoryC-Misc,oco
451
453static OT_ProcRet NS(MqFactoryC_New) (MqFactoryC_ARGS) {
457 MQ_CTX val_out;
458 MkErrorC_Check(hdl,MqFactoryNew (hdl, NULL, &val_out));
459 OT_retObj_SET_CTX(val_out);
460 end: MK_UNUSED /* LONG JUMP on error */
462}
463
464// doc-key: MqFactoryC,MqFactoryC-Misc,om_
465
466// skip on class-overload: MqFactoryLog → MkObjectLog
469
470// doc-key: MqFactoryC,MqFactoryC-Misc,sm_
471
473static OT_ProcRet NS(MqFactoryC_DefaultIdent) (OtClass_ARGS) {
478 end: MK_UNUSED /* LONG JUMP on error */
480}
481
483static OT_ProcRet NS(MqFactoryC_InitialIdent) (OtClass_ARGS) {
488 end: MK_UNUSED /* LONG JUMP on error */
490}
491
493static OT_ProcRet NS(MqFactoryC_LogAll) (OtClass_ARGS) {
496 MK_STRN callfunc = NULL;
499 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
500 MqFactoryLogAll (callfunc);
502 end: MK_UNUSED /* LONG JUMP on error */
505}
506
508// MqFactoryC_Misc_RB_API
509
513
514// doc-key: MqFactoryC,MqFactoryC-TOR,oCx
515
517static OT_ProcRet NS(MqFactoryC_Dup2) (MqFactoryC_ARGS) {
520 MK_STRN ident = 0;
523 MQ_FCT retVal = MqFactoryDup2 (hdl, ident);
524 if (retVal == NULL) {
525 OT_ERROR_CONSTRUCTOR(MqFactoryC);
526 }
527 OT_retObj_SET_FCT(retVal);
528 end: MK_UNUSED /* LONG JUMP on error */
530}
531
532// doc-key: MqFactoryC,MqFactoryC-TOR,sCc
533
535static OT_ProcRet NS(MqFactoryC_Add) (OtClass_ARGS) {
538 MK_CCP constructor = 0;
540 MK_STRN ident = NULL;
543 if (MkSysStringIsNULL(ident)) {ident = OT_GET_CONSTR_NAME(constructor);}
544 MQ_FCT retVal = MqFactoryAdd (NULL, NS(sFactoryCTor), constructor, NS(sFactoryDataFree), NS(sFactoryDataCopy), NS(sFactoryDTor), NULL, NULL, NULL, ident);
545 if (retVal == NULL) {
546 OT_ERROR_CONSTRUCTOR(MqFactoryC);
547 }
548 OT_CONSTRUCTOR_POST(retVal)
549 OT_retObj_SET_FCT(retVal);
550 end: MK_UNUSED /* LONG JUMP on error */
552}
553
555static OT_ProcRet NS(MqFactoryC_new) (CONSTR_ARGS) {
558 MK_CCP constructor = 0;
560 MK_STRN ident = NULL;
562 if (MkSysStringIsNULL(ident)) {ident = OT_GET_CONSTR_NAME(constructor);}
563 MQ_FCT retVal = MqFactoryAdd (NULL, NS(sFactoryCTor), constructor, NS(sFactoryDataFree), NS(sFactoryDataCopy), NS(sFactoryDTor), NULL, NULL, NULL, ident);
564 if (retVal == NULL) {
565 OT_ERROR_CONSTRUCTOR(MqFactoryC);
566 }
567 OT_CONSTRUCTOR_POST(retVal)
568 OT_retObj_CONSTR(retVal);
569 end: MK_UNUSED /* LONG JUMP on error */
571}
572
574// MqFactoryC_TOR_RB_API
575
576// END-MqFactoryC - created by 'rb_MqC.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
577
578/*****************************************************************************/
579/* */
580/* public */
581/* */
582/*****************************************************************************/
583
584static void NS(sMark)(MK_PTR mng)
585{
586 MQ_FCT fct = MqFct(mng);
587 if (fct == NULL) return;
588 if (fct->fct_ctor.data) rb_gc_mark((VALUE)fct->fct_ctor.data);
589 if (fct->fct_dtor.data) rb_gc_mark((VALUE)fct->fct_dtor.data);
590}
591
592void NS(MqFactoryC_Init)(MQ_RT_ARGS_ONLY) {
593
594 // init type
596 S_INIT;
597
598 // BEGIN-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
599
600 // doc-key: MqFactoryC,MqFactory,sCc
601 OT_METH_S ( MqFactoryC, Add, MqFactoryC_Add )
602 OT_METH_C ( MqFactoryC, new, MqFactoryC_new )
603
604 // doc-key: MqFactoryC,MqFactory,sc_
605 OT_METH_O ( MqFactoryC, Get, MqFactoryC_Get )
606 OT_METH_S ( MqFactoryC, Get, MqFactoryC_Get )
607 OT_METH_O ( MqFactoryC, GetCalled, MqFactoryC_GetCalled )
608 OT_METH_S ( MqFactoryC, GetCalled, MqFactoryC_GetCalled )
609 OT_METH_O ( MqFactoryC, GetCalledL, MqFactoryC_GetCalledL )
610 OT_METH_S ( MqFactoryC, GetCalledL, MqFactoryC_GetCalledL )
611 OT_METH_O ( MqFactoryC, GetNull, MqFactoryC_GetNull )
612 OT_METH_S ( MqFactoryC, GetNull, MqFactoryC_GetNull )
613 OT_METH_O ( MqFactoryC, HandleResolve, MqFactoryC_HandleResolve )
614 OT_METH_S ( MqFactoryC, HandleResolve, MqFactoryC_HandleResolve )
615 OT_METH_O ( MqFactoryC, Instances, MqFactoryC_Instances )
616 OT_METH_S ( MqFactoryC, Instances, MqFactoryC_Instances )
617
618 // doc-key: MqFactoryC,MqFactory,sm_
619 OT_METH_O ( MqFactoryC, DefaultIdent, MqFactoryC_DefaultIdent )
620 OT_METH_S ( MqFactoryC, DefaultIdent, MqFactoryC_DefaultIdent )
621 OT_METH_O ( MqFactoryC, InitialIdent, MqFactoryC_InitialIdent )
622 OT_METH_S ( MqFactoryC, InitialIdent, MqFactoryC_InitialIdent )
623 OT_METH_O ( MqFactoryC, LogAll, MqFactoryC_LogAll )
624 OT_METH_S ( MqFactoryC, LogAll, MqFactoryC_LogAll )
625
626 // END-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
627
628 // BEGIN-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
629
630 // doc-key: MqFactoryC,MqFactory,oCx
631 OT_METH_O ( MqFactoryC, Dup2, MqFactoryC_Dup2 )
632
633 // doc-key: MqFactoryC,MqFactory,oc_
634 OT_METH_O ( MqFactoryC, Default, MqFactoryC_Default )
635 OT_METH_O ( MqFactoryC, Initial, MqFactoryC_Initial )
636 OT_METH_O ( MqFactoryC, Next, MqFactoryC_Next )
637 OT_METH_O ( MqFactoryC, Prev, MqFactoryC_Prev )
638
639 // doc-key: MqFactoryC,MqFactory,oco
640 OT_METH_O ( MqFactoryC, New, MqFactoryC_New )
641
642 // doc-key: MqFactoryC,MqFactory,om_
643 OT_METH_O ( MqFactoryC, GetOriginalIdent, MqFactoryC_GetOriginalIdent )
644 // skip class-overload: MqFactoryHandleGet → HandleGet, MqFactoryC_HandleGet
645 // skip class-overload: MqFactoryLog → Log, MqFactoryC_Log
646
647 // END-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theLink/c/gen/c_mqmsgque.meta' - DO NOT change
648
649 // setup default factory… required for objects created WITHOUT factory
650 // example: Filter3.rb
651 if (!strcmp(MqFactoryDefaultIdent(), "libmqmsgque")) {
652
653 if ( MqFactoryDefault(
655 MqFactoryAdd (NULL,
656 NS(sFactoryCTor), (MK_PTR)NS(MqContextC), NULL, NULL,
657 NS(sFactoryDTor), NULL, NULL, NULL,
658 "rbmsgque"
659 )
660 )
661 ) == NULL
662 )
663 {
664 OT_ERROR_RUNTIME("MqFactoryC", "create default factory failed")
665 }
666 }
667
668 NS(id_new) = rb_intern("new");
669}
#define MK(n)
#define OT_ERROR_RUNTIME(clazz, str)
#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_FRAME_CLEANUP
#define OT_retObj_CONSTR(mng)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_Prefix_CALL
#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_retObj_RETURN
#define DECR_REF(valP)
#define OT_GET_CALL_PROC
#define OT_OBJECT_DELETE_HARD(obj)
#define OT_retObj_SET_STR(nat)
#define OT_ERROR_CONSTRUCTOR(clazz)
#define OT_CHECK_OPTIONAL(val)
#define OT_GET_CONSTR_NAME(ctor)
#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
#define OT_CHECK_STRN(val)
tag: nhi1-release-250425
#define CTX2VAL(nat)
#define MqFactoryC_ARGS
#define OT_PKG
#define OT_retObj_SET_CTX(nat)
#define MQ(n)
#define NS(n)
#define OT_retObj_SET_FCT(nat)
#define VAL2CTX(val)
#define MqFactoryC_MK_NULL
#define Instances_doc
#define Initial_doc
#define OT_SETUP_hdl_static_constr
#define GetOriginalIdent_doc
#define OT_SETUP_hdl
#define New_doc
#define Get_doc
#define LogAll_doc
#define GetNull_doc
#define Next_doc
#define HandleResolve_doc
#define GetCalledL_doc
#define DefaultIdent_doc
#define Prev_doc
#define InitialIdent_doc
#define OT_CLASS
#define OT_SETUP_hdl_static
#define OT_SETUP_hdl_constr
#define GetCalled_doc
#define Dup2_doc
#define new_doc
#define S_INIT
#define Add_doc
#define Default_doc
static MK_TYP MqFactoryCTT
#define mqctx
#define MkBufferListCreateTLS_T(name, num)
#define MkErrorStack_0E()
#define mk_inline
#define MK_NULL_NO
#define MK_UNUSED
#define MK_NULL
#define MK_DEPRECATED
MkErrorE
MK_OK
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
MK_PTRB * MK_MNG
MK_PTRB * MK_CCP
int32_t MK_HDL
static bool MkSysStringIsNULL(MK_STRN str)
void MkRuntimeSetCID(MK_OBJ const cid)
#define MK_RT_ARGS
#define MK_RT_ARGS_ONLY
#define MqSetupDup(...)
#define MqContextDelete(x)
#define MQ_CALLBACK_FACTORY_CTOR_ARGS
the MqFactoryCTorF arguments with default names
#define MqFactoryInstances()
static MQ_FCT MqFactoryPrev(MQ_FCT const fct)
get previous instance from linked-list of MqFactoryS type
#define MqFactoryHandleResolve(...)
static MQ_FCT MqFactoryGetNull(void)
Null-Slot - return a MqFactoryC typed NULL instance …
static MQ_FCT MqFactoryNext(MQ_FCT const fct)
get next instance from linked-list of MqFactoryS type
#define MqFactoryC_T
class as MkTypeDefS-class-type, useable in a class-macro as: class##_T …
static MQ_FCT MqFct(MK_MNG mng)
cast a unknown-object into an MqFactoryS pointer or NULL if not possible
#define MqFactoryC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MqFactoryGetCalledL(...)
#define MqFactoryGet(...)
MK_STRN MqFactoryGetOriginalIdent(MQ_FCTN const fct)
helper function to return MqFactoryS::originalIdent
#define MqFactoryGetCalled(...)
#define MqFactoryLogAll(...)
#define MqFactoryInitial(...)
#define MqFactoryDefaultIdent()
#define MqFactoryNew(...)
#define MqFactoryInitialIdent()
#define MqFactoryDefault(...)
#define MqFactoryDup2(...)
#define MqFactoryAdd(...)
@ MQ_FACTORY_NEW_FILTER
create object as a filter
@ MQ_FACTORY_NEW_CHILD
create object as a child of an other 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_BFLN(val, nullB)
#define OT_CHECK_CONSTRUCTOR(val)
MkSelfUnlinkF selfUnlink
MkSelfDeleteF selfDelete
MkSelfCreateF selfCreate
PUBLIC data structure for the rbmqmsgque-specific-data
MK_PTR data
additional data pointer for the fCall
MK_PTR data
additional data pointer for the fCall
data used to define a factory
struct MqFactoryDTorS fct_dtor
instance destructor interface
struct MqFactoryCTorS fct_ctor
instance constructor interface