MkObjectC - define the class … More...
Collaboration diagram for MkObjectC_Class_C_API: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 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 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. |
0 than null is returned and the upper-code decide how to deal with it.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.
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.
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.
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.
| 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 |
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.
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 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 |
get head-instance from linked-list of MkObjectS type …
The head-instance is the last instance created.
Definition at line 13357 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectInstances …
get next instance from linked-list of MkObjectS type
Definition at line 13364 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectNext …
get previous instance from linked-list of MkObjectS type
Definition at line 13371 of file LibMkKernel_mk.h.
Non-inline replacement for MkObjectPrev …