ADTF  3.18.2
runtime< LAST_RUN_LEVEL >

Definition of a common level based runtime. More...

Inheritance diagram for runtime< LAST_RUN_LEVEL >:
[legend]

Public Member Functions

 runtime ()
 CTOR.
 
 runtime (const adtf::util::cCommandLine &oCommandline)
 CTOR. More...
 
const char * GetRunLevelString (int8_t) const override
 Logging Hook to retrieve logging message for the desired runtime changes. More...
 
- Public Member Functions inherited from cRuntime
 cRuntime (int8_t nLastRunlevel)
 
 cRuntime (int8_t nLastRunlevel, const adtf::util::cCommandLine &oCommandline)
 CTOR. More...
 
tResult Exec (int8_t i8FirstRunlevelToChange, std::function< void()> fnStartup)
 
tResult SetRunLevel (int8_t i8RunlevelToChangeTo, bool bWait=true) override
 
int8_t GetRunLevel () const override
 Get current run level. More...
 
tResult RegisterObject (const iobject_ptr< IObject > &pObject, const char *strNameOID, int8_t nRunLevel, uint32_t ui32Flags=0) override
 
tResult UnregisterObject (const iobject_ptr< IObject > &pObject, const tChar *strNameOID="") override
 
tResult GetObjects (iobject_enum< IObject > &lstOfObjects) const override
 Implements the IRuntime::GetObjects. More...
 
tResult RegisterPlugin (const char *strUrl, int8_t nRunLevel, iobject_ptr< IPluginInfo > &pPluginInfo, uint32_t ui32Flags=0) override
 
tResult UnregisterPlugin (const iobject_ptr< IPluginInfo > &pPluginInfo, uint32_t ui32Flags=0) override
 
tResult UnregisterAllPlugins (int8_t nRunLevel, uint32_t ui32Flags=0) override
 
tResult GetPlugins (iobject_enum< const IPluginInfo > &lstPluginInfos) const override
 
tResult RegisterClassFactory (const iobject_ptr< const IClassFactory > &pClassFactory, uint32_t ui32Flags=0) override
 
tResult UnregisterClassFactory (const iobject_ptr< const IClassFactory > &pClassFactory) override
 
tResult GetClasses (iobject_enum< const IClassInfo > &lstOfClasses) const override
 
tResult GetClassFactories (iobject_enum< const IClassFactory > &lstOfClasses) const override
 
tResult RegisterHook (IRuntimeHook &pHook) override
 Register a Hook.
 
tResult UnregisterHook (IRuntimeHook &pHook) override
 Unregister a Hook.
 
tResult GetObject (iobject_ptr< IObject > &pObject, const char *strNameOID) const override
 
tResult GetObject (iobject_ptr< IObject > &pObject) const override
 
tResult CreateInstance (const char *strCID, iobject_ptr< IObject > &oObject, const tChar *strNameOfObject="") const override
 
- Public Member Functions inherited from object< IRuntime >
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object. More...
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying. More...
 
void Destroy () const override
 Destruct and deallocate instantiations of type IObject. 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

- Protected Member Functions inherited from cRuntime
virtual ~cRuntime ()
 DTOR.
 
virtual tResult ChangeRunLevel (int8_t i8RunLevelToChangeTo)
 
tResult CallRuntimeHooks (int nHookId, uint32_t ui32Param1=0, uint32_t ui32Param2=0, void *pvData=NULL, int szData=0, const iobject_ptr< IObject > &pObject=object_ptr< IObject >())
 
tResult NotifyAllObjects (int nEventId, uint32_t ui32Param1=0, uint32_t ui32Param2=0, void *pvData=NULL, int szData=0, bool bBackwards=false)
 
void SetEventFilter (std::function< tResult(int, uint32_t, uint32_t, void *, int, const iobject_ptr< IObject > &)> fnHookFilter, std::function< tResult(int, uint32_t, uint32_t, void *, int, bool)> fnEventFilter)
 
bool StartedCompletedImplementation () const
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

template<int8_t LAST_RUN_LEVEL>
class adtf::ucom::ant::detail::runtime< LAST_RUN_LEVEL >

Definition of a common level based runtime.

A Runtime of teh ucom is implemented as level state machine. Choose the LAST_RUN_LEVEL as the highest number of runlevel which can be reached. the implementation of cRuntime will increase and decrease the level from RL_Shutdown to LAST_RUN_LEVEL. A Service (IService) registered to the defined runlevel (IRuntime::RegisterObject) will be automatically initialized if the runlevel is reached.

Template Parameters
LAST_RUN_LEVELHighest runlevel of the runtime

Definition at line 201 of file runtime.h.

Constructor & Destructor Documentation

◆ runtime()

runtime ( const adtf::util::cCommandLine &  oCommandline)
inline

CTOR.

Parameters
[in]oCommandlinecommandline arguments past to the instance of runtime

Definition at line 215 of file runtime.h.

Member Function Documentation

◆ GetRunLevelString()

const char* GetRunLevelString ( int8_t  ) const
inlineoverridevirtual

Logging Hook to retrieve logging message for the desired runtime changes.

Parameters
i8Runlevel[in] Runlevel the logging want a readable name for
Returns
The readable name for the runlevel

Implements cRuntime.

Definition at line 224 of file runtime.h.