CProcessedEdgeLinesSupplierComp.h
Go to the documentation of this file.
1 #ifndef iedge_CProcessedEdgeLinesSupplierComp_included
2 #define iedge_CProcessedEdgeLinesSupplierComp_included
3 
4 
5 // ACF includes
6 #include "iproc/ISupplier.h"
11 
12 
13 namespace iedge
14 {
15 
16 
18  public iproc::TSupplierCompWrap<CEdgeLineContainer>,
19  virtual public IEdgeLinesProvider
20 {
21 public:
23 
24  I_BEGIN_COMPONENT(CProcessedEdgeLinesSupplierComp);
25  I_REGISTER_INTERFACE(IEdgeLinesProvider);
26  I_ASSIGN(m_edgeLinesProviderCompPtr, "EdgeLinesProvider", "Provide list of edge list to processing", true, "EdgeLinesProvider");
27  I_ASSIGN_TO(m_edgeLinesSupplierCompPtr, m_edgeLinesProviderCompPtr, false);
28  I_ASSIGN_TO(m_edgeLinesProviderModelCompPtr, m_edgeLinesProviderCompPtr, false);
29  I_ASSIGN(m_edgesProcessorCompPtr, "EdgesProcessor", "Processor (edges to edges)", true, "EdgesProcessor");
30  I_END_COMPONENT;
31 
32  // reimplemented (iedge::IEdgeLinesProvider)
33  virtual const CEdgeLineContainer* GetEdgesContainer() const;
34 
35 protected:
36  // reimplemented (iproc::TSupplierCompWrap)
37  virtual int ProduceObject(CEdgeLineContainer& result) const;
38 
39  // reimplemented (icomp::CComponentBase)
40  virtual void OnComponentCreated();
41 
42 private:
43  I_REF(IEdgeLinesProvider, m_edgeLinesProviderCompPtr);
44  I_REF(iproc::ISupplier, m_edgeLinesSupplierCompPtr);
45  I_REF(imod::IModel, m_edgeLinesProviderModelCompPtr);
46  I_REF(IEdgeLinesProcessor, m_edgesProcessorCompPtr);
47 };
48 
49 
50 } // namespace iedge
51 
52 
53 #endif // !iedge_CProcessedEdgeLinesSupplierComp_included
54 
55 
iproc::TSupplierCompWrap< CEdgeLineContainer > BaseClass
Interface for edge lines processing.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
virtual const CEdgeLineContainer * GetEdgesContainer() const
Provide access to container of endges.
virtual int ProduceObject(CEdgeLineContainer &result) const
I_ASSIGN_TO(m_edgeLinesSupplierCompPtr, m_edgeLinesProviderCompPtr, false)
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy