ADTF
Loading...
Searching...
No Matches
service.h
Go to the documentation of this file.
1
7#ifndef _UCOM_SERVICE_CLASS_HEADER_
8#define _UCOM_SERVICE_CLASS_HEADER_
9
10namespace adtf
11{
12namespace ucom
13{
14namespace ant
15{
16
17class DOEXPORT cServiceLevelmachine : public level_machine < cServiceLevelmachine,
18 ucom::IService::tServiceState,
19 ucom::IService::tServiceState::Deinitialized >
20{
21
22friend class cService;
23
24protected:
25 cServiceLevelmachine() = default;
26 cServiceLevelmachine(const cServiceLevelmachine&) = delete;
27 cServiceLevelmachine(cServiceLevelmachine&&) = delete;
28 cServiceLevelmachine& operator=(const cServiceLevelmachine&) = delete;
29 cServiceLevelmachine& operator=(cServiceLevelmachine&&) = delete;
30
31
32
33protected:
42
52
53};
54
55class DOEXPORT cService : public catwo::object<cServiceLevelmachine, IClassInfo, IObjectInfo, IService>
56{
57private:
58 std::vector<IEventSink*> m_oEventSinks;
59
60public:
61 ADTF_OBJECT_INFO_IMPL(m_strOID);
63 ADTF_CLASS_ID(cService, "nocid_set");
64
65public:
67
68 tServiceState GetState() const override;
69
70 tResult SetState(tServiceState eState) override;
71
72 tResult ServiceEvent(int nEventId,
73 uint32_t ui32Param1 = 0,
74 uint32_t ui32Param2 = 0,
75 void* pvData = nullptr,
76 int szData = 0) override;
77};
78
79
80}//ns ant
81
82
83using ant::cService;
84
85
86}//ns ucom
87}//ns adtf
88
89#endif // _UCOM_SERVICE_CLASS_HEADER_
#define UCOM_RESOLVE(...)
Resolve a path to a base class which is inherited multiple times.
Definition adtf_iid.h:45
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.
Definition class_id.h:57
#define ADTF_CLASS_ID(_class, _strcid)
ADTF_CLASS_INFO_IMPL.
Definition class_id.h:91
Base class for every interface type within the uCOM.
Definition object_intf.h:33
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...
Definition object.h:397
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
Namespace for entire ADTF SDK.