IOLink  IOL_v1.6.1_release
Writer.h
1 #pragma once
2 
3 #include <iolink/IOLinkAPI.h>
4 #include <iolink/VariantDataValue.h>
5 
6 namespace iolink
7 {
8 
12 class IOLINK_API Writer
13 {
14 public:
15  virtual ~Writer() = default;
16 
20  virtual void writeAll() = 0;
21 
25  virtual void writeInit() = 0;
26 
30  virtual void writeData() = 0;
31 
35  virtual void writeFinish() = 0;
36 
40  virtual std::string name() const = 0;
41 
45  virtual std::string version() const = 0;
46 
55  virtual void setOption(const std::string& parameter, std::shared_ptr<VariantDataValue> data) = 0;
56 
60  std::string toString() const;
61 };
62 
63 } // end namespace iolink