theKernel 10.0
Loading...
Searching...
No Matches
MkObjectC_atl.c
Go to the documentation of this file.
1
9/* LABEL-INIT */
10
11#define SetupRtFromHdl_X(hd) MkRtSetup_O(hd)
12#define SetupRtFromHdl_XN(hd) MkRtSetup_ON(hd)
13
14/* LABEL-START */
15
16#define META_FILE_NAME "MkObjectC_atl.c"
17
19
20#define OT_CLASS amkrt->AtlMkObjectC
21#define OT_NULL amkrt->AtlMkObjectC_MK_NULL
22#define OT_CLASS_NAME "MkObjectC"
23
24#define SELF2HDL(O) MkObj(VAL2MNG(O))
25
26// LNG: class
27// -> moved to LibMkKernel_atl.h → OT_MK_RT_S → AtlMkKernelCTT;
28
29// META: ObjNew feature: called to return a new or an already existing ATL-SELF-Object
30// -> moved to LibMkKernel_atl.h → MkKernelC_ObjNew
31
32// META: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
33static MK_PTR NS(MkObjectC_selfCreate) (MK_RT_ARGS MK_OBJ const obj, MK_PTR const env) {
34 SETUP_amkrt(env);
35 return AtomMake(obj,OT_CLASS,NULL,NULL,env);
36}
37
38// META: called if MkObj must be destroyed and if the SELF is still alive → goal: destroy the SELF
39static void NS(MkObjectC_selfDelete) (MK_RT_ARGS MK_PTR selfP, MK_PTR const env) {
40 OT_SELF_T selfO = selfP;
41 SETUP_amkrt(env);
42 MK(AtomDeleteHard) (OT_MK_CALL selfO);
43}
44
45// META: called to destroy link from SELF to META
46static void NS(MkObjectC_selfUnlink) (MK_RT_ARGS MK_PTR selfP, MK_PTR const env) {
47 OT_SELF_T selfO = selfP;
48 SETUP_amkrt(env);
49 return MK(AtomUnlink) (OT_MK_CALL selfO);
50}
51
52#define OT_SETUP_hdl SetupHdlFromMetaData_2(MK_OBJ)
53#define OT_SETUP_hdl__null_allow SetupHdlFromMetaData__null_allow_2(MK_OBJ)
54#define OT_SETUP_hdl_destr SetupHdlFromMetaData__null_allow_2(MK_OBJ)
55#define OT_SETUP_hdl_constr SetupHdlConstr(MkObjectC)
56#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
57#define OT_SETUP_hdl_static SetupHdlStatic(MkObjectC)
58
59#define OT_retObj_CONSTR(x) OT_retObj_SET(AtomInit(OT_SELF,MkObjectC_X2obj(x),amkrt))
60
61// initialize the ATL and META class specific object
62#define ClassInit \
63 /* if not already done, initialize NEW META type */ \
64 if (MkObjectCTT == NULL) MkObjectCTT = MkObjectSTT; \
65 \
66 /* protect against double call */ \
67 if (MkObjectCTT->selfCreate == NS(MkObjectC_selfCreate)) return MK_OK; \
68 \
69 /* add "selfCreate" and "selfDelete" feature to the META-Class */ \
70 MkObjectCTT->selfCreate = NS(MkObjectC_selfCreate); \
71 MkObjectCTT->selfDelete = NS(MkObjectC_selfDelete); \
72 MkObjectCTT->selfUnlink = NS(MkObjectC_selfUnlink); \
73 \
74 /* create the ATL-class */ \
75 OT_CLASS = AltClassDef(MkObjectCTT,&amkrt->AtlMkObjectC_NS); \
76 if (OT_CLASS == NULL) goto error; \
77 OT_REF_INCR(OT_CLASS); \
78 \
79 /* create the ATL static Methods */ \
80 check_LNG(AtlUnknownSetup (NS(sOtClassDef),amkrt)) goto error; \
81 \
82 /* create the ATL instance Methods */ \
83 check_LNG(AtlUnknownSetup (NS(sInstanceDef),amkrt)) goto error; \
84 \
85 /* after class was modified, recompile the class */ \
86 RL_init(2, recompile, RL_T(0,RecompileN)); RL_O(1,OT_CLASS) ; \
87 int retI = RL_EvalEx(0); \
88 if (retI != TCL_OK) return retI; \
89 \
90 /* define the "NULL" object */ \
91 OT_NULL = AtomCreateNULL(OT_CLASS, "::MkObjectC::MK_NULL", (MK_PTR)amkrt); \
92 if (OT_NULL == NULL) goto error; \
93 OT_REF_INCR(OT_NULL);
94/* LABEL-END */
95
96// BEGIN-DOC - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
97
98// doc-key: MkObjectC,MkDbg,sm_,func
99#define DbgM_doc "MkObjectC::DbgM message:string ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0?"
100
101// doc-key: MkObjectC,MkDbg,om_,func
102#define DbgDump_doc "MkObjectC::DbgDump $obj ?message:string=\"var\"? ?callfunc:string=\"MK_NULL\"? (const)"
103#define DbgL_doc "MkObjectC::DbgL $fmtobj message:string ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0? (const)"
104#define DbgLogC_doc "MkObjectC::DbgLogC $obj ?callfunc:string=\"MK_NULL\"? (const)"
105#define DbgO_doc "MkObjectC::DbgO $obj ?callfunc:string=\"MK_NULL\"? (const)"
106#define DbgSTACK_doc "MkObjectC::DbgSTACK $fmtobj ?skip:int32=0? ?num:int32=-1? ?callfunc:string=\"MK_NULL\"? (const)"
107
108// doc-key: MkObjectC,MkLog,om_,func
109#define LogC_doc "MkObjectC::LogC $fmtobj message:string ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? (const)"
110#define LogHEX_doc "MkObjectC::LogHEX $fmtobj callfunc:string data:binary (const)"
111
112// doc-key: MkObjectC,MkObj,om_,func
113#define RefGet_doc "int32 [MkObjectC::RefGet $obj]"
114
115// doc-key: MkObjectC,MkObject,sc_,func
116#define GetNull_doc "MkObjectC [MkObjectC::GetNull]"
117#define HandleResolve_doc "MkObjectC [MkObjectC::HandleResolve netHdl:MK_HDL]"
118#define Instances_doc "MkObjectC [MkObjectC::Instances]"
119
120// doc-key: MkObjectC,MkObject,sm_,func
121#define DeleteCallbackCleanup_doc "MkObjectC::DeleteCallbackCleanup ident:string"
122#define DeleteCallbackSetup_doc "MkObjectC::DeleteCallbackSetup ident:string ?callback:callable=NULL? ?filter:string=\"NULL\"?"
123#define HandleDeleteByNetHdl_doc "MkObjectC::HandleDeleteByNetHdl netHdl:MK_HDL"
124
125// doc-key: MkObjectC,MkObject,oD_,func
126#define Delete_doc "MkObjectC::Delete $obj"
127
128// doc-key: MkObjectC,MkObject,od_,func
129#define Dispose_doc "MkObjectC::Dispose $obj"
130
131// doc-key: MkObjectC,MkObject,oc_,func
132#define ErrorCatch_doc "MkErrorC [MkObjectC::ErrorCatch $obj ?exception:errorCode=NULL? ?callfunc:string=\"MK_NULL\"?] (const)"
133#define Next_doc "MkObjectC [MkObjectC::Next $obj]"
134#define Prev_doc "MkObjectC [MkObjectC::Prev $obj]"
135#define ToError_doc "MkErrorC [MkObjectC::ToError $obj]"
136
137// doc-key: MkObjectC,MkObject,om_,func
138#define HandleDelete_doc "MkObjectC::HandleDelete $netObj"
139#define HandleExists_doc "bool [MkObjectC::HandleExists $obj]"
140#define HandleGet_doc "MK_HDL [MkObjectC::HandleGet $obj]"
141#define HandleGetOfType_doc "MK_HDL [MkObjectC::HandleGetOfType $obj]"
142#define HandleGetOr0_doc "MK_HDL [MkObjectC::HandleGetOr0 $obj]"
143#define IsNull_doc "bool [MkObjectC::IsNull $obj]"
144#define Log_doc "MkObjectC::Log $obj ?fmtobj:MkObjectC=NULL? ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0? (const)"
145#define LogLong_doc "MkObjectC::LogLong $obj ?fmtobj:MkObjectC=NULL? ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0? (const)"
146#define LogShort_doc "MkObjectC::LogShort $obj ?fmtobj:MkObjectC=NULL? ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0? (const)"
147#define LogType_doc "MkObjectC::LogType $obj ?fmtobj:MkObjectC=NULL? ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0? (const)"
148#define ToName_doc "string [MkObjectC::ToName $obj] (const)"
149#define ToNameOfClass_doc "string [MkObjectC::ToNameOfClass $obj]"
150#define ToNameOfType_doc "string [MkObjectC::ToNameOfType $obj] (const)"
151#define ToString_doc "string [MkObjectC::ToString $inst] (const)"
152
153// doc-key: MkObjectC,MkSys,sm_,func
154#define SysHashI32_doc "int32 [MkObjectC::SysHashI32 key:string ?length:int32=-1?]"
155#define SysHashSTR_doc "string [MkObjectC::SysHashSTR key:string ?length:int32=-1?]"
156
157// doc-key: MkObjectC,MkSys,om_,func
158#define SysKill_doc "MkObjectC::SysKill $fmtobj pid:int32 signal:int32 (const)"
159
160// doc-key: MkObjectC,MkSys,omo,func
161#define SysGetPid_doc "int32 [MkObjectC::SysGetPid $fmtobj] (const)"
162
163// END-DOC - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
164
165/*****************************************************************************/
166/* */
167/* S T A R T */
168/* */
169/*****************************************************************************/
170
171// overwrite "libmkkernel→MkObjectToNameOfClass_O" with "own" implementation
172#define MkDbgO_O(hdl,call) MkLogV(hdl,call,0,"%s\n",MK(PrintObj)(OT_Prefix_CALL NULL,META2VAL_O(hdl)))
173#define MkDbgDumpTmpl(...) TclDbgDump(OT_Prefix_CALL __VA_ARGS__)
174#define MkObjectToNameOfClassTmpl(hdl) OT_LNG_OBJ_CLASSNAME(META2VAL_O(hdl))
175#define MkObjectErrorCatchTmpl(...) MK(MkExceptionC_Catch)(OT_Prefix_CALL __VA_ARGS__)
176
177static enum MkErrorE
178TclDbgDump ( OT_Prefix_ARGS MK_OBJ const obj, MK_STRN const message, MK_STRN const callfunc )
179{
180 OT_OBJ_T self = META2VAL_O(obj);
181 MkLogV(obj,callfunc,0,MK_COLOR_CYAN" >>> "MK_COLOR_RESET"\n");
182
183 fprintf(MK_RT_REF.log.logFILE," > " MK_COLOR_YELLOW "%s"MK_COLOR_RESET"\n", MK(PrintObj)(OT_Prefix_CALL message,self));
184
185 MkObjectLog(obj,NULL,0,callfunc,1);
186
187 MkLogV(obj,callfunc,0,MK_COLOR_CYAN" <<< "MK_COLOR_RESET"\n");
188
189 return MK_OK;
190}
191
192/*****************************************************************************/
193/* */
194/* O B J E C T */
195/* */
196/*****************************************************************************/
197
198// BEGIN-MkObjectC - created by 'atl_MqC.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
199
203
204// doc-key: MkObjectC,MkObjectC-Class-Export,sc_
205
207static OT_ProcRet NS(MkObjectC_HandleResolve) (OtClass_ARGS) {
210 MK_HDL netHdl = 0;
213 MK_OBJ retVal = MkObjectHandleResolve (netHdl);
214 OT_retObj_SET_OBJ(retVal);
215 goto end;
216 error:
218 end:
220}
221
222// doc-key: MkObjectC,MkObjectC-Class-Export,om_
223
225static OT_ProcRet NS(MkObjectC_HandleDelete) (MkObjectC_ARGS) {
231 goto end;
232 error:
234 end:
236}
237
239static OT_ProcRet NS(MkObjectC_HandleExists) (MkObjectC_ARGS) {
244 goto end;
245 error:
247 end:
249}
250
252static OT_ProcRet NS(MkObjectC_HandleGet) (MkObjectC_ARGS) {
257 goto end;
258 error:
260 end:
262}
263
265static OT_ProcRet NS(MkObjectC_HandleGetOfType) (MkObjectC_ARGS) {
270 goto end;
271 error:
273 end:
275}
276
278static OT_ProcRet NS(MkObjectC_HandleGetOr0) (MkObjectC_ARGS) {
283 goto end;
284 error:
286 end:
288}
289
290// doc-key: MkObjectC,MkObjectC-Class-Export,sm_
291
293static OT_ProcRet NS(MkObjectC_HandleDeleteByNetHdl) (OtClass_ARGS) {
296 MK_HDL netHdl = 0;
301 goto end;
302 error:
304 end:
306}
307
309// MkObjectC_Class_ATL_API
310
314
315// doc-key: MkObjectC,MkObjectC-Class-Introspection,oc_
316
318static OT_ProcRet NS(MkObjectC_Next) (MkObjectC_ARGS) {
322 MK_OBJ retVal = MkObjectNext (hdl);
323 OT_retObj_SET_OBJ(retVal);
324 goto end;
325 error:
327 end:
329}
330
332static OT_ProcRet NS(MkObjectC_Prev) (MkObjectC_ARGS) {
336 MK_OBJ retVal = MkObjectPrev (hdl);
337 OT_retObj_SET_OBJ(retVal);
338 goto end;
339 error:
341 end:
343}
344
345// doc-key: MkObjectC,MkObjectC-Class-Introspection,sc_
346
348static OT_ProcRet NS(MkObjectC_Instances) (OtClass_ARGS) {
352 MK_OBJ retVal = MkObjectInstances ();
353 OT_retObj_SET_OBJ(retVal);
354 goto end;
355 error:
357 end:
359}
360
362// MkObjectC_Class_ATL_API
363
367
368// doc-key: MkObjectC,MkObjectC-Class-Misc,sc_
369
371static OT_ProcRet NS(MkObjectC_GetNull) (OtClass_ARGS) {
375 MK_OBJ retVal = MkObjectGetNull ();
376 OT_retObj_SET_OBJ(retVal);
377 goto end;
378 error:
380 end:
382}
383
385// MkObjectC_Class_ATL_API
386
390
391// doc-key: MkObjectC,MkObjectC-Dbg,om_
392
394static OT_ProcRet NS(MkObjectC_DbgDump) (MkObjectC_ARGS) {
397 MK_STRN message = "var";
399 MK_STRN callfunc = NULL;
402 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
403 MkErrorC_Check(hdl,MkDbgDumpTmpl (hdl, message, callfunc));
405 goto end;
406 error:
408 end:
411}
412
414static OT_ProcRet NS(MkObjectC_DbgL) (MkObjectC_ARGS) {
417 MK_STRN message = 0;
419 MK_DBG debug = 0;
421 MK_STRN callfunc = NULL;
423 MK_I32 lvl = 0;
426 if (debug > MkRuntimeDebugGet()) {
428 goto end;
429 }
430 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
431 MkDbgL (hdl, message, debug, callfunc, lvl);
433 goto end;
434 error:
436 end:
439}
440
442static OT_ProcRet NS(MkObjectC_DbgLogC) (MkObjectC_ARGS) {
445 MK_STRN callfunc = NULL;
448 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
449 MkDbgLogC (hdl, callfunc);
451 goto end;
452 error:
454 end:
457}
458
460static OT_ProcRet NS(MkObjectC_DbgO) (MkObjectC_ARGS) {
463 MK_STRN callfunc = NULL;
466 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
467 MkDbgO (hdl, callfunc);
469 goto end;
470 error:
472 end:
475}
476
478static OT_ProcRet NS(MkObjectC_DbgSTACK) (MkObjectC_ARGS) {
481 MK_I32 skip = 0;
483 MK_I32 num = -1;
485 MK_STRN callfunc = NULL;
488 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
489 MkDbgSTACK (hdl, skip, num, callfunc);
491 goto end;
492 error:
494 end:
497}
498
499// doc-key: MkObjectC,MkObjectC-Dbg,sm_
500
502static OT_ProcRet NS(MkObjectC_DbgM) (OtClass_ARGS) {
505 MK_STRN message = 0;
507 MK_DBG debug = 0;
509 MK_STRN callfunc = NULL;
511 MK_I32 lvl = 0;
514 if (debug > MkRuntimeDebugGet()) {
516 goto end;
517 }
518 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
519 MkDbgM (message, debug, callfunc, lvl);
521 goto end;
522 error:
524 end:
527}
528
530// MkObjectC_Dbg_ATL_API
531
535
536// doc-key: MkObjectC,MkObjectC-Log,om_
537
539static OT_ProcRet NS(MkObjectC_LogC) (MkObjectC_ARGS) {
542 MK_STRN message = 0;
544 MK_DBG debug = 0;
546 MK_STRN callfunc = NULL;
549 if (debug > MkRuntimeDebugGet()) {
551 goto end;
552 }
553 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
554 MkLogC (hdl, message, debug, callfunc);
556 goto end;
557 error:
559 end:
562}
563
565static OT_ProcRet NS(MkObjectC_LogHEX) (MkObjectC_ARGS) {
568 MK_STRN callfunc = NULL;
570 MkBinaryR data = {0};
573 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
574 MkLogHEX (hdl, callfunc, data);
576 goto end;
577 error:
579 end:
582}
583
585static OT_ProcRet NS(MkObjectC_Log) (MkObjectC_ARGS) {
588 MK_OBJN fmtobj = NULL;
590 MK_DBG debug = 0;
592 MK_STRN callfunc = NULL;
594 MK_I32 lvl = 0;
597 if (debug > MkRuntimeDebugGet()) {
599 goto end;
600 }
601 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
602 MkObjectLog (hdl, fmtobj, debug, callfunc, lvl);
604 goto end;
605 error:
607 end:
610}
611
613static OT_ProcRet NS(MkObjectC_LogLong) (MkObjectC_ARGS) {
616 MK_OBJN fmtobj = NULL;
618 MK_DBG debug = 0;
620 MK_STRN callfunc = NULL;
622 MK_I32 lvl = 0;
625 if (debug > MkRuntimeDebugGet()) {
627 goto end;
628 }
629 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
630 MkObjectLogLong (hdl, fmtobj, debug, callfunc, lvl);
632 goto end;
633 error:
635 end:
638}
639
641static OT_ProcRet NS(MkObjectC_LogShort) (MkObjectC_ARGS) {
644 MK_OBJN fmtobj = NULL;
646 MK_DBG debug = 0;
648 MK_STRN callfunc = NULL;
650 MK_I32 lvl = 0;
653 if (debug > MkRuntimeDebugGet()) {
655 goto end;
656 }
657 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
658 MkObjectLogShort (hdl, fmtobj, debug, callfunc, lvl);
660 goto end;
661 error:
663 end:
666}
667
669static OT_ProcRet NS(MkObjectC_LogType) (MkObjectC_ARGS) {
672 MK_OBJN fmtobj = NULL;
674 MK_DBG debug = 0;
676 MK_STRN callfunc = NULL;
678 MK_I32 lvl = 0;
681 if (debug > MkRuntimeDebugGet()) {
683 goto end;
684 }
685 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
686 MkObjectLogType (hdl, fmtobj, debug, callfunc, lvl);
688 goto end;
689 error:
691 end:
694}
695
697// MkObjectC_Log_ATL_API
698
702
703// doc-key: MkObjectC,MkObjectC-Misc,oc_
704
706static OT_ProcRet NS(MkObjectC_ErrorCatch) (MkObjectC_ARGS) {
709 MK_EXP exception = NULL;
711 MK_STRN callfunc = NULL;
714 if (MkSysStringIsNULL(callfunc)) {callfunc = OT_GET_CALL_PROC;}
715 MK_ERR retVal = MkObjectErrorCatchTmpl (hdl, exception, callfunc);
716 OT_retObj_SET_ERR(retVal);
717 goto end;
718 error:
720 end:
723}
724
726static OT_ProcRet NS(MkObjectC_ToError) (MkObjectC_ARGS) {
730 MK_ERR retVal = MkObjectToError (hdl);
731 OT_retObj_SET_ERR(retVal);
732 goto end;
733 error:
735 end:
737}
738
739// doc-key: MkObjectC,MkObjectC-Misc,om_
740
742static OT_ProcRet NS(MkObjectC_IsNull) (MkObjectC_ARGS) {
747 goto end;
748 error:
750 end:
752}
753
755static OT_ProcRet NS(MkObjectC_ToName) (MkObjectC_ARGS) {
760 goto end;
761 error:
763 end:
765}
766
768static OT_ProcRet NS(MkObjectC_ToNameOfClass) (MkObjectC_ARGS) {
773 goto end;
774 error:
776 end:
778}
779
781static OT_ProcRet NS(MkObjectC_ToNameOfType) (MkObjectC_ARGS) {
786 goto end;
787 error:
789 end:
791}
792
794static OT_ProcRet NS(MkObjectC_ToString) (MkObjectC_ARGS) {
799 goto end;
800 error:
802 end:
804}
805
807// MkObjectC_Misc_ATL_API
808
812
813// doc-key: MkObjectC,MkObjectC-Obj,om_
814
816static OT_ProcRet NS(MkObjectC_RefGet) (MkObjectC_ARGS) {
821 goto end;
822 error:
824 end:
826}
827
829// MkObjectC_Obj_ATL_API
830
834
835// doc-key: MkObjectC,MkObjectC-Sys,om_
836
838static OT_ProcRet NS(MkObjectC_SysKill) (MkObjectC_ARGS) {
841 MK_I32 pid = 0;
843 MK_I32 signal = 0;
846 MkErrorC_Check(hdl,MkSysKill (hdl, pid, signal));
848 goto end;
849 error:
851 end:
853}
854
855// doc-key: MkObjectC,MkObjectC-Sys,omo
856
858static OT_ProcRet NS(MkObjectC_SysGetPid) (MkObjectC_ARGS) {
862 MK_I32 pid_out;
863 MkErrorC_Check(hdl,MkSysGetPid (hdl, &pid_out));
864 OT_retObj_SET_I32(pid_out);
865 goto end;
866 error:
868 end:
870}
871
872// doc-key: MkObjectC,MkObjectC-Sys,sm_
873
875static OT_ProcRet NS(MkObjectC_SysHashI32) (OtClass_ARGS) {
878 MK_STRN key = 0;
880 MK_NUM length = -1;
883 OT_retObj_SET_I32(MkSysHashI32 (key, length));
884 goto end;
885 error:
887 end:
889}
890
892static OT_ProcRet NS(MkObjectC_SysHashSTR) (OtClass_ARGS) {
895 MK_STRN key = 0;
897 MK_NUM length = -1;
900 OT_retObj_SET_STR(MkSysHashSTR (key, length));
901 goto end;
902 error:
904 end:
906}
907
909// MkObjectC_Sys_ATL_API
910
914
915// doc-key: MkObjectC,MkObjectC-TOR,od_
916
918static OT_ProcRet NS(MkObjectC_Dispose) (MkObjectC_ARGS) {
924 goto end;
925 error:
927 end:
929}
930
931// doc-key: MkObjectC,MkObjectC-TOR,oD_
932
934static OT_ProcRet NS(MkObjectC_Delete) (MkObjectC_ARGS) {
940 goto end;
941 error:
943 end:
945}
946
947// doc-key: MkObjectC,MkObjectC-TOR,sm_
948
950static OT_ProcRet NS(MkObjectC_DeleteCallbackCleanup) (OtClass_ARGS) {
953 MK_STRN ident = 0;
958 goto end;
959 error:
961 end:
963}
964
966static OT_ProcRet NS(MkObjectC_DeleteCallbackSetup) (OtClass_ARGS) {
969 MK_STRN ident = 0;
971 OT_SETUP_CALLABLE(callback)
973 MK_STRN filter = NULL;
976 MkObjectDeleteCallF fCall = (callback == NULL ? NULL : NS(ObjectDeleteCall));
977 MkErrorC_Check(MK_ERROR_FORMAT,MkObjectDeleteCallbackSetup (ident, fCall, callback, NS(ObjectDeleteFree), filter));
979 goto end;
980 error:
982 end:
983 OT_CLEANUP_CALLABLE(callback)
985}
986
988// MkObjectC_TOR_ATL_API
989
990// END-MkObjectC - created by 'atl_MqC.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
991
992// ---------------------------------------------------------------------------------------
993
994static const OtObjProcDefS NS(sOtClassDef)[] = {
995
996 // BEGIN-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
997
998 // doc-key: MkObjectC,MkDbg,sm_
999 { "::MkObjectC::DbgM" , NS(MkObjectC_DbgM) },
1000
1001 // doc-key: MkObjectC,MkObject,sc_
1002 { "::MkObjectC::GetNull" , NS(MkObjectC_GetNull) },
1003 { "::MkObjectC::HandleResolve" , NS(MkObjectC_HandleResolve) },
1004 { "::MkObjectC::Instances" , NS(MkObjectC_Instances) },
1005
1006 // doc-key: MkObjectC,MkObject,sm_
1007 { "::MkObjectC::DeleteCallbackCleanup" , NS(MkObjectC_DeleteCallbackCleanup) },
1008 { "::MkObjectC::DeleteCallbackSetup" , NS(MkObjectC_DeleteCallbackSetup) },
1009 { "::MkObjectC::HandleDeleteByNetHdl" , NS(MkObjectC_HandleDeleteByNetHdl) },
1010
1011 // doc-key: MkObjectC,MkSys,sm_
1012 { "::MkObjectC::SysHashI32" , NS(MkObjectC_SysHashI32) },
1013 { "::MkObjectC::SysHashSTR" , NS(MkObjectC_SysHashSTR) },
1014
1015 // END-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1016 { NULL }
1017};
1018
1019// --------------------------------------------------------------------------
1020
1021static const OtObjProcDefS NS(sInstanceDef)[] = {
1022
1023 // BEGIN-OBJ - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1024
1025 // doc-key: MkObjectC,MkDbg,om_
1026 { "::MkObjectC::DbgDump" , NS(MkObjectC_DbgDump) },
1027 { "::MkObjectC::DbgL" , NS(MkObjectC_DbgL) },
1028 { "::MkObjectC::DbgLogC" , NS(MkObjectC_DbgLogC) },
1029 { "::MkObjectC::DbgO" , NS(MkObjectC_DbgO) },
1030 { "::MkObjectC::DbgSTACK" , NS(MkObjectC_DbgSTACK) },
1031
1032 // doc-key: MkObjectC,MkLog,om_
1033 { "::MkObjectC::LogC" , NS(MkObjectC_LogC) },
1034 { "::MkObjectC::LogHEX" , NS(MkObjectC_LogHEX) },
1035
1036 // doc-key: MkObjectC,MkObj,om_
1037 { "::MkObjectC::RefGet" , NS(MkObjectC_RefGet) },
1038
1039 // doc-key: MkObjectC,MkObject,oD_
1040 { "::MkObjectC::~MkObjectC" , NS(MkObjectC_Delete) },
1041
1042 // doc-key: MkObjectC,MkObject,od_
1043 { "::MkObjectC::Dispose" , NS(MkObjectC_Dispose) },
1044
1045 // doc-key: MkObjectC,MkObject,oc_
1046 { "::MkObjectC::ErrorCatch" , NS(MkObjectC_ErrorCatch) },
1047 { "::MkObjectC::Next" , NS(MkObjectC_Next) },
1048 { "::MkObjectC::Prev" , NS(MkObjectC_Prev) },
1049 { "::MkObjectC::ToError" , NS(MkObjectC_ToError) },
1050
1051 // doc-key: MkObjectC,MkObject,om_
1052 { "::MkObjectC::HandleDelete" , NS(MkObjectC_HandleDelete) },
1053 { "::MkObjectC::HandleExists" , NS(MkObjectC_HandleExists) },
1054 { "::MkObjectC::HandleGet" , NS(MkObjectC_HandleGet) },
1055 { "::MkObjectC::HandleGetOfType" , NS(MkObjectC_HandleGetOfType) },
1056 { "::MkObjectC::HandleGetOr0" , NS(MkObjectC_HandleGetOr0) },
1057 { "::MkObjectC::IsNull" , NS(MkObjectC_IsNull) },
1058 { "::MkObjectC::Log" , NS(MkObjectC_Log) },
1059 { "::MkObjectC::LogLong" , NS(MkObjectC_LogLong) },
1060 { "::MkObjectC::LogShort" , NS(MkObjectC_LogShort) },
1061 { "::MkObjectC::LogType" , NS(MkObjectC_LogType) },
1062 { "::MkObjectC::ToName" , NS(MkObjectC_ToName) },
1063 { "::MkObjectC::ToNameOfClass" , NS(MkObjectC_ToNameOfClass) },
1064 { "::MkObjectC::ToNameOfType" , NS(MkObjectC_ToNameOfType) },
1065 { "::MkObjectC::ToString" , NS(MkObjectC_ToString) },
1066
1067 // doc-key: MkObjectC,MkSys,om_
1068 { "::MkObjectC::SysKill" , NS(MkObjectC_SysKill) },
1069
1070 // doc-key: MkObjectC,MkSys,omo
1071 { "::MkObjectC::SysGetPid" , NS(MkObjectC_SysGetPid) },
1072
1073 // END-OBJ - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1074 { NULL }
1075};
1076
1082
1083int NS(pMkObjectC_Init) ( OT_MK_ARGS OT_NS_T ns)
1084{
1085 ClassInit
1086
1087 return TCL_OK;
1088error:
1089 return TCL_ERROR;
1090}
1091
1092// ########################################################################################
1093// OVERLOAD
#define OT_SELF
#define OtClass_ARGS
#define MK(n)
#define AtomMake(...)
#define OT_SETUP_VARARGS(min, max, d)
#define OT_CHECK_NIH(val)
#define OT_retObj_SET_BOL(nat)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
#define OT_CHECK_NI4(val)
MOX_NS_T OT_NS_T
#define OT_retObj_SET_Error
#define OT_FRAME_CLEANUP
#define OT_retObj_SET_HDL(nat)
#define OT_OBJECT_DELETE(O)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_SET_I32(nat)
#define OT_Prefix_CALL
#define OT_retObj_SET_OBJ(nat)
MOX_OBJ_T OT_SELF_T
#define NS(n)
#define MkObjectC_ARGS
#define OT_retObj_RETURN
#define OT_GET_CALL_PROC
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_MK_CALL
#define OT_MK_ARGS
#define OT_retObj_SET_STR(nat)
#define SETUP_amkrt(r)
#define OT_CHECK_OPTIONAL(val)
#define OT_retObj_SET_ERR(nat)
#define OT_OBJECT_DISPOSE(O)
#define OT_CHECK_NOARGS
#define MkErrorC_Check(mng, PROC)
#define OT_ProcRet
#define OT_Prefix_ARGS
#define META2VAL_O(o)
#define OT_CHECK_STRN(val)
MOX_OBJ_T OT_OBJ_T
tag: nhi1-release-250425
#define Instances_doc
#define LogShort_doc
#define SysKill_doc
#define DbgLogC_doc
#define SysGetPid_doc
#define LogType_doc
#define SysHashSTR_doc
#define HandleDeleteByNetHdl_doc
#define SysHashI32_doc
#define OT_SETUP_hdl
#define ToString_doc
#define ToName_doc
#define LogC_doc
#define Log_doc
#define OT_SETUP_hdl_destr
#define HandleExists_doc
#define IsNull_doc
#define LogHEX_doc
#define GetNull_doc
#define LogLong_doc
#define Next_doc
#define HandleResolve_doc
#define DbgM_doc
#define Prev_doc
#define MkDbgDumpTmpl(...)
#define ToError_doc
#define OT_CLASS
#define OT_SETUP_hdl_static
#define DeleteCallbackCleanup_doc
#define DbgO_doc
#define HandleGet_doc
static enum MkErrorE TclDbgDump(OT_Prefix_ARGS MK_OBJ const obj, MK_STRN const message, MK_STRN const callfunc)
#define ToNameOfType_doc
#define HandleDelete_doc
#define OT_SETUP_hdl__null_allow
#define MkObjectToNameOfClassTmpl(hdl)
#define DbgDump_doc
#define MkObjectErrorCatchTmpl(...)
#define Delete_doc
#define DeleteCallbackSetup_doc
#define HandleGetOr0_doc
#define DbgL_doc
#define Dispose_doc
#define ErrorCatch_doc
#define ClassInit
#define DbgSTACK_doc
#define HandleGetOfType_doc
#define RefGet_doc
#define ToNameOfClass_doc
#define MK_ERROR_FORMAT
#define MK_NULL_YES
flag, allow NULL
MkErrorE
collection for the different error-codes …
@ MK_OK
(persistent) everything is OK.
int32_t MK_NUM
array size data-type ('num' items in array …
MK_PTRB * MK_PTR
generic pointer data-type
const MK_STRB * MK_STRN
constant string pointer data-type
MK_PTRB const * MK_EXP
exception object pointer
int32_t MK_HDL
4 byte int handle data-type
signed int MK_I32
4 byte integer data-type
int MK_DBG
debug-level data-type …
#define MkObjectHandleResolve(...)
#define MkObjectHandleGet(...)
static MK_HDL MkObjectHandleGetOfType(MK_OBJ const obj)
Export-Slot - returns typeHdl of the obj .
static MK_OBJ MkObjectGetNull(void)
Null-Slot - return a MkObjectC typed NULL instance …
#define MkObjectHandleDelete(...)
static MK_OBJ MkObjectPrev(MK_OBJ const obj)
get previous instance from linked-list of MkObjectS type
static MK_OBJ MkObjectNext(MK_OBJ const obj)
get next instance from linked-list of MkObjectS type
#define MkObjectInstances()
MK_HDL MkObjectHandleGetOr0(MK_OBJ const obj)
return export-hdl or 0 in not created…
bool MkObjectHandleExists(MK_OBJ const obj)
check if obj has already a handle defined…
#define MkObjectHandleDeleteByNetHdl(...)
#define MkDbgM(...)
#define MkDbgLogC(...)
#define MkDbgL(...)
#define MkDbgO(...)
#define MkDbgSTACK(...)
#define MkObjectLogLong(...)
#define MkObjectLogShort(...)
#define MkObjectLog(...)
#define MkLogC(...)
#define MkLogV(...)
#define MkLogHEX(...)
#define MkObjectLogType(...)
static bool MkObjectIsNull(MK_OBJ const obj)
ckeck if the object is "MK_NULL"
#define MkObjectToName(...)
#define MkObjectToString(...)
#define MkObjectToError(...)
#define MkObjectToNameOfType(...)
static MK_I32 MkRefGet(MK_OBJ const obj)
get the reference-count
enum MkErrorE MkSysKill(MK_OBJN fmtobj, MK_I32 pid, MK_I32 signal)
kill syscall with atlmkkernel error plugin
enum MkErrorE MkSysGetPid(MK_OBJN fmtobj, MK_I32 *pid_out)
getpid syscall with atlmkkernel error plugin
MK_STRN MkSysHashSTR(MK_STRN key, MK_NUM length)
compute the HASH from a string …
static bool MkSysStringIsNULL(MK_STRN str)
test if string is NULL or EMPTY …
MK_I32 MkSysHashI32(MK_STRN key, MK_NUM length)
same as MkSysHashSTR but return MK_I32 …
#define MkObjectDeleteCallbackCleanup(...)
#define MkObjectDeleteCallbackSetup(...)
enum MkErrorE(* MkObjectDeleteCallF)(MK_RT mkrt, MK_OBJN const obj, MK_STRN const typeName, MK_HDL const typeHdl, MK_HDL const objHdl, MK_CBP const __data__)
static callback to delete an obj …
static MK_I32 MkRuntimeDebugGet(void)
get the MkRuntimeS::debug value …
#define MK_RT_ARGS
#define MK_RT_REF
#define OT_CHECK_CALLABLE(val)
#define OT_CLEANUP_CALLABLE(val)
#define OT_SETUP_CALLABLE(val)
#define OT_CHECK_OBJN(val, nullB)
#define OT_CHECK_EXP(val)
binary data default format …
The data-type to store and handle the error-condition …
object header …