11#define SetupRtFromHdl_X(hd) MkRtSetup_O(hd)
12#define SetupRtFromHdl_XN(hd) MkRtSetup_ON(hd)
16#define META_FILE_NAME "MkObjectC_atl.c"
20#define OT_CLASS amkrt->AtlMkObjectC
21#define OT_NULL amkrt->AtlMkObjectC_MK_NULL
22#define OT_CLASS_NAME "MkObjectC"
24#define SELF2HDL(O) MkObj(VAL2MNG(O))
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)
59#define OT_retObj_CONSTR(x) OT_retObj_SET(AtomInit(OT_SELF,MkObjectC_X2obj(x),amkrt))
64 if (MkObjectCTT == NULL) MkObjectCTT = MkObjectSTT; \
67 if (MkObjectCTT->selfCreate == NS(MkObjectC_selfCreate)) return MK_OK; \
70 MkObjectCTT->selfCreate = NS(MkObjectC_selfCreate); \
71 MkObjectCTT->selfDelete = NS(MkObjectC_selfDelete); \
72 MkObjectCTT->selfUnlink = NS(MkObjectC_selfUnlink); \
75 OT_CLASS = AltClassDef(MkObjectCTT,&amkrt->AtlMkObjectC_NS); \
76 if (OT_CLASS == NULL) goto error; \
77 OT_REF_INCR(OT_CLASS); \
80 check_LNG(AtlUnknownSetup (NS(sOtClassDef),amkrt)) goto error; \
83 check_LNG(AtlUnknownSetup (NS(sInstanceDef),amkrt)) goto error; \
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; \
91 OT_NULL = AtomCreateNULL(OT_CLASS, "::MkObjectC::MK_NULL", (MK_PTR)amkrt); \
92 if (OT_NULL == NULL) goto error; \
99#define DbgM_doc "MkObjectC::DbgM message:string ?debug:int32=0? ?callfunc:string=\"MK_NULL\"? ?lvl:int32=0?"
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)"
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)"
113#define RefGet_doc "int32 [MkObjectC::RefGet $obj]"
116#define GetNull_doc "MkObjectC [MkObjectC::GetNull]"
117#define HandleResolve_doc "MkObjectC [MkObjectC::HandleResolve netHdl:MK_HDL]"
118#define Instances_doc "MkObjectC [MkObjectC::Instances]"
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"
126#define Delete_doc "MkObjectC::Delete $obj"
129#define Dispose_doc "MkObjectC::Dispose $obj"
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]"
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)"
154#define SysHashI32_doc "int32 [MkObjectC::SysHashI32 key:string ?length:int32=-1?]"
155#define SysHashSTR_doc "string [MkObjectC::SysHashSTR key:string ?length:int32=-1?]"
158#define SysKill_doc "MkObjectC::SysKill $fmtobj pid:int32 signal:int32 (const)"
161#define SysGetPid_doc "int32 [MkObjectC::SysGetPid $fmtobj] (const)"
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__)
181 MkLogV(obj,callfunc,0,MK_COLOR_CYAN
" >>> "MK_COLOR_RESET
"\n");
187 MkLogV(obj,callfunc,0,MK_COLOR_CYAN
" <<< "MK_COLOR_RESET
"\n");
431 MkDbgL (hdl, message, debug, callfunc, lvl);
519 MkDbgM (message, debug, callfunc, lvl);
554 MkLogC (hdl, message, debug, callfunc);
999 {
"::MkObjectC::DbgM" ,
NS(MkObjectC_DbgM) },
1002 {
"::MkObjectC::GetNull" ,
NS(MkObjectC_GetNull) },
1003 {
"::MkObjectC::HandleResolve" ,
NS(MkObjectC_HandleResolve) },
1004 {
"::MkObjectC::Instances" ,
NS(MkObjectC_Instances) },
1007 {
"::MkObjectC::DeleteCallbackCleanup" ,
NS(MkObjectC_DeleteCallbackCleanup) },
1008 {
"::MkObjectC::DeleteCallbackSetup" ,
NS(MkObjectC_DeleteCallbackSetup) },
1009 {
"::MkObjectC::HandleDeleteByNetHdl" ,
NS(MkObjectC_HandleDeleteByNetHdl) },
1012 {
"::MkObjectC::SysHashI32" ,
NS(MkObjectC_SysHashI32) },
1013 {
"::MkObjectC::SysHashSTR" ,
NS(MkObjectC_SysHashSTR) },
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) },
1033 {
"::MkObjectC::LogC" ,
NS(MkObjectC_LogC) },
1034 {
"::MkObjectC::LogHEX" ,
NS(MkObjectC_LogHEX) },
1037 {
"::MkObjectC::RefGet" ,
NS(MkObjectC_RefGet) },
1040 {
"::MkObjectC::~MkObjectC" ,
NS(MkObjectC_Delete) },
1043 {
"::MkObjectC::Dispose" ,
NS(MkObjectC_Dispose) },
1046 {
"::MkObjectC::ErrorCatch" ,
NS(MkObjectC_ErrorCatch) },
1047 {
"::MkObjectC::Next" ,
NS(MkObjectC_Next) },
1048 {
"::MkObjectC::Prev" ,
NS(MkObjectC_Prev) },
1049 {
"::MkObjectC::ToError" ,
NS(MkObjectC_ToError) },
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) },
1068 {
"::MkObjectC::SysKill" ,
NS(MkObjectC_SysKill) },
1071 {
"::MkObjectC::SysGetPid" ,
NS(MkObjectC_SysGetPid) },
#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)
#define OT_retObj_SET_Error
#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_retObj_SET_OBJ(nat)
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_retObj_SET_STR(nat)
#define OT_CHECK_OPTIONAL(val)
#define OT_retObj_SET_ERR(nat)
#define OT_OBJECT_DISPOSE(O)
#define MkErrorC_Check(mng, PROC)
#define OT_CHECK_STRN(val)
#define HandleDeleteByNetHdl_doc
#define OT_SETUP_hdl_destr
#define HandleResolve_doc
#define MkDbgDumpTmpl(...)
#define OT_SETUP_hdl_static
#define DeleteCallbackCleanup_doc
static enum MkErrorE TclDbgDump(OT_Prefix_ARGS MK_OBJ const obj, MK_STRN const message, MK_STRN const callfunc)
#define OT_SETUP_hdl__null_allow
#define MkObjectToNameOfClassTmpl(hdl)
#define MkObjectErrorCatchTmpl(...)
#define DeleteCallbackSetup_doc
#define HandleGetOfType_doc
#define ToNameOfClass_doc
#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 MkObjectLogLong(...)
#define MkObjectLogShort(...)
#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 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 …