theKernel 10.0
Loading...
Searching...
No Matches
LibMkKernel_atl.c File Reference

tag: nhi1-release-250425 More...

#include "LibMkKernel_private_atl.h"
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
#include <float.h>
#include <math.h>
#include <ctype.h>
#include "tmpl/mk_type_S_lng.h"
#include "mk_check_atl.h"
#include "utlist_mk.h"
#include "tmpl/mk_misc_ObjAs_lng.h"
#include "tmpl/mk_misc_check_lng.h"
#include "LibMkKernel_registry_atl.h"
+ Include dependency graph for LibMkKernel_atl.c:

Go to the source code of this file.

Macros

#define META_FILE_NAME   "MkKernel_atl.c"
 
#define VER   TCL_OO_METHOD_VERSION_CURRENT
 
#define OtClass_ARGS   OBJCMD_ARGS
 
#define OT_CLASS   NULL
 
#define OT_SELF   NULL
 
#define OT_SETUP_hdl_static
 
#define MkSetupTmpl()
 
#define MkCleanupTmpl()
 
#define ErrorE_FromInt_doc   "MkErrorE [MkKernel::ErrorE_FromInt value:int32]"
 
#define IdSE_FromInt_doc   "MkIdSE [MkKernel::IdSE_FromInt value:int32]"
 
#define TimeoutE_FromInt_doc   "MkTimeoutE [MkKernel::TimeoutE_FromInt value:int32]"
 
#define TypeE_FromInt_doc   "MkTypeE [MkKernel::TypeE_FromInt value:int32]"
 
#define ErrorE_ToInt_doc   "int32 [MkKernel::ErrorE_ToInt value:MkErrorE]"
 
#define ErrorE_ToString_doc   "string [MkKernel::ErrorE_ToString value:MkErrorE]"
 
#define IdSE_ToInt_doc   "int32 [MkKernel::IdSE_ToInt value:MkIdSE]"
 
#define IdSE_ToString_doc   "string [MkKernel::IdSE_ToString value:MkIdSE]"
 
#define TimeoutE_ToInt_doc   "int32 [MkKernel::TimeoutE_ToInt value:MkTimeoutE]"
 
#define TimeoutE_ToString_doc   "string [MkKernel::TimeoutE_ToString value:MkTimeoutE]"
 
#define TypeE_ToInt_doc   "int32 [MkKernel::TypeE_ToInt value:MkTypeE]"
 
#define TypeE_ToString_doc   "string [MkKernel::TypeE_ToString value:MkTypeE]"
 
#define Cleanup_doc   "MkKernel::Cleanup"
 
#define Setup_doc   "MkKernel::Setup"
 
#define AtlClassDefS_SIG   0x88342873
 
#define ClassDefCreateNN(...)
 
#define AtlClassDefGetTypN(...)
 
#define AtlClassDefGetTypNN(...)
 
#define AtlClassDefGetTypNNN(...)
 
#define FRAME_UPDATE
 
#define FRAME_GET(key)
 
#define Get_Call_Cmd__SIZE   100
 
#define OT_LNG_STRING(o)
 
#define OT_LNG_STRING_BYTES(o)
 
#define OT_LNG_STRING_LENGTH(o)
 
#define OT_LNG_SKIP_TYPE   int
 
#define SIZE   20
 
#define __printV(_color, _caller, _fmt, ...)
 
#define _printV(fmt, ...)
 
#define objF   "[type<%s>, refCount<MQ=%i,TCL=%i,SHARED=%i>, ptr<MQ=%p,TCL=%p>]"
 
#define objA   type, (retObj?retObj->refCount:-1),valO->refCount, Tcl_IsShared(valO), retObj, (retObj?retObj->self:NULL)
 
#define AtlRtFree(tok)
 
#define regTclObj2(t, v)
 
#define regTclObj(t)
 
#define regTclCmd(t)
 
#define regTclObj2(t, v)
 
#define regTclObj(t)
 
#define regTclCmd(t)
 
#define regTclObj2(t, v)
 
#define regTclObj(t)
 
#define regTclCmd(t)
 

Functions

void atlmkkernel_ClassDef_ns_delete (ClientData clientData)
 
static AtlClassDefT atlmkkernel_ClassDefCreateNN (OT_MK_ARGS OT_NS_T clsNS, OT_CLS_T classO, MK_TYP classTT)
 
static MK_TYP atlmkkernel_AtlClassDefGetTypN (OT_MK_ARGS OT_CLS_T clsOi, int flags)
 
static MK_TYP atlmkkernel_AtlClassDefGetTypNN (OT_MK_ARGS OT_NS_T clsP, OT_CLS_T clsO, int flags)
 
static MK_TYP atlmkkernel_AtlClassDefGetTypNNN (OT_MK_ARGS OT_NS_T clsP, OT_CLS_T clsO, int flags)
 
AtlClassDefT atlmkkernel_AtlClassDefGetNN (OT_MK_ARGS OT_NS_T classP, OT_CLS_T classO, MK_TYP classTT, int flags)
 
OT_CLS_T atlmkkernel_ClassDef (OT_MK_ARGS MK_TYP typeTT, OT_NS_T *clsNsP)
 
MK_STRN atlmkkernel_Get_Call_Proc (FRAME_ARGS)
 
MK_STRN atlmkkernel_Get_Call_Cmd (FRAME_ARGS)
 
MK_STRN atlmkkernel_Get_Call_File (FRAME_ARGS)
 
MK_I32 atlmkkernel_Get_Call_Line (FRAME_ARGS)
 
bool atlmkkernel_Get_Call_Stack (OT_MK_ARGS MK_ERR const err, int level)
 
int atlmkkernel_EnumFlagWorker (MK_RT mkrt, OT_ENV_T interp, const struct LookupEnumE *keys, OT_OBJ_T enumE, int *ret)
 
bool atlmkkernel_TestObject (OT_Prefix_ARGS OT_OBJ_T myO, OT_CLS_T clsO, MK_OBJ *objP, MkTestClassE *flagP)
 
MK_STRN atlmkkernel_GetTypeFromObj (OT_Prefix_ARGS OT_OBJ_T myO, bool *isObject)
 helper to print the type-name of a Tcl_Obj MkKernel::print type $RET
 
static MK_STRN atlmkkernel_NamespaceTailCmd (MK_STRN name)
 
MK_STRN atlmkkernel_ClassName (OT_Prefix_ARGS OT_OBJ_T myO, bool doShort)
 
static void atlmkkernel_LngTupleToMkBufferListS (SETUP_ARGS, int *skipP, MK_BFL *retP)
 
enum MkErrorE atlmkkernel_LngListToMkBufferListS (OT_Prefix_ARGS OT_OBJ_T argsO, MK_BFL *retP)
 
int atlmkkernel_OT_ERROR_LNG_RETURN_HDL_IS_NULL (OT_MK_ARGS OT_CLS_T clsO, OT_OBJ_T objO)
 
int atlmkkernel_UnknownSetup (OT_ENV_T interp, const OtObjProcDefS methodsDefs[], const ClientData clientData)
 
enum MkErrorE atlmkkernel_Obj_AsSTRN (OT_Check_ARGS, MK_STRN *retP)
 
enum MkErrorE atlmkkernel_Obj_AsSTR_COPY (OT_Check_ARGS, MK_STR ret, size_t size)
 
int atlmkkernel_EvalObjvVA (OT_ENV_T interp, int flags,...)
 
int atlmkkernel_FillNamespace (OT_ENV_T interp, const OtObjProcDefS type[], ClientData env)
 
MK_STRN atlmkkernel_ObjvToString (MK_RT mkrt, MK_STRN cls, ATL_ARGS)
 
void atlmkkernel_PrintObj2 (OT_Prefix_ARGS MK_STRN header, OT_OBJ_T obj, MK_STRN caller)
 
MK_STR atlmkkernel_PrintObj (OT_Prefix_ARGS MK_STRN header, OT_OBJ_T valO)
 helper to print a Tcl_Obj MkKernel::print object $RET
 
int atlmkkernel_AtlInfoExists (OT_MK_ARGS OT_OBJ_T var)
 
int atlmkkernel_AtlArrayExists (OT_MK_ARGS OT_OBJ_T var)
 
MK_STRN atlmkkernel_AtlInfoScript (OT_MK_ARGS MK_STRN script)
 
int atlmkkernel_AtlClassIsN (OT_MK_ARGS OT_SELF_T myNsO, OT_CLS_T clsNsO, bool *boolP)
 
static void atlmkkernel_Atom_ns_delete (MK_MNG mng)
 
OT_SELF_T atlmkkernel_AtomInit (OT_MK_ARGS OT_SELF_T selfO, MK_OBJ obj, MK_PTR const env)
 
OT_SELF_T atlmkkernel_AtomCreate (OT_MK_ARGS MK_OBJ obj, OT_CLS_T clsC, OT_OBJ_T nameO, OT_OBJ_T nsO, int objc, OT_OBJ_T const objv[], MK_PTR const env)
 
OT_SELF_T atlmkkernel_AtomMake (OT_MK_ARGS MK_OBJ obj, OT_CLS_T clsC, OT_OBJ_T nameO, OT_OBJ_T nsO, MK_PTR const env)
 
OT_SELF_T atlmkkernel_AtomCreateCONSTR (OT_MK_ARGS MK_OBJ obj, OT_CLS_T clsC, OT_OBJ_T nameO, MK_PTR const env)
 
static int atlmkkernel_Print_Class_Cmd (OtClass_ARGS)
  MkKernel::print object|type tclObj
 
static int atlmkkernel_Const_Class_Cmd (OtClass_ARGS)
  tclObj [MkKernel::const maxY|minY|maxS|minS|maxI|minI|maxF|minF|maxW|minW|maxD|minD]
 
static int atlmkkernel_Support_Class_Cmd (OtClass_ARGS)
  bool [MkKernel::support thread|fork]
 
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_FromInt (OtClass_ARGS)
  Atl: (static) MkErrorE [MkKernel::ErrorE_FromInt value:int32] C-API
return the MkErrorE from integer …
 
static OT_ProcRet atlmkkernel_MkKernel_IdSE_FromInt (OtClass_ARGS)
  Atl: (static) MkIdSE [MkKernel::IdSE_FromInt value:int32] C-API
return the MkIdSE from integer …
 
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_FromInt (OtClass_ARGS)
  Atl: (static) MkTimeoutE [MkKernel::TimeoutE_FromInt value:int32] C-API
return the MkTimeoutE from integer …
 
static OT_ProcRet atlmkkernel_MkKernel_TypeE_FromInt (OtClass_ARGS)
  Atl: (static) MkTypeE [MkKernel::TypeE_FromInt value:int32] C-API
return the MkTypeE from integer …
 
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_ToInt (OtClass_ARGS)
  Atl: (static) int32 [MkKernel::ErrorE_ToInt value:MkErrorE] C-API
return the MkErrorE as integer …
 
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_ToString (OtClass_ARGS)
  Atl: (static) string [MkKernel::ErrorE_ToString value:MkErrorE] C-API
return the MkErrorE as string …
 
static OT_ProcRet atlmkkernel_MkKernel_IdSE_ToInt (OtClass_ARGS)
  Atl: (static) int32 [MkKernel::IdSE_ToInt value:MkIdSE] C-API
return the MkIdSE as integer …
 
static OT_ProcRet atlmkkernel_MkKernel_IdSE_ToString (OtClass_ARGS)
  Atl: (static) string [MkKernel::IdSE_ToString value:MkIdSE] C-API
return the MkIdSE as string …
 
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_ToInt (OtClass_ARGS)
  Atl: (static) int32 [MkKernel::TimeoutE_ToInt value:MkTimeoutE] C-API
return the MkTimeoutE as integer …
 
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_ToString (OtClass_ARGS)
  Atl: (static) string [MkKernel::TimeoutE_ToString value:MkTimeoutE] C-API
return the MkTimeoutE as string …
 
static OT_ProcRet atlmkkernel_MkKernel_TypeE_ToInt (OtClass_ARGS)
  Atl: (static) int32 [MkKernel::TypeE_ToInt value:MkTypeE] C-API
return the MkTypeE as integer …
 
static OT_ProcRet atlmkkernel_MkKernel_TypeE_ToString (OtClass_ARGS)
  Atl: (static) string [MkKernel::TypeE_ToString value:MkTypeE] C-API
return the MkTypeE as string …
 
static OT_ProcRet atlmkkernel_MkKernel_Cleanup (OtClass_ARGS)
  Atl: (static) MkKernel::Cleanup C-API
cleanup atlmkkernel internal memory …
 
static OT_ProcRet atlmkkernel_MkKernel_Setup (OtClass_ARGS)
  Atl: (static) MkKernel::Setup C-API
setup atlmkkernel internal memory …
 
OT_ATL_EXTERN int Atlmkkernel_Unload (OT_ENV_T interp, int flags)
 
Enum From Obj
int atlmkkernel_Get_MkErrorE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MkErrorE *ret)
 
int atlmkkernel_Get_MkIdSE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MkIdSE *ret)
 
int atlmkkernel_Get_MkTimeoutE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MkTimeoutE *ret)
 
int atlmkkernel_Get_MkTypeE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MkTypeE *ret)
 
Enum To String
OT_OBJ_T atlmkkernel_MkBoolE_ToString (const enum MkBoolE type)
 
OT_OBJ_T atlmkkernel_MkErrorE_ToString (const enum MkErrorE type)
 
OT_OBJ_T atlmkkernel_MkIdSE_ToString (const enum MkIdSE type)
 
OT_OBJ_T atlmkkernel_MkNativeIsE_ToString (const enum MkNativeIsE type)
 
OT_OBJ_T atlmkkernel_MkTimeoutE_ToString (const enum MkTimeoutE type)
 
OT_OBJ_T atlmkkernel_MkTypeE_ToString (const enum MkTypeE type)
 

Variables

static MK_UNUSED const OtObjProcDefS atlmkkernel_sOtClassDef []
 
static const OtObjProcDefS atlmkkernel_sInstanceDef []
 
__thread OT_MK_RT_S amkrtR = {0}
 

Detailed Description

tag: nhi1-release-250425

Definition in file LibMkKernel_atl.c.

Macro Definition Documentation

◆ __printV

#define __printV ( _color,
_caller,
_fmt,
... )
Value:
fprintf(MK_OUT, MK_DEBUG_FMT _color _fmt MK_COLOR_RESET "\n", MK_DEBUG_ARG_1(_caller), __VA_ARGS__)

Definition at line 900 of file LibMkKernel_atl.c.

900#define __printV(_color,_caller,_fmt,...) \
901 fprintf(MK_OUT, MK_DEBUG_FMT _color _fmt MK_COLOR_RESET "\n", MK_DEBUG_ARG_1(_caller), __VA_ARGS__)

◆ _printV

#define _printV ( fmt,
... )
Value:
__printV(MK_COLOR_CYAN,caller,fmt, __VA_ARGS__)
#define __printV(_color, _caller, _fmt,...)

Definition at line 902 of file LibMkKernel_atl.c.

902#define _printV(fmt,...) \
903 __printV(MK_COLOR_CYAN,caller,fmt, __VA_ARGS__)

◆ AtlClassDefGetTypN

#define AtlClassDefGetTypN ( ...)
Value:
#define AtlClassDefGetTypN(...)
#define NS(n)
#define OT_MK_CALL

Definition at line 226 of file LibMkKernel_atl.c.

◆ AtlClassDefGetTypNN

#define AtlClassDefGetTypNN ( ...)
Value:
#define AtlClassDefGetTypNN(...)

Definition at line 229 of file LibMkKernel_atl.c.

◆ AtlClassDefGetTypNNN

#define AtlClassDefGetTypNNN ( ...)
Value:
#define AtlClassDefGetTypNNN(...)

Definition at line 232 of file LibMkKernel_atl.c.

◆ AtlClassDefS_SIG

#define AtlClassDefS_SIG   0x88342873

Definition at line 180 of file LibMkKernel_atl.c.

◆ AtlRtFree

#define AtlRtFree ( tok)
Value:
if (amkrt->tok) OT_REF_DECR_AND_NULL(amkrt->tok);
#define OT_REF_DECR_AND_NULL(_obj)

◆ ClassDefCreateNN

#define ClassDefCreateNN ( ...)
Value:
#define ClassDefCreateNN(...)

Definition at line 211 of file LibMkKernel_atl.c.

◆ Cleanup_doc

#define Cleanup_doc   "MkKernel::Cleanup"

Definition at line 173 of file LibMkKernel_atl.c.

◆ ErrorE_FromInt_doc

#define ErrorE_FromInt_doc   "MkErrorE [MkKernel::ErrorE_FromInt value:int32]"

Definition at line 157 of file LibMkKernel_atl.c.

◆ ErrorE_ToInt_doc

#define ErrorE_ToInt_doc   "int32 [MkKernel::ErrorE_ToInt value:MkErrorE]"

Definition at line 163 of file LibMkKernel_atl.c.

◆ ErrorE_ToString_doc

#define ErrorE_ToString_doc   "string [MkKernel::ErrorE_ToString value:MkErrorE]"

Definition at line 164 of file LibMkKernel_atl.c.

◆ FRAME_GET

#define FRAME_GET ( key)
Value:
OT_OBJ_T key = NULL; \
Tcl_DictObjGet(interp,*frameP,amkrt->key,&key);
MOX_OBJ_T OT_OBJ_T

Definition at line 394 of file LibMkKernel_atl.c.

394#define FRAME_GET(key) \
395 OT_OBJ_T key = NULL; \
396 Tcl_DictObjGet(interp,*frameP,amkrt->key,&key);

◆ FRAME_UPDATE

#define FRAME_UPDATE
Value:
if (*frameP == NULL) { \
RL_init( 2, info_frame_2, RL_NewS(0,"::tcl::info::frame") ) ; RL_T(1,null0) ; \
OT_OBJ_T ret = RL_EvalRtEx(TCL_EVAL_GLOBAL); \
if (ret==NULL) OT_ERROR_ABNORMAL(MK_ERROR_PANIC); \
Tcl_IncrRefCount(ret); \
*frameP = ret; \
} \
#define OT_ERROR_ABNORMAL(mng)
#define RL_EvalRtEx(f)
#define MK_ERROR_PANIC

Definition at line 385 of file LibMkKernel_atl.c.

385#define FRAME_UPDATE \
386 if (*frameP == NULL) { \
387 RL_init( 2, info_frame_2, RL_NewS(0,"::tcl::info::frame") ) ; RL_T(1,null0) ; \
388 OT_OBJ_T ret = RL_EvalRtEx(TCL_EVAL_GLOBAL); \
389 if (ret==NULL) OT_ERROR_ABNORMAL(MK_ERROR_PANIC); \
390 Tcl_IncrRefCount(ret); \
391 *frameP = ret; \
392 } \
393

◆ Get_Call_Cmd__SIZE

#define Get_Call_Cmd__SIZE   100

◆ IdSE_FromInt_doc

#define IdSE_FromInt_doc   "MkIdSE [MkKernel::IdSE_FromInt value:int32]"

Definition at line 158 of file LibMkKernel_atl.c.

◆ IdSE_ToInt_doc

#define IdSE_ToInt_doc   "int32 [MkKernel::IdSE_ToInt value:MkIdSE]"

Definition at line 165 of file LibMkKernel_atl.c.

◆ IdSE_ToString_doc

#define IdSE_ToString_doc   "string [MkKernel::IdSE_ToString value:MkIdSE]"

Definition at line 166 of file LibMkKernel_atl.c.

◆ META_FILE_NAME

#define META_FILE_NAME   "MkKernel_atl.c"

Definition at line 11 of file LibMkKernel_atl.c.

◆ MkCleanupTmpl

#define MkCleanupTmpl ( )

Definition at line 45 of file LibMkKernel_atl.c.

◆ MkSetupTmpl

#define MkSetupTmpl ( )

Definition at line 44 of file LibMkKernel_atl.c.

◆ objA

#define objA   type, (retObj?retObj->refCount:-1),valO->refCount, Tcl_IsShared(valO), retObj, (retObj?retObj->self:NULL)

◆ objF

#define objF   "[type<%s>, refCount<MQ=%i,TCL=%i,SHARED=%i>, ptr<MQ=%p,TCL=%p>]"

◆ OT_CLASS

#define OT_CLASS   NULL

Definition at line 21 of file LibMkKernel_atl.c.

◆ OT_LNG_SKIP_TYPE

#define OT_LNG_SKIP_TYPE   int

Definition at line 797 of file LibMkKernel_atl.c.

◆ OT_LNG_STRING

#define OT_LNG_STRING ( o)
Value:
Tcl_GetString(o)

Definition at line 793 of file LibMkKernel_atl.c.

◆ OT_LNG_STRING_BYTES

#define OT_LNG_STRING_BYTES ( o)
Value:
o->bytes

Definition at line 795 of file LibMkKernel_atl.c.

◆ OT_LNG_STRING_LENGTH

#define OT_LNG_STRING_LENGTH ( o)
Value:
o->length

Definition at line 796 of file LibMkKernel_atl.c.

◆ OT_SELF

#define OT_SELF   NULL

Definition at line 23 of file LibMkKernel_atl.c.

◆ OT_SETUP_hdl_static

#define OT_SETUP_hdl_static
Value:
MK_UNUSED int __skip=1; \
MK_UNUSED OT_MK_RT_T amkrt = clientData; \
MK_UNUSED MK_RT mkrt = amkrt->mkrt; \
#define MkERROR
#define MK_UNUSED
mark unnused variables and functions
The data-type to store and handle the error-condition …
The MkRuntimeS provide a per-thread environment for atlmkkernel …

Definition at line 25 of file LibMkKernel_atl.c.

25#define OT_SETUP_hdl_static \
26 MK_UNUSED int __skip=1; \
27 MK_UNUSED OT_MK_RT_T amkrt = clientData; \
28 MK_UNUSED MK_RT mkrt = amkrt->mkrt; \
29 MK_UNUSED MK_ERR hdl = &MkERROR; \
30

◆ OtClass_ARGS

#define OtClass_ARGS   OBJCMD_ARGS

Definition at line 19 of file LibMkKernel_atl.c.

◆ regTclCmd [1/3]

#define regTclCmd ( t)
Value:
#define AtlRtFree(tok)

◆ regTclCmd [2/3]

#define regTclCmd ( t)
Value:
#define regTclObj2(t, v)

◆ regTclCmd [3/3]

#define regTclCmd ( t)
Value:

◆ regTclObj [1/3]

#define regTclObj ( t)
Value:

◆ regTclObj [2/3]

#define regTclObj ( t)
Value:

◆ regTclObj [3/3]

#define regTclObj ( t)
Value:

◆ regTclObj2 [1/3]

#define regTclObj2 ( t,
v )
Value:

◆ regTclObj2 [2/3]

#define regTclObj2 ( t,
v )
Value:
if (amkrt->t) OT_REF_DECR(amkrt->t)
#define OT_REF_DECR(_obj)

◆ regTclObj2 [3/3]

#define regTclObj2 ( t,
v )
Value:
amkrt->t = STR2VAL(v); Tcl_IncrRefCount(amkrt->t);
#define STR2VAL(ptr)

◆ Setup_doc

#define Setup_doc   "MkKernel::Setup"

Definition at line 174 of file LibMkKernel_atl.c.

◆ SIZE

#define SIZE   20

◆ TimeoutE_FromInt_doc

#define TimeoutE_FromInt_doc   "MkTimeoutE [MkKernel::TimeoutE_FromInt value:int32]"

Definition at line 159 of file LibMkKernel_atl.c.

◆ TimeoutE_ToInt_doc

#define TimeoutE_ToInt_doc   "int32 [MkKernel::TimeoutE_ToInt value:MkTimeoutE]"

Definition at line 167 of file LibMkKernel_atl.c.

◆ TimeoutE_ToString_doc

#define TimeoutE_ToString_doc   "string [MkKernel::TimeoutE_ToString value:MkTimeoutE]"

Definition at line 168 of file LibMkKernel_atl.c.

◆ TypeE_FromInt_doc

#define TypeE_FromInt_doc   "MkTypeE [MkKernel::TypeE_FromInt value:int32]"

Definition at line 160 of file LibMkKernel_atl.c.

◆ TypeE_ToInt_doc

#define TypeE_ToInt_doc   "int32 [MkKernel::TypeE_ToInt value:MkTypeE]"

Definition at line 169 of file LibMkKernel_atl.c.

◆ TypeE_ToString_doc

#define TypeE_ToString_doc   "string [MkKernel::TypeE_ToString value:MkTypeE]"

Definition at line 170 of file LibMkKernel_atl.c.

◆ VER

#define VER   TCL_OO_METHOD_VERSION_CURRENT

Definition at line 12 of file LibMkKernel_atl.c.

Function Documentation

◆ atlmkkernel_AtlArrayExists()

int atlmkkernel_AtlArrayExists ( OT_MK_ARGS OT_OBJ_T var)

Definition at line 1013 of file LibMkKernel_atl.c.

1014{
1015 RL_init( 2, array_exists, RL_NewS(0,"::tcl::array::exists") ); RL_O(1,var) ;
1016 return Ot_GetBooleanFromObj(RL_EvalRt(TCL_EVAL_GLOBAL));
1017error:
1018 return 0;
1019}
#define Ot_GetBooleanFromObj(val)
#define RL_EvalRt(f)

◆ atlmkkernel_AtlClassDefGetNN()

AtlClassDefT atlmkkernel_AtlClassDefGetNN ( OT_MK_ARGS OT_NS_T classP,
OT_CLS_T classO,
MK_TYP classTT,
int flags )

Definition at line 235 of file LibMkKernel_atl.c.

236{
237//colorBLUE("classP->fullName<%s>, classO<%s>, classTT<%s>", classP->fullName, VAL2STR_NULL(classO), MK_TYP2STR(classTT));
238 assert(classP != NULL);
239 if (classP->clientData) {
240 AtlClassDefT clsDef = classP->clientData;
241 assert(clsDef->signature == AtlClassDefS_SIG);
242 return clsDef;
243 }
244 if (classO == NULL)
245 classO = STR2VAL(classP->fullName);
246 #ifndef NDEBUG
247 OT_NS_T classNsP = MoxResolveN(classO);
248 assert(classNsP == classP);
249 #endif
250 if (classTT == NULL) {
252 int retI;
253
254 // is this a ATL Class ?
255 OT_OBJ_T superO = MoxCls__SUPER__NN(classP,flags);
256 if (superO == NULL) {
257 if (flags & TCL_LEAVE_ERR_MSG) {
258 OT_ERROR_VAR_DEFAULT("[ClassDefError] unable to retrieve '__SUPER__' from '%s'\n -> %s",
259 classP->fullName, Tcl_GetStringResult(interp));
260 Tcl_SetErrorCode(interp,"ATLMK","CLASS","TYP","INVALID",NULL);
261 }
262 return NULL;
263 }
264 int objc;
265 Tcl_Obj **objv;
266 retI = Tcl_ListObjGetElements(interp,superO,&objc,&objv);
267 if (retI == TCL_OK) {
268 for (int i=0; i<objc; i++) {
269 classTT = AtlClassDefGetTypN(objv[i],0);
270 if (classTT) break;
271 }
272 }
273
274 if (classTT == NULL) {
275 if (flags & TCL_LEAVE_ERR_MSG) {
276 OT_ERROR_VAR_DEFAULT("[ClassDefError] unable to retrieve 'MK_TYP' from '%s'",classP->fullName);
277 Tcl_SetErrorCode(interp,"ATLMK","CLASS","TYP","INVALID",NULL);
278 }
279 return NULL;
280 }
281 }
282 return ClassDefCreateNN(classP,classO,classTT);
283}
#define AtlClassDefS_SIG
#define SETUP_moxrt
MOX_NS_T OT_NS_T
#define OT_ERROR_VAR_DEFAULT(...)

◆ atlmkkernel_AtlClassDefGetTypN()

static MK_TYP atlmkkernel_AtlClassDefGetTypN ( OT_MK_ARGS OT_CLS_T clsOi,
int flags )
inlinestatic

Definition at line 300 of file LibMkKernel_atl.c.

301{
302 OT_NS_T ns = MoxResolveN(clsO);
303 if (ns == NULL) return NULL;
304 return AtlClassDefGetTypNN(ns,clsO,flags);
305}

◆ atlmkkernel_AtlClassDefGetTypNN()

static MK_TYP atlmkkernel_AtlClassDefGetTypNN ( OT_MK_ARGS OT_NS_T clsP,
OT_CLS_T clsO,
int flags )
inlinestatic

Definition at line 291 of file LibMkKernel_atl.c.

292{
293 MK_TYP retTT=NULL ;
295 MoxPushN(clsP);
296 retTT = AtlClassDefGetTypNNN(clsP,clsO,flags);
297 MoxPopN();
298 return retTT;
299}
MkTypeS - class known as typ or type is used as class-base for a Managed-Object-Technology (MOT) type...

◆ atlmkkernel_AtlClassDefGetTypNNN()

static MK_TYP atlmkkernel_AtlClassDefGetTypNNN ( OT_MK_ARGS OT_NS_T clsP,
OT_CLS_T clsO,
int flags )
inlinestatic

Definition at line 285 of file LibMkKernel_atl.c.

286{
287 AtlClassDefT clsDef = AtlClassDefGetNN(clsP,clsO,NULL,flags);
288 if (clsDef == NULL) return NULL;
289 return clsDef->classTT;
290}
#define AtlClassDefGetNN(...)

◆ atlmkkernel_AtlClassIsN()

int atlmkkernel_AtlClassIsN ( OT_MK_ARGS OT_SELF_T myNsO,
OT_CLS_T clsNsO,
bool * boolP )

Definition at line 1036 of file LibMkKernel_atl.c.

1037{
1039 int retI;
1040 RL_init(3,MyIsClsN,RL_NewS(0,"::myooX::ClassIsN")) ; RL_O(1,myNsO) ; RL_O(2,clsNsO) ;
1041 retI = RL_EvalEx(TCL_EVAL_GLOBAL);
1042 if (retI != TCL_OK) goto error;
1043 OT_OBJ_T retO = Tcl_GetObjResult(interp);
1044 int intB;
1045 retI = Tcl_GetBooleanFromObj(interp,retO,&intB);
1046 if (retI != TCL_OK) goto error;
1047 (*boolP) = intB;
1048error:
1050 return retI;
1051}
#define OT_ERROR_APPEND_LNG_STACK()

◆ atlmkkernel_AtlInfoExists()

int atlmkkernel_AtlInfoExists ( OT_MK_ARGS OT_OBJ_T var)

TCL PRIVATE INTERFACE

Definition at line 1005 of file LibMkKernel_atl.c.

1006{
1007 RL_init( 2, info_exists, RL_NewS(0,"::tcl::info::exists") ); RL_O(1,var) ;
1008 return Ot_GetBooleanFromObj(RL_EvalRt(TCL_EVAL_GLOBAL));
1009error:
1010 return 0;
1011}

◆ atlmkkernel_AtlInfoScript()

MK_STRN atlmkkernel_AtlInfoScript ( OT_MK_ARGS MK_STRN script)

Definition at line 1021 of file LibMkKernel_atl.c.

1022{
1023 OT_OBJ_T ret;
1024 if (script) {
1025 RL_init( 2, info_script_2, RL_NewS(0,"::tcl::info::script") ) ; RL_NewS(1,script) ;
1026 ret = RL_EvalRt(TCL_EVAL_GLOBAL);
1027 } else {
1028 RL_init( 1, info_script_1, RL_NewS(0,"::tcl::info::script") ) ;
1029 ret = RL_EvalRt(TCL_EVAL_GLOBAL);
1030 }
1031 return Tcl_GetStringFromObj(ret,NULL);
1032error:
1033 return NULL;
1034}

◆ atlmkkernel_Atom_ns_delete()

static void atlmkkernel_Atom_ns_delete ( MK_MNG mng)
static

ATOM API

Definition at line 1187 of file LibMkKernel_atl.c.

1188{
1189 assert(mng != NULL);
1190 MK_OBJ obj = MkObj(mng);
1191 check_NULL(obj) return;
1192 MkRtSetup_ON(obj);
1193 #ifdef OT_DEBUG_NAMESPACE_DELETE
1194 OT_SELF_T selfO = META2VAL_O(obj);
1195 if (selfO) {
1196 OT_DEBUG_NAMESPACE_DELETE(MK_COLOR_ORANGE,"%s<%p>" , "INS", VAL2STR(selfO), selfO);
1197 } else {
1198 OT_DEBUG_NAMESPACE_DELETE(MK_COLOR_ORANGE,"(selfO=NULL) %s" , "INS", MkObjectToName(obj));
1199 }
1200 #endif
1201
1202//MkObjectLogShort_2Lvl(obj,1);
1203//MkSysPrintStackTrace_4(obj,0,__func__,1);
1204//MkDLogV_O(obj,8,"%s [%s]\n",MkObjectToName(obj),__func__);
1205
1206 // SELF is already "dead"
1208}
#define check_NULL(code)
#define OT_DEBUG_NAMESPACE_DELETE(...)
MOX_OBJ_T OT_SELF_T
#define VAL2STR(val)
#define META2VAL_O(o)
static MK_OBJ MkObj(MK_MNG mng)
cast a unknown-object into an MkObjectS pointer or NULL if not possible
#define MkObjectToName(...)
#define MkRefDecrWithoutSelf(...)
#define MkRtSetup_ON(o)
object header …

◆ atlmkkernel_AtomCreate()

OT_SELF_T atlmkkernel_AtomCreate ( OT_MK_ARGS MK_OBJ obj,
OT_CLS_T clsC,
OT_OBJ_T nameO,
OT_OBJ_T nsO,
int objc,
OT_OBJ_T const objv[],
MK_PTR const env )

Definition at line 1241 of file LibMkKernel_atl.c.

1250 {
1252 int retI;
1253 OT_SELF_T selfO = NULL;
1254
1255 retI = MoxCreate3N(clsC, nameO, nsO, objc, objv);
1256 if (retI != TCL_OK) goto error;
1257
1258 selfO = Tcl_GetObjResult(interp);
1259 if (selfO == NULL) goto error;
1260
1261 selfO = AtomInit(selfO,obj,env);
1262 if (selfO == NULL) goto error;
1263
1264 return selfO;
1265error:
1268 return NULL;
1269}
#define AtomInit(...)
#define OT_ERROR_LNG_2_META(m)
#define MkErrorStackFormat_0E()

◆ atlmkkernel_AtomCreateCONSTR()

OT_SELF_T atlmkkernel_AtomCreateCONSTR ( OT_MK_ARGS MK_OBJ obj,
OT_CLS_T clsC,
OT_OBJ_T nameO,
MK_PTR const env )

Definition at line 1296 of file LibMkKernel_atl.c.

1302 {
1303 assert(nameO != NULL);
1304
1305 OT_SELF_T selfO = NULL;
1306 OT_OBJ_T nsO = NULL;
1307
1308 // check if "nameO" has Namespace
1309 if (strncmp("::",Tcl_GetString(nameO),2) != 0) {
1310 nsO = STR2VAL(Tcl_GetCurrentNamespace(interp)->fullName);
1311 Tcl_IncrRefCount(nsO);
1312 }
1313 selfO = AtomCreate(obj, clsC, nameO, nsO, 0, NULL, env);
1314 if (selfO == NULL) goto error;
1315
1316 Ot_DecrRefCount(nsO);
1317 return selfO;
1318error:
1319 Ot_DecrRefCount(nsO);
1321 return NULL;
1322}
#define AtomCreate(...)
static void Ot_DecrRefCount(OT_OBJ_T tclO)

◆ atlmkkernel_AtomInit()

OT_SELF_T atlmkkernel_AtomInit ( OT_MK_ARGS OT_SELF_T selfO,
MK_OBJ obj,
MK_PTR const env )

Definition at line 1212 of file LibMkKernel_atl.c.

1217 {
1218 if (obj) {
1219 MkSelfSet (obj, (void*) selfO, env);
1220 //attention "OT_REF_DECR" in "AtomDeleteHard"
1221 OT_REF_INCR(selfO);
1222 MkRefIncr(obj);
1223
1224 OT_NS_T myNsP = MoxResolveN(selfO);
1225 if (myNsP == NULL) goto error;
1226
1227 myNsP->clientData = obj;
1228 myNsP->deleteProc = MK(Atom_ns_delete);
1229 }
1230
1231 return selfO;
1232error:
1233 // HINT: refCnt-leak in "selfO" and "obj"
1236 return NULL;
1237}
#define MK(n)
#define OT_REF_INCR(_obj)
static void MkSelfSet(MK_OBJ const obj, MK_PTR const self, MK_PTR const env)
set the MkObjectS::self value
static void MkRefIncr(MK_OBJ obj)
increment the reference-count

◆ atlmkkernel_AtomMake()

OT_SELF_T atlmkkernel_AtomMake ( OT_MK_ARGS MK_OBJ obj,
OT_CLS_T clsC,
OT_OBJ_T nameO,
OT_OBJ_T nsO,
MK_PTR const env )

Definition at line 1271 of file LibMkKernel_atl.c.

1278 {
1280 OT_SELF_T selfO = NULL;
1281
1282 selfO = MoxMakeN(clsC, nameO, nsO);
1283 if (selfO == NULL) goto error;
1284
1285 selfO = AtomInit(selfO,obj,env);
1286 if (selfO == NULL) goto error;
1287
1288 return selfO;
1289error:
1292 return NULL;
1293}

◆ atlmkkernel_ClassDef()

OT_CLS_T atlmkkernel_ClassDef ( OT_MK_ARGS MK_TYP typeTT,
OT_NS_T * clsNsP )

Definition at line 308 of file LibMkKernel_atl.c.

312 {
313 int retI;
314 Tcl_ResetResult(interp);
315 assert(typeTT != NULL);
316 MK_TYP classTT = typeTT->type_class;
317
318 // 1. ClassName = ::TypeName
319 OT_OBJ_T classNs = Tcl_ObjPrintf("::%s", classTT->type_class->type_name);
320 if (classNs == NULL) return NULL;
321
322 OT_OBJ_T classO = NULL;
323 OT_OBJ_T codeO = NULL;
324
325 // If 'classTT->self' is defined - import it
326 // > require that "interp" and "MkOBJ_R(classTT).env" are in the SAME thread.
327 // > silent assume that class dependency is ORDERED with "MkObjectC" first !!
328 if (classTT != MkObjectC_TT) {
329 if (MkOBJ_R(classTT->type_base).env != amkrt) {
330 char buf[256] = {0};
331 snprintf(buf,256,"\nCLASS-SETUP-ERROR: the '%s-env=%p' and the 'class-def-interp=%p' are not equal",
332 MkOBJ_R(classTT->type_base).type->type_name, MkOBJ_R(classTT->type_base).env, interp
333 );
334 Tcl_AppendResult(interp, buf,NULL);
335 Tcl_SetErrorCode(interp,"ATLMK","CLASS","ENV",NULL);
336 goto error;
337 } else if (MkOBJ_R(classTT->type_base).self == NULL) {
338 Tcl_AppendResult(interp,
339 "\nCLASS-SETUP-ERROR: class '", classTT->type_name, "' has a base class '", classTT->type_base->type_name,
340 "' with EMPTY SELF pointer", NULL);
341 Tcl_SetErrorCode(interp,"ATLMK","CLASS","SELF",NULL);
342 goto error;
343 } else {
344 codeO = MkOBJ_R(classTT->type_base).self;
345 }
346 }
347 // 2. call class-CTOR
348 retI = MOX(ClassN_direct)(amkrt->moxrt,interp,classNs,codeO);
349 if (retI != TCL_OK) goto error;
350
351 // 3. "final" class-Name (should by ClassName but open for future change)
352 classO = Tcl_GetObjResult(interp);
353 OT_REF_INCR(classO);
354
355 OT_OBJ_T superO = Tcl_ObjPrintf("SuperI %s", Tcl_GetString(classO));
356 MkSelfSet_3X(classTT, (MK_PTR) superO, amkrt); // save reference of OT_CLS_T and OT_ENV_T
357 Tcl_IncrRefCount(superO);
358
359 // save my namespace
360 OT_NS_T classNS = (*clsNsP) = MoxResolveN(classO);
361 if (classNS == NULL) goto error;
362
363 // attach Class-O to Class-NS
364 ClassDefCreateNN(classNS,classO,classTT);
365
366 // export public commands
367 retI = Tcl_Export(interp, classNS, "[A-Za-z]*", 0);
368 if (retI != TCL_OK) goto error;
369
370end:
371 if (classO) {
372 Tcl_SetObjResult(interp,classO);
373 OT_REF_DECR(classO);
374 }
375 return classO;
376error:
378 goto end;
379}
MK_PTRB * MK_PTR
generic pointer data-type
#define MkObjectC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkOBJ_R(x)
cast a known-object into an MkObjectS reference
#define MkSelfSet_3X(x, self, env)
MK_TYP type_class
point to the instancesR linked list of the class-type
MK_STRB type_name[MkTypeS_name_size]
public name of the type like TclMqContextC
MK_TYP type_base
base type

◆ atlmkkernel_ClassDef_ns_delete()

void atlmkkernel_ClassDef_ns_delete ( ClientData clientData)

Definition at line 182 of file LibMkKernel_atl.c.

182 {
183 AtlClassDefT classDef = clientData;
184 assert (classDef->signature == AtlClassDefS_SIG);
185 OT_OBJ_T classO = classDef->classO;
186 if (classO == NULL) return;
187OT_DEBUG_NAMESPACE_DELETE(MK_COLOR_RED,"%s<%p> in clientData<%p>","CLS",VAL2STR(classO),classO,clientData);
188 OT_MK_RT_T amkrt = classDef->amkrt;
189 if (amkrt==NULL || amkrt->signature != OT_MK_RT_SIG) return;
190 MK_TYP classTT = classDef->classTT;
191 MkRtSetup_RT(amkrt->mkrt);
192 OT_ENV_T interp = amkrt->interp;
193
194 MK_OBJ obj,tmp;
196 if (obj->self == NULL) { obj = MkObjectNext(obj); continue; }
197 OT_OBJ_T selfO = obj->self;
198 OT_NS_T ns = Tcl_FindNamespace(interp,VAL2STR(selfO),NULL,TCL_GLOBAL_ONLY);
199 if (ns == NULL) { obj = MkObjectNext(obj); continue; }
200 Tcl_DeleteNamespace(ns);
201 }
202
203 DL_DELETE(amkrt->atlClassDefL,classDef);
204 classDef->next = NULL;
205
206 classDef->signature = 0x0;
207 OT_REF_DECR_AND_NULL(classDef->classO);
208 MkSysFree(classDef);
209}
MOX_ENV_T OT_ENV_T
#define OT_MK_RT_SIG
static MK_OBJ MkObjectNext(MK_OBJ const obj)
get next instance from linked-list of MkObjectS type
#define MkSysFree(pointer)
#define MkRtSetup_RT(r)
#define MkTypeForeachInstancesSave(typ)
struct AtlClassDefS * next
MK_PTR self
link between the managed object and the object in the target-programming-language
struct AtlClassDefS * atlClassDefL
OT_ENV_T interp

◆ atlmkkernel_ClassDefCreateNN()

static AtlClassDefT atlmkkernel_ClassDefCreateNN ( OT_MK_ARGS OT_NS_T clsNS,
OT_CLS_T classO,
MK_TYP classTT )
inlinestatic

Definition at line 212 of file LibMkKernel_atl.c.

213{
214 AtlClassDefT classDef = MkSysMalloc(MK_ERROR_PANIC,sizeof(*classDef));
215//mk_dbg_color_ln(MK_COLOR_GREEN,"classDef<%p>",classDef);
216 (*classDef) = (AtlClassDefS) {AtlClassDefS_SIG,classO,amkrt,classTT,clsNS,NULL,NULL};
217 Tcl_IncrRefCount(classO);
218 clsNS->clientData = classDef;
219 clsNS->deleteProc = MK(ClassDef_ns_delete);
220
221 DL_APPEND(amkrt->atlClassDefL,classDef);
222
223 return classDef;
224}
struct AtlClassDefS AtlClassDefS
MK_PTR MkSysMalloc(MK_OBJN fmtobj, size_t const size)
malloc syscall with atlmkkernel error plugin

◆ atlmkkernel_ClassName()

MK_STRN atlmkkernel_ClassName ( OT_Prefix_ARGS OT_OBJ_T myO,
bool doShort )

Definition at line 646 of file LibMkKernel_atl.c.

650 {
651 const Tcl_ObjType *typePtr=myO->typePtr;
652 MK_STRN name = NULL;
653 MOX_RT_T const moxrt = amkrt->moxrt;
654
655 if (MoxMyIsN(myO)) {
656 // myoo instance
657 name = OT_LNG_NAME_FROM_CLASS(MoxMy__CLASS__N(myO));
658 } else if (MoxClsIsN(myO)) {
659 // myoo class
660 name = OT_LNG_NAME_FROM_CLASS(myO);
661 } else {
662 snprintf(amkrt->AtlClassName_buf,AtlClassName_buf_size,"Tcl_ObjType<%s>",typePtr ? typePtr->name : "unknown");
663 name = amkrt->AtlClassName_buf;
664 doShort = false;
665 }
666 if (doShort) name = NS(NamespaceTailCmd)(name);
667 return name;
668}
#define OT_LNG_NAME_FROM_CLASS(_cls)
#define AtlClassName_buf_size
const MK_STRB * MK_STRN
constant string pointer data-type

◆ atlmkkernel_EnumFlagWorker()

int atlmkkernel_EnumFlagWorker ( MK_RT mkrt,
OT_ENV_T interp,
const struct LookupEnumE * keys,
OT_OBJ_T enumE,
int * ret )

Definition at line 515 of file LibMkKernel_atl.c.

516{
517 // read flag enum
518 int valI = 0;
519 int index = 0;
520 int objc = 0;
521 OT_OBJ_T *objv = NULL;
522 check_LNG(Tcl_ListObjGetElements(interp,enumE,&objc,&objv)) return TCL_ERROR;
523 for (int i=0; i<objc; i++) {
524 check_LNG (Tcl_GetIndexFromObjStruct (interp, objv[i], keys,
525 sizeof(struct LookupClassS), "enum", TCL_EXACT, &index)) return TCL_ERROR;
526 valI |= keys[index].val;
527 }
528//myprint(valI);
529 *ret = valI;
530 return TCL_OK;
531}
#define check_LNG(code)

◆ atlmkkernel_EvalObjvVA()

int atlmkkernel_EvalObjvVA ( OT_ENV_T interp,
int flags,
... )

Definition at line 850 of file LibMkKernel_atl.c.

854 {
855 #define SIZE 20
856 int objc;
857 OT_OBJ_T objv[SIZE];
858 va_list ap;
859 va_start(ap, flags);
860 for (objc=0; (objv[objc]=(OT_OBJ_T )va_arg(ap,OT_OBJ_T )) != NULL; objc++) {
861 //Tcl_IncrRefCount(objv[objc]);
862 if (objc >= (SIZE-1)) {
863 Tcl_SetResult(interp, "EVAL-ERROR: size in MkEvalObjvVA is limited to " xstr(SIZE), TCL_STATIC);
864 return TCL_ERROR;
865 }
866 }
867 va_end(ap);
868//printAry2(__func__,objc,objv)
869 int ret;
870 //for (i=0;i<objc;i++) Tcl_IncrRefCount(objv[i]);
871 ret = Tcl_EvalObjv (interp, objc, objv, flags);
872 //for (i=0;i<objc;i++) Tcl_DecrRefCount(objv[i]);
873 return ret;
874 #undef SIZE
875}
#define SIZE
#define xstr(s)

◆ atlmkkernel_FillNamespace()

int atlmkkernel_FillNamespace ( OT_ENV_T interp,
const OtObjProcDefS type[],
ClientData env )

Definition at line 877 of file LibMkKernel_atl.c.

881 {
882 // 2. create commands
883 for (int i=0; type[i].name != NULL; i++) {
884 check_NULL (
885 Tcl_CreateObjCommand(interp, type[i].name, type[i].callProc, env,NULL)
886 ) return TCL_ERROR;
887 }
888 return TCL_OK;
889}
const char * name

◆ atlmkkernel_Get_Call_Cmd()

MK_STRN atlmkkernel_Get_Call_Cmd ( FRAME_ARGS )

Definition at line 410 of file LibMkKernel_atl.c.

410 {
411#define Get_Call_Cmd__SIZE 100
412 static MkThreadLocal char buffer[Get_Call_Cmd__SIZE+10];
414 FRAME_GET(cmd)
415 if (cmd == NULL) goto error;
416 int len;
417 char* str = Tcl_GetStringFromObj(cmd, &len);
418 if (len > Get_Call_Cmd__SIZE) {
419 strncpy(buffer,str,Get_Call_Cmd__SIZE);
420 char* nl=strchr(buffer,'\n');
421 if (nl)
422 *nl='\0';
423 else
424 buffer[Get_Call_Cmd__SIZE] = '\0';
425 strcat(buffer," ...");
426 return buffer;
427 } else {
428 return str;
429 }
430error:
431 Tcl_ResetResult(interp);
432 FRAME_GET(type)
433 return Tcl_GetStringFromObj(type,NULL);
434#undef Get_Call_Cmd__SIZE
435}
#define Get_Call_Cmd__SIZE
#define FRAME_UPDATE
#define FRAME_GET(key)
#define str(s)
#define MkThreadLocal

◆ atlmkkernel_Get_Call_File()

MK_STRN atlmkkernel_Get_Call_File ( FRAME_ARGS )

Definition at line 437 of file LibMkKernel_atl.c.

437 {
439 FRAME_GET(file)
440 if (file == NULL) goto error;
441 return Tcl_GetStringFromObj(file,NULL);
442error: {
443 MK_STRN script = AtlInfoScript(NULL);
444 check_NULL(script) goto error1;
445 return script;
446 }
447error1:
448 Tcl_ResetResult(interp);
449 FRAME_GET(type)
450 return Tcl_GetStringFromObj(type,NULL);
451}
#define AtlInfoScript(s)

◆ atlmkkernel_Get_Call_Line()

MK_I32 atlmkkernel_Get_Call_Line ( FRAME_ARGS )

Definition at line 453 of file LibMkKernel_atl.c.

453 {
455 FRAME_GET(line)
456 if (line == NULL) goto error;
457 MK_I32 lineI = -1;
458 if (Tcl_GetIntFromObj(NULL,line,&lineI)==TCL_ERROR) goto error;
459 return lineI;
460error:
461 Tcl_ResetResult(interp);
462 return -1;
463}
signed int MK_I32
4 byte integer data-type

◆ atlmkkernel_Get_Call_Proc()

MK_STRN atlmkkernel_Get_Call_Proc ( FRAME_ARGS )

Definition at line 398 of file LibMkKernel_atl.c.

398 {
399 OT_OBJ_T retObj = NULL;
401 FRAME_GET(method)
402 if (method != NULL) {retObj = method; goto end;}
403 FRAME_GET(proc)
404 if (proc != NULL) {retObj = proc; goto end;}
405 return "main";
406end:
407 return Tcl_GetStringFromObj(retObj,NULL);;
408}

◆ atlmkkernel_Get_Call_Stack()

bool atlmkkernel_Get_Call_Stack ( OT_MK_ARGS MK_ERR const err,
int level )

Definition at line 466 of file LibMkKernel_atl.c.

466 {
467 RL_init( 2, info_frame_2, RL_NewS(0,"::tcl::info::frame") ) ; RL_NewI(1,level) ;
468 OT_OBJ_T frame = RL_EvalRt(TCL_EVAL_GLOBAL);
469 Tcl_IncrRefCount(frame);
470//printLng(frame);
472 MK(Get_Call_Cmd)(FRAME_CALL),
473 MK(Get_Call_File)(FRAME_CALL),
474 MK(Get_Call_Line)(FRAME_CALL)
475 );
476 Tcl_DecrRefCount(frame);
477 return true;
478error:
479 Tcl_ResetResult(interp);
480 return false;
481}
#define FRAME_CALL
#define MkErrorStackFormat(...)

◆ atlmkkernel_GetTypeFromObj()

MK_STRN atlmkkernel_GetTypeFromObj ( OT_Prefix_ARGS OT_OBJ_T myO,
bool * isObject )

helper to print the type-name of a Tcl_Obj MkKernel::print type $RET

Definition at line 599 of file LibMkKernel_atl.c.

603 {
605 const Tcl_ObjType *typePtr=myO->typePtr;
606 MK_STRN name=NULL;
607 bool isObjectB=false;
608
609 if (MoxMyIsN(myO)) {
610 // myoo instance NS
611 isObjectB=true;
612 name = OT_LNG_NAME_FROM_CLASS(MoxMy__CLASS__N(myO));
613 } else if (MoxClsIsN(myO)) {
614 // myoo class NS
615 isObjectB=true;
616 name = "Class";
617 } else {
618 // Tcl_Obj
619 name = typePtr ? typePtr->name : "unknown";
620 isObjectB=false;
621 }
622 if (isObject) *isObject=isObjectB;
623 return name;
624}

◆ atlmkkernel_LngListToMkBufferListS()

enum MkErrorE atlmkkernel_LngListToMkBufferListS ( OT_Prefix_ARGS OT_OBJ_T argsO,
MK_BFL * retP )

Definition at line 688 of file LibMkKernel_atl.c.

692 {
693 if (argsO == NULL) {
694 return MK_OK;
695 } else {
696 int __skip=0;
697 int listObjc;
698 OT_OBJ_T * listObjv;
699 check_LNG (Tcl_ListObjGetElements(interp,argsO,&listObjc,&listObjv)) goto error;
700 MK(LngTupleToMkBufferListS)( MK_RT_CALL interp,listObjc,listObjv,&__skip,retP);
701 }
702 return MK_OK;
703error:
704 return MK_ERROR;
705}
@ MK_ERROR
(persistent) raise an error-event, the calling-fucntion is interrupted.
@ MK_OK
(persistent) everything is OK.
#define MK_RT_CALL

◆ atlmkkernel_LngTupleToMkBufferListS()

static void atlmkkernel_LngTupleToMkBufferListS ( SETUP_ARGS ,
int * skipP,
MK_BFL * retP )
static

Definition at line 670 of file LibMkKernel_atl.c.

674 {
675 MK_BFL retVal = *retP;
676 int __skip = *skipP;
677
678 if (retVal == NULL) retVal = MkBufferListCreate (objc-__skip);
679 else MkBufferListReserve(retVal,objc-__skip);
680 for (int i=__skip; i<objc; i++) {
681 MkBufferListIndexSetSTR(retVal, i-__skip, VAL2STR(objv[i]));
682 }
683
684 *skipP = objc;
685 *retP = retVal;
686}
#define MkBufferListIndexSetSTR(...)
#define MkBufferListReserve(...)
#define MkBufferListCreate(...)
The CLASS used to store a list of MkBufferS items into a flat array…

◆ atlmkkernel_NamespaceTailCmd()

static MK_STRN atlmkkernel_NamespaceTailCmd ( MK_STRN name)
static

Definition at line 626 of file LibMkKernel_atl.c.

626 {
627 // from: NamespaceTailCmd --------------------------
628 const char *p;
629 for (p = name; *p != '\0'; p++) {
630 /* empty body */
631 }
632 while (--p > name) {
633 if ((*p == ':') && (*(p-1) == ':')) {
634 p++; /* Just after the last "::" */
635 break;
636 }
637 }
638
639 if (p >= name) {
640 name = p;
641 }
642 // ------------------------------------------------
643 return name;
644}

◆ atlmkkernel_Obj_AsSTR_COPY()

enum MkErrorE atlmkkernel_Obj_AsSTR_COPY ( OT_Check_ARGS ,
MK_STR ret,
size_t size )

Definition at line 830 of file LibMkKernel_atl.c.

830 {
831 if ((*skipP) >= objc) {
832 return WrongNumArgs(hdl, (*skipP), objc, -999, +999, arg);
833 }
834 strncpy(ret,Tcl_GetString(objv[(*skipP)++]),size);
835 return MK_OK;
836}
#define WrongNumArgs(...)

◆ atlmkkernel_Obj_AsSTRN()

enum MkErrorE atlmkkernel_Obj_AsSTRN ( OT_Check_ARGS ,
MK_STRN * retP )

Definition at line 804 of file LibMkKernel_atl.c.

804 {
805 if ((*skipP) >= objc) {
806 return WrongNumArgs(hdl, (*skipP), objc, -999, +999, arg);
807 }
808 int len=0;
809 MK_STRN ret = Tcl_GetStringFromObj(objv[(*skipP)++], &len);
810 // mark=MK_NULL
811 if (MK_NULL_STR_CHECK(ret,len)) {
812 ret = NULL;
813 }
814 *retP = ret;
815 return MK_OK;
816}
static bool MK_NULL_STR_CHECK(char const *const __str, const long int __len)
check if __str is MK_NULL_STR return true or false …

◆ atlmkkernel_ObjvToString()

MK_STRN atlmkkernel_ObjvToString ( MK_RT mkrt,
MK_STRN cls,
ATL_ARGS  )

Definition at line 891 of file LibMkKernel_atl.c.

891 {
892 MkBufferCreateTLS_T(MkBuffer64C,ret,50);
893 MkBufferAppendV(ret,"&%s ", cls);
894 for(int i=1;i<objc;i++) {
895 MkBufferAppendV(ret,"%s ", VAL2STR(objv[i]));
896 }
897 return MkBUF_R(&retR).storage.first.C;
898}
#define MkBufferAppendV(...)
#define MkBUF_R(x)
cast a known-object into an MkBufferS reference
#define MkBufferCreateTLS_T(cls, name, size)
create an new MkBufferC object as T)hread L)ocal S)torage…

◆ atlmkkernel_OT_ERROR_LNG_RETURN_HDL_IS_NULL()

int atlmkkernel_OT_ERROR_LNG_RETURN_HDL_IS_NULL ( OT_MK_ARGS OT_CLS_T clsO,
OT_OBJ_T objO )

Definition at line 707 of file LibMkKernel_atl.c.

708{
709 MOX_RT_T const moxrt = amkrt->moxrt;
710 OT_CLS_T objClsO = MoxMy__CLASS__N(objO);
711
712 if (objClsO == NULL) {
713 OT_ERROR_VAR_DEFAULT("HdlIsNullError: '%s' hdl is NULL (not a myoox)",VAL2STR(clsO));
714 Tcl_SetErrorCode(interp,"ATLMK","HDL","NULL",NULL);
715 goto error;
716 }
717
718 MK_STRN objClsC = VAL2STR(objClsO);
719 MK_MNG mng = VAL2MNG(objO);
720
721 if (mng == NULL) {
722 OT_ERROR_VAR_DEFAULT("HdlIsNullError: '%s' hdl is NULL (not an instance)",objClsC);
723 Tcl_SetErrorCode(interp,"ATLMK","HDL","NULL",NULL);
724 goto error;
725 }
726
727 MK_OBJ obj = MkObj(mng);
728 if (obj == NULL) {
729 OT_ERROR_VAR_DEFAULT("HdlIsNullError: '%s' hdl is NULL (not an object)",objClsC);
730 Tcl_SetErrorCode(interp,"ATLMK","HDL","NULL",NULL);
731 goto error;
732 }
733
734 MK_TYP objTT = AtlClassDefGetTypN(objClsO,TCL_LEAVE_ERR_MSG);
735 if (objTT == NULL) goto error_and_stack;
736 MK_TYP clsTT = AtlClassDefGetTypN(clsO,TCL_LEAVE_ERR_MSG);
737 if (clsTT == NULL) goto error_and_stack;
738
739/*
740 RL_init(3,hdl_is_null_3, RL_T(0,ClassIsN) ) ; RL_O(1,objO) ; RL_O(2,clsO) ;
741 OT_OBJ_T retO = RL_EvalRt(TCL_EVAL_GLOBAL);
742 int boolI;
743 if (retO == NULL || Tcl_GetBooleanFromObj(interp,retO,&boolI) != TCL_OK) {
744 OT_ERROR_VAR_DEFAULT("[HdlInternalError] '%s'",Tcl_GetStringResult(interp));
745 Tcl_SetErrorCode(interp,"ATLMK","HDL","INTERNAL",NULL);
746 goto error;
747 }
748*/
749
750 MK_STRN clsC = VAL2STR(clsO);
751 if (objTT == clsTT) {
752 OT_ERROR_VAR_DEFAULT("HdlClassInvalidError: Expected 'hdl' in class '%s' not found", objClsC);
753 Tcl_SetErrorCode(interp,"ATLMK","HDL","INVALID",NULL);
754 } else {
755 OT_ERROR_VAR_DEFAULT("HdlClassInvalidError: Expecting 'hdl' class '%s', but getting class '%s'", clsC, objClsC);
756 Tcl_SetErrorCode(interp,"ATLMK","HDL","WRONG","CLASS",NULL);
757 }
758error_and_stack:
760error:
761 return TCL_ERROR;
762}
MOX_CLS_T OT_CLS_T
#define VAL2MNG(val)
MK_PTRB * MK_MNG
managed object pointer, datatype will be checked at runtime

◆ atlmkkernel_PrintObj()

MK_STR atlmkkernel_PrintObj ( OT_Prefix_ARGS MK_STRN header,
OT_OBJ_T valO )

helper to print a Tcl_Obj MkKernel::print object $RET

Definition at line 966 of file LibMkKernel_atl.c.

970 {
971 if (valO == NULL) {
972 MkBufferSetV(MkBUF(&MK_RT_REF.tbuf), "%s=NULL", header);
973 } else {
974 //printP(valO)
975 MK_OBJ retObj = NULL;
976 bool isObject;
977 MK_STRN type = MK(GetTypeFromObj) (OT_Prefix_CALL valO, &isObject);
978 if (isObject) OT_LNG_OBJECT_IS_3(valO, &retObj, NULL);
979
980 #define objF "[type<%s>, refCount<MQ=%i,TCL=%i,SHARED=%i>, ptr<MQ=%p,TCL=%p>]"
981 #define objA type, (retObj?retObj->refCount:-1),valO->refCount, Tcl_IsShared(valO), retObj, (retObj?retObj->self:NULL)
982
983 // fill the buf and get the len back
984 if (header) {
985 MkBufferSetV(MkBUF(&MK_RT_REF.tbuf), "%-20s: %s " objF, header, Tcl_GetString (valO), objA);
986 } else if (retObj) {
987 MkBufferSetV(MkBUF(&MK_RT_REF.tbuf), "%s " objF, Tcl_GetString (valO), objA);
988 } else {
989 MkBufferSetV(MkBUF(&MK_RT_REF.tbuf), "%s " objF, Tcl_GetString (valO), objA);
990 }
991
992 #undef objF
993 #undef objA
994 }
995
996 return MkBUF_R(&MK_RT_REF.tbuf).storage.first.S;
997}
#define objF
#define objA
#define OT_Prefix_CALL
#define MkBUF(x)
cast a known-object into an MkBufferS pointer
#define MkBufferSetV(...)
#define MK_RT_REF
#define OT_LNG_OBJECT_IS_3(objV, obj, flag)

◆ atlmkkernel_PrintObj2()

void atlmkkernel_PrintObj2 ( OT_Prefix_ARGS MK_STRN header,
OT_OBJ_T obj,
MK_STRN caller )

Definition at line 905 of file LibMkKernel_atl.c.

910 {
911 if (obj == NULL) {
912 _printV("%s=NULL", header);
913 }
914 const Tcl_ObjType *typePtr = obj->typePtr;
915 _printV("STRING # %s<%s>", header, VAL2STR(obj));
916 if (typePtr) {
917 const char * typeName = typePtr->name;
918 _printV(" | OBJECT # typePtr<%s>, refCount<%d>", typeName, obj->refCount);
919 if (strcmp(typeName,"parsedVarName")==0) {
920 _printV(" | %-10p # pointer to the array name Tcl_Obj, or NULL if it is ascalar variable",
921 obj->internalRep.twoPtrValue.ptr1);
922 _printV(" | %-10p # pointer to the element name string (owned by this Tcl_Obj), or NULL if it is a scalar variable",
923 obj->internalRep.twoPtrValue.ptr2);
924 } else if (strcmp(typeName,"nsName")==0) {
925 // ===========================================================================
926 // generic/tclNamesp.c
927 /*
928 * This structure contains a cached pointer to a namespace that is the result
929 * of resolving the namespace's name in some other namespace. It is the
930 * internal representation for a nsName object. It contains the pointer along
931 * with some information that is used to check the cached pointer's validity.
932 */
933
934 typedef struct ResolvedNsName {
935 Namespace *nsPtr; /* A cached pointer to the Namespace that the
936 * name resolved to. */
937 Namespace *refNsPtr; /* Points to the namespace context in which
938 * the name was resolved. NULL if the name is
939 * fully qualified and thus the resolution
940 * does not depend on the context. */
941 int refCount; /* Reference count: 1 for each nsName object
942 * that has a pointer to this ResolvedNsName
943 * structure as its internal rep. This
944 * structure can be freed when refCount
945 * becomes zero. */
946 } ResolvedNsName;
947 // ===========================================================================
948 ResolvedNsName *resNamePtr = obj->internalRep.twoPtrValue.ptr1;
949 if (resNamePtr==NULL) return;
950 Namespace* nsPtr = resNamePtr->nsPtr ;
951 char *nsPtrS = nsPtr ? nsPtr->fullName : "null";
952 ClientData nsPtrCD = nsPtr ? nsPtr->clientData : NULL;
953 Namespace* refNsPtr = resNamePtr->refNsPtr;
954 char *refNsPtrS = refNsPtr ? refNsPtr->fullName : "null";
955 _printV(" | NAMESPACE # namespace<%s>, ClientData<%p>, refNsPtr<%s>", nsPtrS, nsPtrCD, refNsPtrS);
956 }
957 } else {
958 _printV(" | OBJECT # refCount : %d", obj->refCount);
959 }
960}
#define _printV(fmt,...)

◆ atlmkkernel_TestObject()

bool atlmkkernel_TestObject ( OT_Prefix_ARGS OT_OBJ_T myO,
OT_CLS_T clsO,
MK_OBJ * objP,
MkTestClassE * flagP )

Definition at line 537 of file LibMkKernel_atl.c.

543 {
544 assert(myO != NULL);
545 assert(clsO!= NULL);
546 Tcl_ResetResult(interp);
548 MOX_RT_T moxrt = amkrt->moxrt;
549 MK_OBJ myOBJ = NULL;
550
551 OT_NS_T myNs = MoxResolveN(myO);
552 if (myNs == NULL) {
553 // first check for "", "MK_NULL", ...
554 int len=0;
555 MK_STRN str = Tcl_GetStringFromObj(myO,&len);
556 if (len == 0 || MkStringIsNULL(MkStringCreate(len,str))) {
558 } else {
560 }
561 goto end;
562 }
563
564 myOBJ = Self2PtrNN(myNs);
565 if (myOBJ == NULL) {
566 if (MoxMyIsNN(myNs)) {
567 flag=MkTestClassE_NULL; goto end;
568 } else {
569 flag=MkTestClassE_NONE_OBJECT; goto end;
570 }
571 }
572
573 if (!MkObjCheck(myOBJ)) {
574 flag=MkTestClassE_INVALID_SIGNATURE; goto end;
575 }
576
577 MK_TYP clsTT = AtlClassDefGetTypN(clsO,0);
578 if (clsTT == NULL) {
579 flag=MkTestClassE_INTERNAL; goto end;
580 }
581
582 if (!__MkCheckTO(clsTT,myOBJ)) {
583 flag = MkTestClassE_WRONG_CLASS; goto end;
584 }
585
586 flag = MkTestClassE_OK;
587 if (objP) *objP = myOBJ;
588
589end:
590 if (flagP) *flagP = flag;
591 switch(flag) {
592 case MkTestClassE_NONE_OBJECT : return false;
593 default : return true;
594 }
595}
#define Self2PtrNN(myP)
static MkStringR MkStringCreate(MK_NUM len, MK_STRN str)
create a str from ptr and len ...
static bool MkStringIsNULL(MkStringR const strR)
check if strR is MK_NULL_STR return true or false …
#define __MkCheckTO(t, o)
static bool MkObjCheck(MK_MNGN mng)
check MkObjectS -> MkObjectS::signature …
@ MkTestClassE_NONE_OBJECT
@ MkTestClassE_INTERNAL
@ MkTestClassE_OK
@ MkTestClassE_INVALID_SIGNATURE
@ MkTestClassE_NULL
@ MkTestClassE_WRONG_CLASS

◆ atlmkkernel_UnknownSetup()

int atlmkkernel_UnknownSetup ( OT_ENV_T interp,
const OtObjProcDefS methodsDefs[],
const ClientData clientData )

"unknown" API

Definition at line 770 of file LibMkKernel_atl.c.

774 {
775
776 for (int i=0; methodsDefs[i].name != 0; i++) {
777 check_NULL(Tcl_CreateObjCommand(interp, methodsDefs[i].name, methodsDefs[i].callProc, clientData, NULL))
778 goto error;
779 }
780
781 return TCL_OK;
782error:
784 return TCL_ERROR;
785}

◆ Atlmkkernel_Unload()

OT_ATL_EXTERN int Atlmkkernel_Unload ( OT_ENV_T interp,
int flags )

Definition at line 2101 of file LibMkKernel_atl.c.

2102{
2103 OT_NS_T ns = Tcl_FindNamespace(interp,"::MkKernel",NULL,TCL_GLOBAL_ONLY);
2104 if (ns) Tcl_DeleteNamespace(ns);
2105
2106 MkCleanup();
2107
2108 return TCL_OK;
2109}
void MkCleanup(void)
cleanup atlmkkernel internal memory …

Variable Documentation

◆ amkrtR

__thread OT_MK_RT_S amkrtR = {0}

Definition at line 1989 of file LibMkKernel_atl.c.

1989{0};

◆ atlmkkernel_sInstanceDef

const OtObjProcDefS atlmkkernel_sInstanceDef[]
static
Initial value:
= {
{ NULL }
}

Definition at line 1906 of file LibMkKernel_atl.c.

1906 {
1907 // BEGIN-OBJ - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1908
1909 // → no data
1910
1911 // END-OBJ - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1912 { NULL }
1913};

◆ atlmkkernel_sOtClassDef

MK_UNUSED const OtObjProcDefS atlmkkernel_sOtClassDef[]
static
Initial value:
= {
{ "::MkKernel::print" , atlmkkernel_Print_Class_Cmd },
{ "::MkKernel::const" , atlmkkernel_Const_Class_Cmd },
{ "::MkKernel::support" , atlmkkernel_Support_Class_Cmd },
{ "::MkKernel::ErrorE_FromInt" , atlmkkernel_MkKernel_ErrorE_FromInt },
{ "::MkKernel::IdSE_FromInt" , atlmkkernel_MkKernel_IdSE_FromInt },
{ "::MkKernel::TimeoutE_FromInt" , atlmkkernel_MkKernel_TimeoutE_FromInt },
{ "::MkKernel::TypeE_FromInt" , atlmkkernel_MkKernel_TypeE_FromInt },
{ "::MkKernel::ErrorE_ToInt" , atlmkkernel_MkKernel_ErrorE_ToInt },
{ "::MkKernel::ErrorE_ToString" , atlmkkernel_MkKernel_ErrorE_ToString },
{ "::MkKernel::IdSE_ToInt" , atlmkkernel_MkKernel_IdSE_ToInt },
{ "::MkKernel::IdSE_ToString" , atlmkkernel_MkKernel_IdSE_ToString },
{ "::MkKernel::TimeoutE_ToInt" , atlmkkernel_MkKernel_TimeoutE_ToInt },
{ "::MkKernel::TimeoutE_ToString" , atlmkkernel_MkKernel_TimeoutE_ToString },
{ "::MkKernel::TypeE_ToInt" , atlmkkernel_MkKernel_TypeE_ToInt },
{ "::MkKernel::TypeE_ToString" , atlmkkernel_MkKernel_TypeE_ToString },
{ "::MkKernel::Cleanup" , atlmkkernel_MkKernel_Cleanup },
{ "::MkKernel::Setup" , atlmkkernel_MkKernel_Setup },
{ NULL }
}
static int atlmkkernel_Const_Class_Cmd(OtClass_ARGS)
tclObj [MkKernel::const maxY|minY|maxS|minS|maxI|minI|maxF|minF|maxW|minW|maxD|minD]
static int atlmkkernel_Print_Class_Cmd(OtClass_ARGS)
MkKernel::print object|type tclObj
static int atlmkkernel_Support_Class_Cmd(OtClass_ARGS)
bool [MkKernel::support thread|fork]
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_FromInt(OtClass_ARGS)
Atl: (static) MkTimeoutE [MkKernel::TimeoutE_FromInt value:int32] → C-API return the MkTimeoutE ...
static OT_ProcRet atlmkkernel_MkKernel_IdSE_FromInt(OtClass_ARGS)
Atl: (static) MkIdSE [MkKernel::IdSE_FromInt value:int32] → C-API return the MkIdSE from integer...
static OT_ProcRet atlmkkernel_MkKernel_TypeE_FromInt(OtClass_ARGS)
Atl: (static) MkTypeE [MkKernel::TypeE_FromInt value:int32] → C-API return the MkTypeE from inte...
static OT_ProcRet atlmkkernel_MkKernel_TypeE_ToString(OtClass_ARGS)
Atl: (static) string [MkKernel::TypeE_ToString value:MkTypeE] → C-API return the MkTypeE as stri...
static OT_ProcRet atlmkkernel_MkKernel_IdSE_ToString(OtClass_ARGS)
Atl: (static) string [MkKernel::IdSE_ToString value:MkIdSE] → C-API return the MkIdSE as string ...
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_ToInt(OtClass_ARGS)
Atl: (static) int32 [MkKernel::ErrorE_ToInt value:MkErrorE] → C-API return the MkErrorE as integ...
static OT_ProcRet atlmkkernel_MkKernel_IdSE_ToInt(OtClass_ARGS)
Atl: (static) int32 [MkKernel::IdSE_ToInt value:MkIdSE] → C-API return the MkIdSE as integer …
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_ToString(OtClass_ARGS)
Atl: (static) string [MkKernel::TimeoutE_ToString value:MkTimeoutE] → C-API return the MkTimeout...
static OT_ProcRet atlmkkernel_MkKernel_TypeE_ToInt(OtClass_ARGS)
Atl: (static) int32 [MkKernel::TypeE_ToInt value:MkTypeE] → C-API return the MkTypeE as integer ...
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_FromInt(OtClass_ARGS)
Atl: (static) MkErrorE [MkKernel::ErrorE_FromInt value:int32] → C-API return the MkErrorE from i...
static OT_ProcRet atlmkkernel_MkKernel_TimeoutE_ToInt(OtClass_ARGS)
Atl: (static) int32 [MkKernel::TimeoutE_ToInt value:MkTimeoutE] → C-API return the MkTimeoutE as...
static OT_ProcRet atlmkkernel_MkKernel_ErrorE_ToString(OtClass_ARGS)
Atl: (static) string [MkKernel::ErrorE_ToString value:MkErrorE] → C-API return the MkErrorE as s...
static OT_ProcRet atlmkkernel_MkKernel_Setup(OtClass_ARGS)
Atl: (static) MkKernel::Setup → C-API setup atlmkkernel internal memory …
static OT_ProcRet atlmkkernel_MkKernel_Cleanup(OtClass_ARGS)
Atl: (static) MkKernel::Cleanup → C-API cleanup atlmkkernel internal memory …

Definition at line 1872 of file LibMkKernel_atl.c.

1872 {
1873 { "::MkKernel::print" , NS(Print_Class_Cmd) },
1874 { "::MkKernel::const" , NS(Const_Class_Cmd) },
1875 { "::MkKernel::support" , NS(Support_Class_Cmd) },
1876 // BEGIN-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1877
1878 // doc-key: MkKernel,EnumFunc,sco
1879 { "::MkKernel::ErrorE_FromInt" , NS(MkKernel_ErrorE_FromInt) },
1880 { "::MkKernel::IdSE_FromInt" , NS(MkKernel_IdSE_FromInt) },
1881 { "::MkKernel::TimeoutE_FromInt" , NS(MkKernel_TimeoutE_FromInt) },
1882 { "::MkKernel::TypeE_FromInt" , NS(MkKernel_TypeE_FromInt) },
1883
1884 // doc-key: MkKernel,EnumFunc,sm_
1885 { "::MkKernel::ErrorE_ToInt" , NS(MkKernel_ErrorE_ToInt) },
1886 { "::MkKernel::ErrorE_ToString" , NS(MkKernel_ErrorE_ToString) },
1887 { "::MkKernel::IdSE_ToInt" , NS(MkKernel_IdSE_ToInt) },
1888 { "::MkKernel::IdSE_ToString" , NS(MkKernel_IdSE_ToString) },
1889 { "::MkKernel::TimeoutE_ToInt" , NS(MkKernel_TimeoutE_ToInt) },
1890 { "::MkKernel::TimeoutE_ToString" , NS(MkKernel_TimeoutE_ToString) },
1891 { "::MkKernel::TypeE_ToInt" , NS(MkKernel_TypeE_ToInt) },
1892 { "::MkKernel::TypeE_ToString" , NS(MkKernel_TypeE_ToString) },
1893
1894 // doc-key: MkKernel,Setup,sm_
1895 { "::MkKernel::Cleanup" , NS(MkKernel_Cleanup) },
1896 { "::MkKernel::Setup" , NS(MkKernel_Setup) },
1897
1898 // END-CLASS - created by 'atl_MqS.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
1899 { NULL }
1900};