MkObjectC - define the class … More...
Topics | |
MkObjectC_Class_Introspection_C_API | |
MkObjectC - get information from the MkTypeS … | |
MkObjectC_Class_Define_C_API | |
MkObjectC - low level definition, access and cast … | |
Typedefs | |
typedef struct MkObjectS * | MK_OBJ |
class-shortcut for struct MkObjectS * , all shortcut using the XX_YYY syntax (only for public API) … | |
typedef const struct MkObjectS * | MK_OBJN |
class-shortcut for const struct MkObjectS * , all const shortcut using the XX_YYYC syntax (only for public API) … | |
typedef struct MkObjectS | MK_OBJR |
reference-shortcut for struct MkObjectS , all shortcut using the XX_YYYR syntax (only for public API) … | |
MkObjectC - Export - inline - interact with an external software | |
static MK_HDL | MkObjectHandleGetOfType (MK_OBJ const obj) |
Export-Slot - returns typeHdl of the obj . | |
bool | MkObjectHandleExists (MK_OBJ const obj) |
check if obj has already a handle defined… | |
MK_HDL | MkObjectHandleGetOr0 (MK_OBJ const obj) |
return export-hdl or 0 in not created… | |
MK_HDL | MkObjectHandleGet_RT (MK_RT mkrt, MK_OBJ const obj) |
Handle-Get-Slot - returns a export-hdl to the MkObjectC useable for external storage | |
MK_OBJ | MkObjectHandleResolve_RT (MK_RT mkrt, MK_HDL const netHdl) |
Handle-Resolve-Slot - return a MkObjectC from netHdl or MK_NULL if invalid… | |
void | MkObjectHandleDeleteByNetHdl_RT (MK_RT mkrt, MK_HDL const netHdl) |
Handle-Delete-Slot - delete a netHdl from handle-storage … | |
void | MkObjectHandleDelete_RT (MK_RT mkrt, MK_OBJ const netObj) |
Handle-Delete-Slot - delete a netObj from handle-storage … | |
#define | MkObjectHandleGetOfType_1X(x) |
#define | MkObjectHandleGet_1X(x) |
#define | MkObjectHandleResolve_e(netHdl) |
wrapper for MkObjectHandleResolve with error-handline | |
MkObjectC - Misc - function - unspecified functions to perform different tasks | |
static MK_OBJ | MkObjectGetNull (void) |
Null-Slot - return a MkObjectC typed NULL instance … | |
MkObjectC - Introspection - inline - access to all instances created by class starting with the last one | |
static MK_OBJ | MkObjectInstances_RT (MK_RT mkrt) |
get head-instance from linked-list of MkObjectS type … | |
static MK_OBJ | MkObjectNext (MK_OBJ const obj) |
get next instance from linked-list of MkObjectS type | |
static MK_OBJ | MkObjectPrev (MK_OBJ const obj) |
get previous instance from linked-list of MkObjectS type | |
MkObjectC - Export - function | |
MK_HDL | MkObjectHandleGetOfTypeP (MK_OBJ const obj) |
Non-inline replacement for MkObjectHandleGetOfType … | |
MkObjectC - Introspection - function | |
MK_OBJ | MkObjectNextP (MK_OBJ const obj) |
Non-inline replacement for MkObjectNext … | |
MK_OBJ | MkObjectPrevP (MK_OBJ const obj) |
Non-inline replacement for MkObjectPrev … | |
MK_OBJ | MkObjectInstancesP (MK_RT mkrt) |
Non-inline replacement for MkObjectInstances … | |
MkObjectC - Misc - function | |
MK_OBJ | MkObjectGetNullP (void) |
Non-inline replacement for MkObjectGetNull … | |
MkObjectC - Export - overload | |
#define | MkObjectHandleResolve_NULL(...) |
#define | MkObjectHandleResolve(...) |
#define | MkObjectHandleDelete_NULL(...) |
#define | MkObjectHandleDelete(...) |
#define | MkObjectHandleGet_NULL(...) |
#define | MkObjectHandleGet(...) |
#define | MkObjectHandleDeleteByNetHdl_NULL(...) |
#define | MkObjectHandleDeleteByNetHdl(...) |
MkObjectC - Introspection - overload | |
#define | MkObjectInstances_NULL() |
#define | MkObjectInstances() |
MkObjectC - define the class …
#define MkObjectHandleDelete | ( | ... | ) |
Definition at line 1496 of file kernel_overload_mk.h.
#define MkObjectHandleDelete_NULL | ( | ... | ) |
Definition at line 1495 of file kernel_overload_mk.h.
#define MkObjectHandleDeleteByNetHdl | ( | ... | ) |
Definition at line 1502 of file kernel_overload_mk.h.
#define MkObjectHandleDeleteByNetHdl_NULL | ( | ... | ) |
Definition at line 1501 of file kernel_overload_mk.h.
#define MkObjectHandleGet | ( | ... | ) |
Definition at line 1498 of file kernel_overload_mk.h.
#define MkObjectHandleGet_1X | ( | x | ) |
Definition at line 3481 of file LibMkKernel_mk.h.
#define MkObjectHandleGet_NULL | ( | ... | ) |
Definition at line 1497 of file kernel_overload_mk.h.
#define MkObjectHandleGetOfType_1X | ( | x | ) |
Definition at line 3424 of file LibMkKernel_mk.h.
#define MkObjectHandleResolve | ( | ... | ) |
Definition at line 1492 of file kernel_overload_mk.h.
#define MkObjectHandleResolve_e | ( | netHdl | ) |
wrapper for MkObjectHandleResolve with error-handline
[in] | netHdl | The handle previously returned by MkObjectHandleGet. |
MK_NULL
with an error set.0
than MK_NULL
is returned and the upper-code decide how to deal with it.MK_NULL
if the netHdl is invalid or the underlying object has already been deleted.MK_NULL
is returned than an error-message is created and a jump to the label error is done.Definition at line 3505 of file LibMkKernel_mk.h.
#define MkObjectHandleResolve_NULL | ( | ... | ) |
Definition at line 1491 of file kernel_overload_mk.h.
#define MkObjectInstances | ( | ) |
Definition at line 1513 of file kernel_overload_mk.h.
#define MkObjectInstances_NULL | ( | ) |
Definition at line 1512 of file kernel_overload_mk.h.
class-shortcut for struct MkObjectS *
, all shortcut using the XX_YYY
syntax (only for public API) …
Definition at line 1424 of file LibMkKernel_mk.h.
class-shortcut for const struct MkObjectS *
, all const shortcut using the XX_YYYC
syntax (only for public API) …
Definition at line 1427 of file LibMkKernel_mk.h.
reference-shortcut for struct MkObjectS
, all shortcut using the XX_YYYR
syntax (only for public API) …
Definition at line 1430 of file LibMkKernel_mk.h.
|
inlinestatic |
Null-Slot - return a MkObjectC typed NULL
instance …
Definition at line 3544 of file LibMkKernel_mk.h.
MK_OBJ MkObjectGetNullP | ( | void | ) |
Non-inline replacement for MkObjectGetNull …
Handle-Delete-Slot - delete a netObj from handle-storage …
Handle-Delete-Slot - delete a netHdl from handle-storage …
bool MkObjectHandleExists | ( | MK_OBJ const | obj | ) |
check if obj has already a handle defined…
[in] | obj | the MkObjectS instance to work on - a MANAGED OBJECT after type-check and able to be supported by the MkObjectS API |
MK_YES
or MK_NO
Handle-Get-Slot - returns a export-hdl to the MkObjectC useable for external storage
The export-hdl is a reference to an instance that can be stored in software and converted back into an instance using the MkObjectHandleResolve.
By default, the export-hdl is initialized to "0", which is equivalent to does not exist. This function returns a non-zero and unique export-hdl that is recreated if necessary.
The export-hdl is only valid until the Programming-Language-Micro-Kernel (PLMK) ends.
example: The export-hdl is used in rpc to identify an object across the network.
[in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
[in] | obj | the MkObjectS instance to work on - a MANAGED OBJECT after type-check and able to be supported by the MkObjectS API |
Export-Slot - returns typeHdl of the obj .
A typeHdl identifies the type the obj belongs to. All instances of the same type share the same typeHdl.
[in] | obj | the MkObjectS instance to work on - a MANAGED OBJECT after type-check and able to be supported by the MkObjectS API |
Definition at line 3420 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectHandleGetOfType …
return export-hdl or 0 in not created…
Same as MkObjectHandleGet, but no new export-hdl is created if it has not already been created and the initial value 0
is returned instead.
[in] | obj | the MkObjectS instance to work on - a MANAGED OBJECT after type-check and able to be supported by the MkObjectS API |
Handle-Resolve-Slot - return a MkObjectC from netHdl or MK_NULL
if invalid…
The MkObjectHandleResolve undo the MkObjectHandleGet and is intended to export a unique identifer into external code not belonging to the Programming-Language-Micro-Kernel (PLMK).
[in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
[in] | netHdl | handle former exported with MkObjectHandleGet |
MK_NULL
if netHdl is invalid get head-instance from linked-list of MkObjectS type …
The head-instance is the last instance created.
Definition at line 12827 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectInstances …
get next instance from linked-list of MkObjectS type
Definition at line 12834 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectNext …
get previous instance from linked-list of MkObjectS type
Definition at line 12841 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectPrev …