theKernel 10.0
Loading...
Searching...
No Matches
LibMkKernel_cs.c
Go to the documentation of this file.
1
9/* LABEL-START */
10
11#define META_FILE_NAME "LibMkKernel_cs.c"
12
13/* LABEL-END */
14
15#include "LibMkKernel_cs.h"
16
19 MkCsTypeLookupE const typeL,
20 MkSelfCreateF const selfCTOR,
21 MkSelfUnlinkF const selfUnlink
22) {
24 MK_TYP type = NULL;
25 switch (typeL) {
26 // BEGIN-CLS - created by 'cs_PreMeta.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
27
28 case MK_CS_TYPE_LOOKUP_OBJ : type = MkObjectC_TT ; break;
29 case MK_CS_TYPE_LOOKUP_BUF : type = MkBufferC_TT ; break;
30 case MK_CS_TYPE_LOOKUP_BUS : type = MkBufferStreamC_TT ; break;
31 case MK_CS_TYPE_LOOKUP_BFL : type = MkBufferListC_TT ; break;
32 case MK_CS_TYPE_LOOKUP_LFL : type = MkLogFileC_TT ; break;
33 case MK_CS_TYPE_LOOKUP_ERR : type = MkErrorC_TT ; break;
34 case MK_CS_TYPE_LOOKUP_RT : type = MkRuntimeC_TT ; break;
35
36 // END-CLS - created by 'cs_PreMeta.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
37 }
38 if (type == NULL) {
39 MkPanicC_1("get invalid type enum '%d' not part of 'MkCsTypeLookupE'");
40 }
41 type->selfCreate = selfCTOR;
42 type->selfUnlink = selfUnlink;
43}
44
void MkCsTypeUpdate_RT(MK_RT mkrt, MkCsTypeLookupE const typeL, MkSelfCreateF const selfCTOR, MkSelfUnlinkF const selfUnlink)
#define MkBufferC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkBufferListC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkBufferStreamC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkErrorC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkPanicC_1(message)
#define MkLogFileC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
void(* MkSelfUnlinkF)(MK_RT mkrt, MK_PTR self, MK_PTR const env)
MK_PTR(* MkSelfCreateF)(MK_RT mkrt, MK_OBJ const obj, MK_PTR const env)
#define MkObjectC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MkRuntimeC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
#define MK_RT_ARGS
#define MK_STATIC_RT
MkTypeS - class known as typ or type is used as class-base for a Managed-Object-Technology (MOT) type...
MkSelfUnlinkF selfUnlink
"unlink" the "self" pointer from META-Kernel
MkSelfCreateF selfCreate
"create" the "self" pointer