ADTF
Loading...
Searching...
No Matches
runnable_intf.h
Go to the documentation of this file.
1
7#pragma once
8#include "chrono.h"
11
12#include <functional>
13
14namespace adtf
15{
16namespace base
17{
18namespace ant
19{
20
27{
28public:
30 ADTF_IID(IRunnable, "runnable.ant.base.adtf.iid");
31
32protected:
34 ~IRunnable() = default;
35
36public:
38 typedef std::function<tResult(tTimeStamp)> tRunFunction;
39
70
71public:
87 "Use adtf::base::flash::IRunnable::Run(tNanoSeconds tmTimeofActivation, ant::IRunnable::tActivationType "
88 "ui32ActivationType, const void* pvUserData, size_t nUserDataSize) instead.")
89 virtual tResult Run(tTimeStamp tmTimeofActivation,
90 tActivationType ui32ActivationType,
91 const void* pvUserData,
92 size_t nUserDataSize) = 0;
93
100 {
101 return RUN_UNSPECIFIED;
102 }
103};
104} // namespace ant
105
106namespace flash
107{
112{
113public:
115 ADTF_IID(IRunnable, "runnable.flash.base.adtf.iid");
116
117protected:
119 ~IRunnable() = default;
120
121public:
123 typedef std::function<tResult(tNanoSeconds)> tRunFunction;
124 typedef ant::IRunnable::tActivationType tActivationType;
125
126public:
139 virtual tResult Run(tNanoSeconds tmTimeofActivation,
140 ant::IRunnable::tActivationType ui32ActivationType,
141 const void* pvUserData,
142 size_t nUserDataSize) = 0;
143};
144
145} // namespace flash
146
148using ant::IRunnable;
149
150} // namespace base
151} // namespace adtf
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
Definition runnable_intf.h:27
std::function< tResult(tTimeStamp)> tRunFunction
Type definition of the function used to implement Run.
Definition runnable_intf.h:38
ADTF_IID(IRunnable, "runnable.ant.base.adtf.iid")
defintion of interface id
~IRunnable()=default
not destructable
virtual tActivationType GetActivationType() const
Definition runnable_intf.h:99
tActivationType
Definition runnable_intf.h:45
@ RUN_TRIGGER
Trigger run call.
Definition runnable_intf.h:63
@ RUN_JOB
activation code to handle a job call.
Definition runnable_intf.h:61
@ RUN_EXCEPTION
activation code to handle a global exception.
Definition runnable_intf.h:54
@ RUN_UNSPECIFIED
unspecified Run activation type.
Definition runnable_intf.h:47
@ RUN_THREAD
Definition runnable_intf.h:59
@ RUN_SIGNAL
Definition runnable_intf.h:52
@ RUN_PUSH
Data Sync Push.
Definition runnable_intf.h:65
@ RUN_TIMER
activation code to handle a timer, usually this is sent by a kernel implementation have timer primiti...
Definition runnable_intf.h:49
@ RUN_USER
activation code offset for user activations.
Definition runnable_intf.h:68
@ RUN_MESSAGE
activation code to handle a message.
Definition runnable_intf.h:56
ADTF3_DEPRECATED("Use adtf::base::flash::IRunnable::Run(tNanoSeconds tmTimeofActivation, ant::IRunnable::tActivationType " "ui32ActivationType, const void* pvUserData, size_t nUserDataSize) instead.") virtual tResult Run(tTimeStamp tmTimeofActivation
Definition runnable_intf.h:112
virtual tResult Run(tNanoSeconds tmTimeofActivation, ant::IRunnable::tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize)=0
ADTF_IID(IRunnable, "runnable.flash.base.adtf.iid")
defintion of interface id
std::function< tResult(tNanoSeconds)> tRunFunction
Type definition of the function used to implement Run.
Definition runnable_intf.h:123
~IRunnable()=default
not destructable
Namespace for all functionality of the ADTF Base SDK provided since v3.0.
Definition adtf_class_version.h:16
Namespace for the ADTF Base SDK.
Definition adtf_base_type_traits.h:13
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14
A timestamp with nanosecond precision.
Definition chrono.h:23