ICF 3.0.5.47
Technical documentation of ICF Libraries
IProcessor.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iproc_IProcessor_included
7#define iproc_IProcessor_included
8
9
10// ICF includes
11#include <iprm/IParamsSet.h>
13#include <iproc/CTaskState.h>
14
15
16namespace iproc
17{
18
19
25class IProcessor: virtual public istd::IPolymorphic
26{
27public:
29 {
33 MI_BAD_PARAMS = 0x16372620,
35 };
36
59
65 virtual int GetProcessorState(const iprm::IParamsSet* paramsPtr) const = 0;
66
74 virtual bool AreParamsAccepted(
75 const iprm::IParamsSet* paramsPtr,
76 const istd::IPolymorphic* inputPtr,
77 const istd::IChangeable* outputPtr) const = 0;
78
87 virtual void InitProcessor(const iprm::IParamsSet* paramsPtr, bool doReset) = 0;
88
104 const iprm::IParamsSet* paramsPtr,
105 const istd::IPolymorphic* inputPtr,
106 istd::IChangeable* outputPtr,
107 bool allowAsync = true,
108 iproc::IProgressManager* progressManagerPtr = nullptr) = 0;
109};
110
111
112} // namespace iproc
113
114
115#endif // !iproc_IProcessor_included
116
117
Set of general parameters.
Definition IParamsSet.h:29
Represent state of asynchronous operation.
Definition CTaskState.h:28
Interface for all synchrone and asynchrone processors with "push data" model.
Definition IProcessor.h:26
virtual bool AreParamsAccepted(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, const istd::IChangeable *outputPtr) const =0
Check if specified parameter set is accepted for this processor.
virtual int GetProcessorState(const iprm::IParamsSet *paramsPtr) const =0
Get state of this processor for processing of specified parameters.
virtual void InitProcessor(const iprm::IParamsSet *paramsPtr, bool doReset)=0
Init processor and give him all or part of parameters.
@ MI_BAD_PARAMS
Bad processor parameter.
Definition IProcessor.h:33
virtual CTaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=true, iproc::IProgressManager *progressManagerPtr=nullptr)=0
Do synchronized processing.
ProcessorState
State of processing.
Definition IProcessor.h:41
@ PS_INITIALIZATION
Processor is during initalisation.
Definition IProcessor.h:49
@ PS_UNKNOWN
Processing state is unknown or not initialized.
Definition IProcessor.h:45
@ PS_READY
Processor is initialized and ready.
Definition IProcessor.h:53
@ PS_INVALID
Processor cannot be initialized.
Definition IProcessor.h:57
Consume information about progress of some process.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
This namespace containes interfaces and implementation of data processing concepts.

© Witold Gantzke and Kirill Lepskiy