13#define CID_ADTF_KERNEL "kernel.service.adtf.cid"
93 const uint8_t* pProcessorAffinity =
nullptr,
94 size_t nProcessorAffinityByteCount = 0):
98 if (pProcessorAffinity ==
nullptr)
285 const void* pUserData =
nullptr,
286 size_t nUserDataSize = 0,
313 tTimeStamp nInitialDelay,
315 const void* pUserData =
nullptr,
316 size_t nUserDataSize = 0,
423 tTimeStamp nInitialDelay,
424 tTimeStamp nMaximumExecutionTime,
426 const void* pUserData =
nullptr,
427 size_t nUserDataSize = 0,
#define ADTF_IID(_interface, _striid)
Definition adtf_iid.h:19
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
Definition runnable_intf.h:27
Definition string_intf.h:29
Definition kernel_intf.h:255
~IKernelRunnable()=default
Protected destructor.
Definition kernel_intf.h:119
virtual tResult GetScheduling(tSchedulingInfo &sScheduling) const =0
virtual tResult SetScheduling(const tSchedulingInfo &sScheduling)=0
~IScheduling()=default
Protected destructor --> Only the final implementation can be destroyed!
Definition kernel_intf.h:233
virtual tResult HandleKernelSignal(const adtf::ucom::iobject_ptr< ISignal > &pSignal)=0
~ISignalHandler()=default
Protected destructor.
Definition kernel_intf.h:209
virtual int32_t GetCode() const =0
virtual int32_t GetClass() const =0
~ISignal()=default
Protected destructor --> Only the final implementation can be destroyed!
Definition kernel_intf.h:147
virtual bool IsCurrent() const =0
~IThread()=default
Protected destructor --> Only the final implementation can be destroyed!
virtual tResult Detach()=0
virtual tResult Join(tTimeStamp nTimeout=-1)=0
Definition kernel_intf.h:180
~ITimer()=default
Protected destructor --> Only the final implementation can be destroyed!
Definition kernel_intf.h:26
tTimerFlags
Definition kernel_intf.h:70
@ TIF_None
No special behaviour.
Definition kernel_intf.h:71
@ TIF_Reschedule
Reschedule timer interval in case of a missed start instant. Mutally exclusive with TIF_Drop....
Definition kernel_intf.h:72
@ TIF_Drop
Drop missed timer calls and wait until the next valid point in time that matches the interval....
Definition kernel_intf.h:73
@ TIF_ErrorLog
Default error handling action for deadline and start instant misses is set to adtf::base::elasto::IEr...
Definition kernel_intf.h:74
@ TIF_ErrorStop
Default error handling action for deadline and start instant misses is set to adtf::base::elasto::IEr...
Definition kernel_intf.h:75
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
virtual tResult SignalRegister(ISignalHandler &oHandler, uint32_t ui32Flags=tSignalFlags::SIG_None)=0
tTimerClock
Definition kernel_intf.h:60
@ Monotonic
Realtime monotonic clock.
Definition kernel_intf.h:62
@ ADTF
ADTF Stream time.
Definition kernel_intf.h:61
~IKernel()=default
Protected destructor --> Only the final implementation can be destroyed!
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
virtual tResult GetObjects(adtf::ucom::iobject_enum< IObject > &oObjects)=0
tSignalFlags
Definition kernel_intf.h:199
@ SIG_None
No special behaviour.
Definition kernel_intf.h:200
@ SIG_Async
Transmit signal asynchronously.
Definition kernel_intf.h:201
virtual tResult SignalUnregister(ISignalHandler &oHandler)=0
virtual tResult SignalSend(const adtf::ucom::iobject_ptr< ISignal > &pSignal, uint32_t ui32Flags=tSignalFlags::SIG_None)=0
tThreadFlags
Definition kernel_intf.h:50
@ THF_None
No special behaviour.
Definition kernel_intf.h:51
@ THF_Detached
Definition kernel_intf.h:52
ADTF_IID(IKernel, "kernel.ant.services.adtf.iid")
Interface ID for the kernel interface.
tSchedulingClass
Definition kernel_intf.h:40
@ Default
The kernel may choose what it (or the user) likes.
Definition kernel_intf.h:41
@ Normal
Basic non-realtime scheduling.
Definition kernel_intf.h:42
@ RealTime
Realtime scheduling.
Definition kernel_intf.h:43
Definition kernel_intf.h:372
Definition kernel_intf.h:361
ADTF_IID(IKernel, "kernel.devil.services.adtf.iid")
Interface ID for the kernel interface.
Definition kernel_intf.h:390
ADTF_IID(IKernel, "kernel.penguin.services.adtf.iid")
Interface ID for the kernel interface.
virtual tResult TimerCreate(adtf::ucom::iobject_ptr< ITimer > &pTimer, const char *strTimerName, tTimeStamp nPeriod, tTimeStamp nInitialDelay, tTimeStamp nMaximumExecutionTime, 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
Definition object_intf.h:33
Definition object_list.h:22
Namespace for all service interfaces provided since v3.3.
Definition adtf_file_support_intf.h:25
Namespace for all service interfaces provided since v3.15.
Definition reference_clock_intf.h:609
ant::IObject IObject
Alias always bringing the latest version of ant::IObject into scope.
Definition object_intf.h:109
ant::iobject_ptr< T > iobject_ptr
Alias always bringing the latest version of ant::iobject_ptr into scope.
Definition object_ptr_intf.h:437
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14
Definition kernel_intf.h:82
float fPriority
The priority [0.0, 1.0].
Definition kernel_intf.h:111
uint8_t aProcessorAffinity[128]
The processor affinity (bitmask).
Definition kernel_intf.h:112
tSchedulingInfo(tSchedulingClass eSchedulingClass=tSchedulingClass::Default, float fPriority=-1.0, const uint8_t *pProcessorAffinity=nullptr, size_t nProcessorAffinityByteCount=0)
Definition kernel_intf.h:91
tSchedulingClass eSchedulingClass
The scheduling class.
Definition kernel_intf.h:110