CDataSequenceJoinerSupplierComp.h
Go to the documentation of this file.
1 #ifndef imeas_CDataSequenceJoinerSupplierComp_included
2 #define imeas_CDataSequenceJoinerSupplierComp_included
3 
4 
5 // ACF-Solutions includes
6 #include "iproc/IProcessor.h"
7 #include "iproc/ISupplier.h"
12 
13 
14 namespace imeas
15 {
16 
17 
20  imod::TModelWrap< imeas::CGeneralDataSequence> >,
21  virtual public imeas::IDataSequenceProvider
22 {
23 public:
26 
27  I_BEGIN_COMPONENT(CDataSequenceJoinerSupplierComp);
28  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
29  I_ASSIGN_MULTI_0(m_dataSequenceProviderCompPtr, "DataSequenceProvider", "Provide list of the data sequence provider", false);
30  I_ASSIGN_TO(m_dataSequenceSupplierCompPtr, m_dataSequenceProviderCompPtr, false);
31  I_ASSIGN_TO(m_dataSequenceProviderModelCompPtr, m_dataSequenceProviderCompPtr, false);
32  I_ASSIGN_MULTI_0(m_multiDataSequenceProviderCompPtr, "MultiDataSequenceProvider", "Provide list of the multi data sequence provider", false);
33  I_ASSIGN_TO(m_multiDataSequenceSupplierCompPtr, m_multiDataSequenceProviderCompPtr, false);
34  I_ASSIGN_TO(m_multiDataSequenceProviderModelCompPtr, m_multiDataSequenceProviderCompPtr, false);
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_MULTIREF(imeas::IDataSequenceProvider, m_dataSequenceProviderCompPtr);
49  I_MULTIREF(iproc::ISupplier, m_dataSequenceSupplierCompPtr);
50  I_MULTIREF(imod::IModel, m_dataSequenceProviderModelCompPtr);
51  I_MULTIREF(imeas::IMultiDataSequenceProvider, m_multiDataSequenceProviderCompPtr);
52  I_MULTIREF(iproc::ISupplier, m_multiDataSequenceSupplierCompPtr);
53  I_MULTIREF(imod::IModel, m_multiDataSequenceProviderModelCompPtr);
54 };
55 
56 
57 } // namespace imeas
58 
59 
60 #endif // !imeas_CDataSequenceJoinerSupplierComp_included
61 
62 
iproc::TSupplierCompWrap< imod::TModelWrap< imeas::CGeneralDataSequence > > BaseClass
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
virtual int ProduceObject(ProductType &result) const
Produce single object.
Simple data sequence provider.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
I_ASSIGN_TO(m_dataSequenceSupplierCompPtr, m_dataSequenceProviderCompPtr, false)
Interface for a provider of more data sequence objects.
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy