CCascadedProcessorComp.h
Go to the documentation of this file.
1 #ifndef iproc_CCascadedProcessorComp_included
2 #define iproc_CCascadedProcessorComp_included
3 
4 
5 #include "istd/IChangeable.h"
6 
7 #include "icomp/CComponentBase.h"
8 
10 
11 
12 namespace iproc
13 {
14 
15 
21  public icomp::CComponentBase,
22  public CSyncProcessorBase
23 {
24 public:
27 
28  I_BEGIN_COMPONENT(CCascadedProcessorComp);
29  I_REGISTER_INTERFACE(iproc::IProcessor);
30  I_ASSIGN_MULTI_0(m_processorsCompPtr, "Processors", "List of processors", true);
31  I_ASSIGN_MULTI_0(m_buffersCompPtr, "Buffers", "List of buffers storing data between processors", false);
32  I_ASSIGN_MULTI_0(m_progressIdsAttrPtr, "ProgressIds", "List of progress ID's used for progress manager for each processor", false);
33  I_ASSIGN_MULTI_0(m_progressDescriptionsAttrPtr, "ProgressDescriptions", "List of progress descriptions used for progress manager for each processor", false);
34  I_END_COMPONENT;
35 
36  // reimplemented (iproc::IProcessor)
37  virtual int GetProcessorState(const iprm::IParamsSet* paramsPtr) const;
38  virtual bool AreParamsAccepted(
39  const iprm::IParamsSet* paramsPtr,
40  const istd::IPolymorphic* inputPtr,
41  const istd::IChangeable* outputPtr) const;
42  virtual int DoProcessing(
43  const iprm::IParamsSet* paramsPtr,
44  const istd::IPolymorphic* inputPtr,
45  istd::IChangeable* outputPtr,
46  ibase::IProgressManager* progressManagerPtr = NULL);
47  virtual void InitProcessor(const iprm::IParamsSet* paramsPtr);
48 
49 private:
50  I_MULTIREF(iproc::IProcessor, m_processorsCompPtr);
51  I_MULTIREF(istd::IChangeable, m_buffersCompPtr);
52  I_MULTIATTR(QByteArray, m_progressIdsAttrPtr);
53  I_MULTIATTR(QString, m_progressDescriptionsAttrPtr);
54 };
55 
56 
57 } // namespace iproc
58 
59 
60 #endif // !iproc_CCascadedProcessorComp_included
61 
Processor starting sequence of cascaded processors to processing input object to the output one...
Wrapper of iproc::IProcessor for simple synchrone processor implementations.
virtual int DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)
virtual void InitProcessor(const iprm::IParamsSet *paramsPtr)
virtual bool AreParamsAccepted(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, const istd::IChangeable *outputPtr) const
virtual int GetProcessorState(const iprm::IParamsSet *paramsPtr) const
Interface for all synchrone and assynchrone processors with "push data" model.
Definition: IProcessor.h:24

© 2007-2011 Witold Gantzke and Kirill Lepskiy