ADTF  3.18.2
sample_stream_tracer_intf.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include <adtf_utils.h>
10 #include <adtfucom3/adtf_ucom3.h>
12 
13 #define CID_SAMPLE_STREAM_TRACE_PROVIDER_SERVICE "core_sample_stream_tracer.service.adtf.cid"
14 
15 namespace adtf
16 {
17 namespace services
18 {
19 namespace bat
20 {
21 
26 {
27  public:
29  ADTF_IID(ISampleStreamTracer, "sample_stream_tracer.bat.services.adtf.iid");
30 
31  protected:
33  ~ISampleStreamTracer() = default;
34 
35  public:
39  struct tTraceData
40  {
41  uint64_t ui64SampleCount = 0;
42  tTimeStamp tmLastSample = 0;
43  double fSamplesPerSecond = 0.0;
44  double fBytesPerSecond = 0.0;
45 
46  uint64_t ui64TriggerCount = 0;
47  tTimeStamp tmLastTrigger = 0;
48  double fTriggerPerSecond = 0.0;
49 
50  };
51  class IListener // call back function -> gui service
52  {
53  public:
57  virtual void Updated(const streaming::ant::ISampleStream* pSampleStream,
58  const tTraceData& sData) = 0;
60  virtual void Init(const streaming::ant::ISampleStream* pSampleStream,
61  const streaming::ant::INamedGraphObject* pSource = nullptr) = 0;
62  };
63 
64  public:
65 
67  virtual tResult RegisterListener(IListener& oListener) = 0;
69  virtual tResult UnregisterListener(IListener& oListener) = 0;
70 };
71 
72 }
73 
74 namespace quiet {
75 
80 {
81  public:
83  ADTF_IID(ISampleStreamTracer, "sample_stream_tracer.quiet.services.adtf.iid");
84 
85  protected:
87  ~ISampleStreamTracer() = default;
88 
89  public:
94  {
95  uint64_t ui64StreamTypeCount = 0;
96  tTimeStamp tmLastStreamType = 0;
97  double fStreamTypePerSecond = 0.0;
98  };
99  class IListener // call back function -> gui service
100  {
101  public:
105  virtual void Updated(const streaming::ant::ISampleStream* pSampleStream, const tTraceData& sData) = 0;
107  virtual void Init(const streaming::ant::ISampleStream* pSampleStream,
108  const streaming::ant::INamedGraphObject* pSource = nullptr,
109  const char* strSourceFullName = nullptr) = 0;
110  };
111 
112  public:
115  virtual tResult RegisterListener(IListener& oListener) = 0;
116 
119  virtual tResult UnregisterListener(IListener& oListener) = 0;
120 };
121 
122 }
123 
125 
126 }
127 }
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
virtual void Updated(const streaming::ant::ISampleStream *pSampleStream, const tTraceData &sData)=0
callback for updated trace information on specific pin related sample stream colon separated path of ...
virtual void Init(const streaming::ant::ISampleStream *pSampleStream, const streaming::ant::INamedGraphObject *pSource=nullptr)=0
callback with initialization information after successful register
Interface for listening to sample stream traces that are available via the sample stream trace provid...
~ISampleStreamTracer()=default
Protected destructor --> Use implemented Destroy() instead of delete!
ADTF_IID(ISampleStreamTracer, "sample_stream_tracer.bat.services.adtf.iid")
Interface ID for the interface.
virtual tResult UnregisterListener(IListener &oListener)=0
Unregisters the given stream trace view listener to no longer receive sample stream trace information...
virtual tResult RegisterListener(IListener &oListener)=0
Registers the given sample stream trace view listener to receive updates about sample stream traces.
virtual void Updated(const streaming::ant::ISampleStream *pSampleStream, const tTraceData &sData)=0
callback for updated trace information on specific pin related sample stream colon separated path of ...
virtual void Init(const streaming::ant::ISampleStream *pSampleStream, const streaming::ant::INamedGraphObject *pSource=nullptr, const char *strSourceFullName=nullptr)=0
callback with initialization information after successful register
Interface for listening to sample stream traces that are available via the sample stream trace provid...
~ISampleStreamTracer()=default
Protected destructor --> Use implemented Destroy() instead of delete!
virtual tResult UnregisterListener(IListener &oListener)=0
Unregisters the given stream trace view listener to no longer receive sample stream trace information...
virtual tResult RegisterListener(IListener &oListener)=0
Registers the given sample stream trace view listener to receive updates about sample stream traces.
ADTF_IID(ISampleStreamTracer, "sample_stream_tracer.quiet.services.adtf.iid")
Interface ID for the interface.
Interface for a NamedGraphObject which can be added to the FilterGraph.
Interface of the SampleStream.
Base class for every interface type within the uCOM.
Definition: object_intf.h:31
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
struct holding the data as provided through the sample stream trace view interface
struct holding the data as provided through the sample stream trace view interface