7#ifndef _UCOM_SERVICE_CLASS_HEADER_
8#define _UCOM_SERVICE_CLASS_HEADER_
17class DOEXPORT cServiceLevelmachine :
public level_machine < cServiceLevelmachine,
18 ucom::IService::tServiceState,
19 ucom::IService::tServiceState::Deinitialized >
25 cServiceLevelmachine() =
default;
26 cServiceLevelmachine(
const cServiceLevelmachine&) =
delete;
27 cServiceLevelmachine(cServiceLevelmachine&&) =
delete;
28 cServiceLevelmachine& operator=(
const cServiceLevelmachine&) =
delete;
29 cServiceLevelmachine& operator=(cServiceLevelmachine&&) =
delete;
58 std::vector<IEventSink*> m_oEventSinks;
61 ADTF_OBJECT_INFO_IMPL(m_strOID);
68 tServiceState GetState()
const override;
70 tResult SetState(tServiceState eState)
override;
72 tResult ServiceEvent(
int nEventId,
73 uint32_t ui32Param1 = 0,
74 uint32_t ui32Param2 = 0,
75 void* pvData =
nullptr,
76 int szData = 0)
override;
#define UCOM_RESOLVE(...)
Resolve a path to a base class which is inherited multiple times.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#define ADTF_CLASS_INFO_IMPL(_class)
Common macro to implement correct treatment of IClassInfo.
#define ADTF_CLASS_ID(_class, _strcid)
ADTF_CLASS_INFO_IMPL.
Base class for every interface type within the uCOM.
The IService interface provides defines methods for system services.
virtual tResult ServiceInit()
Init service.
virtual tResult ServiceShutdown()
Shutdown service.
Generator template to create a Basic Level Machine implmentation.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
Namespace for entire ADTF SDK.