stromx  0.8.0
TriggerData.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_TRIGGERDATA_H
18 #define STROMX_RUNTIME_TRIGGERDATA_H
19 
20 #include "stromx/runtime/Data.h"
21 
22 namespace stromx
23 {
24  namespace runtime
25  {
27  class STROMX_RUNTIME_API TriggerData : public Data
28  {
29  public:
30  TriggerData() {}
31 
32  virtual const Version & version() const { return VERSION; }
33  virtual const std::string & type() const { return TYPE; }
34  virtual const std::string & package() const { return PACKAGE; }
35 
36  virtual const VariantHandle & variant() const;
37 
38  virtual Data* clone() const { return new TriggerData; }
39 
40  virtual void serialize(OutputProvider &) const {}
41  virtual void deserialize(InputProvider &, const Version &) {}
42 
43  private:
44  static const std::string TYPE;
45  static const std::string PACKAGE;
46  static const Version VERSION;
47  };
48 
50  template <>
51  class STROMX_RUNTIME_API data_traits<TriggerData>
52  {
53  public:
54  static const VariantHandle & variant();
55  };
57  }
58 }
59 
60 #endif // STROMX_RUNTIME_TRIGGERDATA_H
A version of an operator or data type.
Definition: Version.h:46
Abstract data object.
Definition: Data.h:53
virtual void serialize(OutputProvider &) const
Definition: TriggerData.h:40
Definition: VariantHandle.h:34
Provides functions to serialize data to strings and files.
Definition: OutputProvider.h:27
Provides functions to deserialize data from strings and files.
Definition: InputProvider.h:27
virtual const std::string & type() const
Definition: TriggerData.h:33
virtual const Version & version() const
Definition: TriggerData.h:32
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
Special data value for trigger signals.
Definition: TriggerData.h:27
virtual void deserialize(InputProvider &, const Version &)
Definition: TriggerData.h:41
virtual Data * clone() const
Definition: TriggerData.h:38
virtual const std::string & package() const
Definition: TriggerData.h:34