ADTF  3.14.3
filter_levelmachine.h
Go to the documentation of this file.
1 
7 #pragma once
8 #include "filter_intf.h"
9 
10 namespace adtf
11 {
12 namespace streaming
13 {
14 namespace ant
15 {
16 
22 class cFilterLevelmachine : public adtf::ucom::level_machine < cFilterLevelmachine,
23  IFilter::tFilterState,
24  IFilter::tFilterState::State_Shutdown >
25 {
26  //friend class cFilterBase;
27 
28 protected:
30  cFilterLevelmachine() = default;
40  virtual ~cFilterLevelmachine() = default;
41 
42 public:
44  enum tInitStage : uint8_t
45  {
56  };
57 
58 protected:
60  tResult InitStageFirst();
62  tResult InitStageNormal();
64  tResult InitStageReady();
66  tResult ShutdownStageReady();
70  tResult ShutdownStageFirst();
71 
72 protected:
73  tResult SetLevel(IFilter::tFilterState eLevel);
74 
86  virtual tResult Init(cFilterLevelmachine::tInitStage eStage);
87 
88 
89 
102  virtual tResult Start();
103 
116  virtual tResult Stop();
117 
131  virtual tResult Shutdown(cFilterLevelmachine::tInitStage eStage);
132 };
133 
134 } //namespace ant
135 } //namespace streaming
136 } //namespace adtf
tFilterState
specifies the several types of filter states
Definition: filter_intf.h:44
The Default Filter Level State Machine.
virtual tResult Stop()
Implements the default cFilterLevelmachine state machine calls.
tResult ShutdownStageNormal()
Internal StateMachine Event.
tInitStage
The Filters InitStages will be used for the cFilterLevelmachine::Init and cFilterLevelmachine::Shutdo...
@ StagePreConnect
Second Init Stage (Pre Connect calls)
@ StagePostConnect
Third Init Stage (Post Connect calls)
@ StageNormal
Second Init Stage (Pre Connect calls)
@ StageGraphReady
Third Init Stage (Post Connect calls)
cFilterLevelmachine(cFilterLevelmachine &&)=delete
deleted move CTOR
tResult InitStageReady()
Internal StateMachine Event.
tResult ShutdownStageFirst()
Internal StateMachine Event.
virtual tResult Init(cFilterLevelmachine::tInitStage eStage)
Implements the default cFilterLevelmachine state machine call.
cFilterLevelmachine(const cFilterLevelmachine &)=delete
deleted copy CTOR
cFilterLevelmachine()=default
CTOR Default.
tResult ShutdownStageReady()
Internal StateMachine Event.
virtual tResult Start()
Implements the default cFilterLevelmachine state machine calls.
cFilterLevelmachine & operator=(cFilterLevelmachine &&)=delete
deleted move operator
cFilterLevelmachine & operator=(const cFilterLevelmachine &)=delete
deleted copy operator
virtual ~cFilterLevelmachine()=default
DTOR Default.
tResult InitStageFirst()
Internal StateMachine Event.
virtual tResult Shutdown(cFilterLevelmachine::tInitStage eStage)
Implements the default cFilterLevelmachine state machine call.
tResult InitStageNormal()
Internal StateMachine Event.
Generator template to create a Basic Level Machine implmentation.
Definition: level_machine.h:26
Copyright © Audi Electronics Venture GmbH.
Namespace for entire ADTF SDK.

Copyright © Audi Electronics Venture GmbH. All rights reserved. (Generated on Thu Jun 9 2022 by doxygen 1.9.1)