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 * | libmkkernel::MK_OBJ |
class-shortcut for struct MkObjectS * , all shortcut using the XX_YYY syntax (only for public API) … | |
typedef const struct MkObjectS * | libmkkernel::MK_OBJN |
class-shortcut for const struct MkObjectS * , all const shortcut using the XX_YYYC syntax (only for public API) … | |
typedef struct MkObjectS | libmkkernel::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 | libmkkernel::MkObjectHandleGetOfType (MK_OBJ const obj) |
Export-Slot - returns typeHdl of the obj . | |
bool | libmkkernel::MkObjectHandleExists (MK_OBJ const obj) |
check if obj has already a handle defined… | |
MK_HDL | libmkkernel::MkObjectHandleGetOr0 (MK_OBJ const obj) |
return export-hdl or 0 in not created… | |
MK_HDL | libmkkernel::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 | libmkkernel::MkObjectHandleResolve_RT (MK_RT mkrt, MK_HDL const netHdl) |
Handle-Resolve-Slot - return a MkObjectC from netHdl or MK_NULL if invalid… | |
void | libmkkernel::MkObjectHandleDeleteByNetHdl_RT (MK_RT mkrt, MK_HDL const netHdl) |
Handle-Delete-Slot - delete a netHdl from handle-storage … | |
void | libmkkernel::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 | libmkkernel::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 | libmkkernel::MkObjectInstances_RT (MK_RT mkrt) |
get head-instance from linked-list of MkObjectS type … | |
static MK_OBJ | libmkkernel::MkObjectNext (MK_OBJ const obj) |
get next instance from linked-list of MkObjectS type | |
static MK_OBJ | libmkkernel::MkObjectPrev (MK_OBJ const obj) |
get previous instance from linked-list of MkObjectS type | |
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 1524 of file kernel_overload_mk.h.
#define MkObjectHandleDelete_NULL | ( | ... | ) |
Definition at line 1523 of file kernel_overload_mk.h.
#define MkObjectHandleDeleteByNetHdl | ( | ... | ) |
Definition at line 1530 of file kernel_overload_mk.h.
#define MkObjectHandleDeleteByNetHdl_NULL | ( | ... | ) |
Definition at line 1529 of file kernel_overload_mk.h.
#define MkObjectHandleGet | ( | ... | ) |
Definition at line 1526 of file kernel_overload_mk.h.
#define MkObjectHandleGet_1X | ( | x | ) |
Definition at line 3641 of file LibMkKernel_mk.h.
#define MkObjectHandleGet_NULL | ( | ... | ) |
Definition at line 1525 of file kernel_overload_mk.h.
#define MkObjectHandleGetOfType_1X | ( | x | ) |
Definition at line 3584 of file LibMkKernel_mk.h.
#define MkObjectHandleResolve | ( | ... | ) |
Definition at line 1520 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 3665 of file LibMkKernel_mk.h.
#define MkObjectHandleResolve_NULL | ( | ... | ) |
Definition at line 1519 of file kernel_overload_mk.h.
#define MkObjectInstances | ( | ) |
Definition at line 1541 of file kernel_overload_mk.h.
#define MkObjectInstances_NULL | ( | ) |
Definition at line 1540 of file kernel_overload_mk.h.
typedef struct MkObjectS* libmkkernel::MK_OBJ |
class-shortcut for struct MkObjectS *
, all shortcut using the XX_YYY
syntax (only for public API) …
Definition at line 1506 of file LibMkKernel_mk.h.
typedef const struct MkObjectS* libmkkernel::MK_OBJN |
class-shortcut for const struct MkObjectS *
, all const shortcut using the XX_YYYC
syntax (only for public API) …
Definition at line 1509 of file LibMkKernel_mk.h.
typedef struct MkObjectS libmkkernel::MK_OBJR |
reference-shortcut for struct MkObjectS
, all shortcut using the XX_YYYR
syntax (only for public API) …
Definition at line 1512 of file LibMkKernel_mk.h.
|
inlinestatic |
Null-Slot - return a MkObjectC typed NULL
instance …
Definition at line 3704 of file LibMkKernel_mk.h.
Handle-Delete-Slot - delete a netObj from handle-storage …
Handle-Delete-Slot - delete a netHdl from handle-storage …
bool libmkkernel::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 |
true
or false
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 3580 of file LibMkKernel_mk.h.
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 13371 of file LibMkKernel_mk.h.
get next instance from linked-list of MkObjectS type
Definition at line 13378 of file LibMkKernel_mk.h.
get previous instance from linked-list of MkObjectS type
Definition at line 13385 of file LibMkKernel_mk.h.