ADTF  3.18.2
IKernel

Kernel interface for thread, timer and signal handling. More...

Inheritance diagram for IKernel:
[legend]

Classes

class  INamedKernelObject
 Interface for kernel objects that have names (threads/timer) More...
 

Public Member Functions

 ADTF_IID (IKernel, "kernel.devil.services.adtf.iid")
 Interface ID for the kernel interface.
 
- Public Member Functions inherited from IKernel
 ADTF_IID (IKernel, "kernel.ant.services.adtf.iid")
 Interface ID for the kernel interface.
 
virtual tResult ThreadCreate (adtf::ucom::iobject_ptr< IThread > &pThread, const char *strThreadName, const adtf::ucom::iobject_ptr< IKernelRunnable > &pKernelRunnable, const void *pUserData=nullptr, size_t nUserDataSize=0, const tSchedulingInfo &sScheduling=tSchedulingInfo(), uint32_t ui32Flags=tThreadFlags::THF_None)=0
 Creates a new thread of execution that executes the Run method of the given runnable. More...
 
virtual tResult TimerCreate (adtf::ucom::iobject_ptr< ITimer > &pTimer, const char *strTimerName, tTimeStamp nPeriod, tTimeStamp nInitialDelay, const adtf::ucom::iobject_ptr< IKernelRunnable > &pKernelRunnable, const void *pUserData=nullptr, size_t nUserDataSize=0, tTimerClock eClock=tTimerClock::ADTF, const tSchedulingInfo &sScheduling=tSchedulingInfo(), uint32_t ui32Flags=tTimerFlags::TIF_None)=0
 Creates a new timer, that periodically calls the Run method of the given runnable. More...
 
virtual tResult SignalSend (const adtf::ucom::iobject_ptr< ISignal > &pSignal, uint32_t ui32Flags=tSignalFlags::SIG_None)=0
 Transmits a signal to all registered signal handlers. More...
 
virtual tResult SignalRegister (ISignalHandler &oHandler, uint32_t ui32Flags=tSignalFlags::SIG_None)=0
 Registers a new signal handler. More...
 
virtual tResult SignalUnregister (ISignalHandler &oHandler)=0
 Unregisters a signal handler. More...
 
virtual tResult GetObjects (adtf::ucom::iobject_enum< IObject > &oObjects)=0
 Returns a list of all kernel primitives. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Additional Inherited Members

- Public Types inherited from IKernel
enum class  tSchedulingClass : uint32_t { Default = 0 , Normal = 1 , RealTime = 2 }
 Enum for different scheduling schemes. More...
 
enum  tThreadFlags { THF_None = 0 , THF_Detached = 1 }
 Flags for thread creation. More...
 
enum class  tTimerClock : uint32_t { ADTF = 0 , Monotonic = 1 , RealTime = 2 }
 Enum for different time sources for timers. More...
 
enum  tTimerFlags : uint8_t {
  TIF_None = 0 , TIF_Reschedule = 1 , TIF_Drop = 2 , TIF_ErrorLog = 4 ,
  TIF_ErrorStop = 8
}
 Flags for time creation. More...
 
enum  tSignalFlags { SIG_None = 0 , SIG_Async = 1 }
 Enum for signal options. More...
 
- Protected Member Functions inherited from IKernel
 ~IKernel ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

Kernel interface for thread, timer and signal handling.

Definition at line 358 of file kernel_intf.h.