CProcessedDataSequenceSupplierComp.h
Go to the documentation of this file.
1 #ifndef imeas_CProcessedDataSequenceSupplierComp_included
2 #define imeas_CProcessedDataSequenceSupplierComp_included
3 
4 
5 // ACF-Solutions includes
6 #include "iproc/IProcessor.h"
7 #include "iproc/ISupplier.h"
11 
12 
13 namespace imeas
14 {
15 
16 
22  imod::TModelWrap< imeas::CGeneralDataSequence> >,
23  virtual public imeas::IDataSequenceProvider
24 {
25 public:
28 
29  I_BEGIN_COMPONENT(CProcessedDataSequenceSupplierComp);
30  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
31  I_ASSIGN(m_dataSequenceProviderCompPtr, "DataSequenceProvider", "Provide input data sequence", true, "DataSequenceProvider");
32  I_ASSIGN_TO(m_dataSequenceSupplierCompPtr, m_dataSequenceProviderCompPtr, false);
33  I_ASSIGN_TO(m_dataSequenceProviderModelCompPtr, m_dataSequenceProviderCompPtr, false);
34  I_ASSIGN(m_dataSequenceProcessorCompPtr, "DataSequenceProcessor", "Data sequence conversion processor (takes data sequence as input and output)", true, "DataSequenceProcessor");
35  I_END_COMPONENT;
36 
37 protected:
38  // reimplemented (imeas::IDataSequenceProvider)
39  virtual const imeas::IDataSequence* GetDataSequence() const;
40 
41  // reimplemented (iproc::TSupplierCompWrap)
42  virtual int ProduceObject(ProductType& result) const;
43 
44  // reimplemented (icomp::CComponentBase)
45  virtual void OnComponentCreated();
46 
47 private:
48  I_REF(imeas::IDataSequenceProvider, m_dataSequenceProviderCompPtr);
49  I_REF(iproc::ISupplier, m_dataSequenceSupplierCompPtr);
50  I_REF(imod::IModel, m_dataSequenceProviderModelCompPtr);
51  I_REF(iproc::IProcessor, m_dataSequenceProcessorCompPtr);
52 };
53 
54 
55 } // namespace imeas
56 
57 
58 #endif // !imeas_CProcessedDataSequenceSupplierComp_included
59 
60 
iproc::TSupplierCompWrap< imod::TModelWrap< imeas::CGeneralDataSequence > > BaseClass
I_ASSIGN_TO(m_dataSequenceSupplierCompPtr, m_dataSequenceProviderCompPtr, false)
Simple data sequence provider.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
Interface for all synchrone and assynchrone processors with "push data" model.
Definition: IProcessor.h:24
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
Data sequence supplier providing processed data sequence from some other input data sequence supplier...
Standard implementation of interface iproc::ISupplier with preparation for component implementation...
virtual int ProduceObject(ProductType &result) const
Produce single object.

© 2007-2011 Witold Gantzke and Kirill Lepskiy