7#ifndef _ADTF_UCOM_ANT_RUNTIME_RUNTIME_HOOK_INTERFACE_INCLUDES_HEADER_
8#define _ADTF_UCOM_ANT_RUNTIME_RUNTIME_HOOK_INTERFACE_INCLUDES_HEADER_
337 uint32_t ui32Flags = 0) = 0;
384 const char* strNameOID,
386 uint32_t ui32Flags = 0) = 0;
397 const tChar* strNameOID =
"") = 0;
425 uint32_t ui32Flags = 0) = 0;
448 uint32_t ui32Flags=0) = 0;
529 const tChar* strNameOfObject =
"")
const = 0;
char tChar
The tChar defines the type for platform character set (platform and compiler dependent type).
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Base class for every interface type within the uCOM.
The IRuntimeHook interface provides a hook callback interface.
virtual tResult RuntimeHook(const tHookInfo &sHookInfo, const iobject_ptr< IObject > &pObject)=0
This method will be called at specific stages during runtime operation, see tRuntimeHookId.
The IRuntime interface controls global system startup and shutdown.
virtual tResult UnregisterHook(IRuntimeHook &oHook)=0
Unregister hook.
virtual tResult GetPlugins(iobject_enum< const IPluginInfo > &lstPluginInfos) const =0
Gets a object reference list of registered plugins.
virtual tResult CreateInstance(const char *strCID, iobject_ptr< IObject > &pObject, const tChar *strNameOfObject="") const =0
Creates a new instance of an object.
virtual tResult UnregisterAllPlugins(int8_t nRunLevel, uint32_t ui32Flags=0)=0
Unregister all plugin from plugin registry.
virtual tResult GetObjects(iobject_enum< IObject > &lstOfObjects) const =0
Get a list (enumeration) of registered instances.
virtual tResult SetRunLevel(int8_t nRunLevel, bool bWait=true)=0
Set run level.
virtual tResult RegisterObject(const iobject_ptr< IObject > &pObject, const char *strNameOID, int8_t nRunLevel, uint32_t ui32Flags=0)=0
Register object at object registry.
virtual tResult GetClasses(iobject_enum< const IClassInfo > &lstOfClasses) const =0
Returns a list of classes.
virtual tResult RegisterClassFactory(const iobject_ptr< const IClassFactory > &pClassFactory, uint32_t ui32Flags=0)=0
Register class at class registry The RegisterClass method registers all classes of the given factory ...
virtual tResult UnregisterPlugin(const iobject_ptr< IPluginInfo > &pPluginInfo, uint32_t ui32Flags=0)=0
Unregister plugin from plugin registry.
virtual tResult RegisterPlugin(const char *strUrl, int8_t nRunLevel, iobject_ptr< IPluginInfo > &pPluginInfo, uint32_t ui32Flags=0)=0
Register plugin at the plugin registry.
tClassRegistryFlags
Flags to affect the creation speed of classes.
@ CRF_None
No special treatment.
@ CRF_FastCreation
The class is placed at the front of the classlist.
@ CRF_NoHookOnCreation
The runtime hooks don't get called.
@ CRF_NoAutoDeregistration
The class will be registered for the current Run level and will be automatically unregistered on post...
virtual tResult RegisterHook(IRuntimeHook &oHook)=0
Register hook.
virtual tResult GetClassFactories(iobject_enum< const IClassFactory > &lstOfClassFactories) const =0
Gets a list for all registered class factories.
virtual tResult GetObject(iobject_ptr< IObject > &pObject) const =0
Get registered object from object registry by interface.
@ ORF_RegisterOnChangingRL
tRuntimeHookId
Runtime hook identifiers.
@ RHI_RunLevelPreDecrement
Called before the run level is decremented.
@ RHI_RunLevelPostIncrement
Called after the run level was incremented.
@ RHI_RunLevelDecrementing
Called while the run level is decrementing.
@ RHI_ServiceStarted
Called after a service was started.
@ RHI_RunLevelIncrementing
Called before the run level is incrementing.
@ RHI_UnregisterPlugin
Called before a plugin is unregistered.
@ RHI_Start
Called after the runtime instance was started.
@ RHI_RunLevelPostDecrement
Called after the run level was decremented.
@ RHI_ServiceStopped
Called after a service has been stopped.
@ RHI_RegisterObject
Called after an object has been registered.
@ RHI_Stop
Called before the runtime instance is stopped.
@ RHI_ServiceStarting
Called before a service is started.
@ RHI_UnregisterObject
Called before an object is unregistered.
@ RHI_LoadPlugin
Called after a plugin has been loaded.
@ RHI_ServiceStopping
Called before a service is stopped.
@ RHI_RegisterPlugin
Called after a plugin has been registered, after it has been loaded, see RHI_LoadPlugin.
@ RHI_RunLevelPreIncrement
Called before the run level is incremented.
@ RHI_CreateInstance
Called after an instance has been created.
@ RHI_Destroy
Called before the runtime instance is destroyed.
@ RHI_Create
Called after the runtime instance was created.
@ RHI_RegisterClass
Called after a class has been registered.
@ RHI_UnregisterClass
Called before a class is unregistered.
tUnregisterObjectFlags
Run level change flags.
@ UOF_Automatically
Automatically Unregistered Object by Runlevelchange.
@ UOF_Manually
Manually Unregistered Object.
@ RL_Shutdown
The system is shut down.
@ RL_Internal
Invalid run level that signals unmanaged modules.
virtual tResult GetObject(iobject_ptr< IObject > &pObject, const char *strNameOID) const =0
Get registered object from object registry.
tPluginFlags
InternalFlags.
@ PF_MARKEDFORDELETION
if plugin is unloaded, this is the flag for deletion
@ PF_NONE
no flags, default setting
@ PF_UNMANAGED
if plugin is unloaded, also remove entry from registration.
ADTF_IID(IRuntime, "runtime.ant.ucom.adtf.iid")
Marks the IRuntime to be castable with the ucom_cast<>
tChangeRunLevelFlags
Run level change flags.
@ CRLF_PreIncrementLevel
Called before the run level is incremented.
@ CRLF_PostDecrementLevel
Called after the run level was decremented.
@ CRLF_PreDecrementLevel
Called before the run level is decremented.
@ CRLF_PostIncrementLevel
Called after the run level was incremented.
~IRuntime()=default
Protected destructor --> Only the final implementation can be destroyed!
virtual tResult UnregisterClassFactory(const iobject_ptr< const IClassFactory > &pClassFactory)=0
Unregister a class factory from class registry.
virtual int8_t GetRunLevel() const =0
Get current run level.
virtual tResult UnregisterObject(const iobject_ptr< IObject > &pObject, const tChar *strNameOID="")=0
Unregister object from object registry.
Interface definition for a container of objects.
Base object pointer to realize binary compatible reference counting in interface methods.
Interface for functions that can be passed via IObject interfaces.
virtual bool StartupCompleted() const =0
ADTF_IID(IRuntimeStartup, "runtime_startup.spider.ucom.adtf.iid")
Marks the IRuntimeStartup to be castable with the ucom_cast<>
virtual tResult GetArguments(const adtf::ucom::nitro::ifunction< tResult(const char *)> &oCallback) const =0
Get the arguments passed to runtime.
ADTF_IID(IRuntimeArguments, "runtime_arguments.vision.ucom.adtf.iid")
Marks the IRuntimeArguments to be castable with the ucom_cast<>
Copyright © Audi Electronics Venture GmbH.
Namespace for all functionality provided since v3.0.
Namespace for all functionality provided since v3.18.
Namespace for the ADTF uCOM3 SDK.
Namespace for entire ADTF SDK.
uint32_t idHook
Defines event type (tRuntimeHookId)
void * pvData
optional data pointer.
uint32_t ui32Param1
Depends on idHook.
uint32_t ui32Param2
Depends on idHook.
size_t szData
size of the data provided through pvData.