stromx  0.8.0
DataProvider.h
1 /*
2  * Copyright 2011 Matthias Fuchs
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef STROMX_RUNTIME_DATAPROVIDER_H
18 #define STROMX_RUNTIME_DATAPROVIDER_H
19 
20 namespace stromx
21 {
22  namespace runtime
23  {
24  class AbstractFactory;
25  class Data;
26  class DataContainer;
27  class Id2DataMapper;
28 
36  {
37  public:
38  virtual ~DataProvider() {}
39 
50  virtual void testForInterrupt() = 0;
51 
58  virtual void sleep(const unsigned int microseconds) = 0;
59 
67  virtual void receiveInputData(const Id2DataMapper& mapper) = 0;
68 
76  virtual void sendOutputData(const Id2DataMapper& mapper) = 0;
77 
88  virtual void unlockParameters() = 0;
89 
98  virtual void lockParameters() = 0;
99 
105  virtual const AbstractFactory & factory() const = 0;
106  };
107  }
108 }
109 
110 #endif // STROMX_RUNTIME_DATAPROVIDER_H
virtual void lockParameters()=0
virtual void testForInterrupt()=0
virtual const AbstractFactory & factory() const =0
Factory of operator and data objects.
Definition: AbstractFactory.h:32
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
virtual void unlockParameters()=0
virtual void sendOutputData(const Id2DataMapper &mapper)=0
Provider of functions to receive and send data.
Definition: DataProvider.h:35
virtual void receiveInputData(const Id2DataMapper &mapper)=0
virtual void sleep(const unsigned int microseconds)=0
Abstract base class of ID-to-data mappers.
Definition: Id2DataMapper.h:30