IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseRepeatedAsync2Processor.h
1 // BaseRepeatedAsync2Processor.h:
3 // ------------------------------
4 //
15 
16 #ifndef __IPSDKBASEPROCESSING_BASEREPEATEDASYNC2PROCESSOR_H__
17 #define __IPSDKBASEPROCESSING_BASEREPEATEDASYNC2PROCESSOR_H__
18 
19 #include <IPSDKBaseProcessing/Processor/Instances/BaseAsyncProcessor.h>
20 
21 namespace ipsdk {
22 namespace processor {
23 
26 
28 {
29  // declare serial class
31 
32 protected:
35 
36 public:
38  virtual ~BaseRepeatedAsync2Processor() = 0;
39 
40 // methods
41 public:
43  eProcessorType getProcessorType() const;
44 
45 protected:
50  virtual RetrievalResult retrieveFirstProvider(const core::BasePriority& priority,
51  const ipUInt32 curNbIter,
52  core::ActionProviderPtr& pProvider) = 0;
53 
58  virtual RetrievalResult retrieveSecondProvider(const core::BasePriority& priority,
59  const ipUInt32 curNbIter,
60  core::ActionProviderPtr& pProvider) = 0;
61 
62 private:
67  ipUInt32 retrieveSequenceInfo();
68 
73  RetrievalResult retrieveProvider(const core::BasePriority& priority,
74  const ipUInt32 curProviderIdx,
75  const ipUInt32 curNbIter,
76  core::ActionProviderPtr& pProvider);
77 
78 // attributes
79 protected:
80 
81 };
82 
85 
86 inline eProcessorType
88 {
90 }
91 
94 
95 } // end of namespace processor
96 } // end of namespace ipsdk
97 
98 #endif // __IPSDKBASEPROCESSING_BASEREPEATEDASYNC2PROCESSOR_H__
Class allowing to encapsulate a typed process result associated to a string description.
Definition: ProcessingResult.h:28
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
Base class for priority encapsulation.
Definition: BasePriority.h:32
Base class for asynchronous processors.
Definition: BaseAsyncProcessor.h:29
eProcessorType
Enumerate describing processor type.
Definition: ProcessorTypes.h:37
Base class for asynchronous processors using two providers repeatedly (without knowing in advance num...
Definition: BaseRepeatedAsync2Processor.h:27
eProcessorType getProcessorType() const
retrieve processor type
Definition: BaseRepeatedAsync2Processor.h:87
boost::shared_ptr< BaseActionProvider > ActionProviderPtr
shared pointer to action provider
Definition: ActionProviderTypes.h:58
asynchronous processors using two providers repeatedly
Definition: ProcessorTypes.h:55
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53