PLCnext API Documentation  21.0.0.35466
NullStream.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Commons/Io/Stream.hpp"
9 
10 namespace Arp { namespace System { namespace Commons { namespace Io
11 {
12 
13 class NullStream : public Stream
14 {
15 public: // typedefs
16 
17 public: // construction/destruction
19  NullStream(void) = default;
21  NullStream(const NullStream& arg) = delete;
23  NullStream& operator=(const NullStream& arg) = delete;
25  virtual ~NullStream(void) = default;
26 
27 public: // operators
28 
29 public: // static operations
30 
31 public: // setter/getter operations
32  boolean CanRead(void) override;
33  boolean CanWrite(void) override;
34  boolean CanSeek(void) override;
35  size_t GetLength(void) override;
36  void SetLength(size_t length) override;
37  size_t GetPosition(void) override;
38  void SetPosition(size_t postion) override;
39 
40 
41 public: // operations
42  void Flush(void) override;
43  size_t Seek(size_t offset, SeekOrigin origin) override;
44  size_t Read(byte* pBuffer, size_t bufferSize, size_t offset, size_t count) override;
45  void Write(const byte* pBuffer, size_t bufferSize, size_t offset, size_t count) override;
46 
47  byte ReadByte(void) override;
48  void WriteByte(byte value) override;
49 
50 protected: // operations
51 
52 private: // static methods
53 
54 private: // methods
55 
56 private: // fields
57 
58 private: // static fields
59 
60 };
61 
63 // inline methods of class NullStream
64 
65 }}}} // end of namespace Arp::System::Commons::Io
virtual ~NullStream(void)=default
Destructs this instance and frees all resources.
Definition: NullStream.hpp:13
NullStream & operator=(const NullStream &arg)=delete
Assignment operator.
Provides a generic view of a sequence of bytes.
Definition: Stream.hpp:16
Root namespace for the PLCnext API
SeekOrigin
Provides seek reference points. To seek to the end of a stream, call stream.Seek(0, SeekOrigin.End).
Definition: SeekOrigin.hpp:19
System components used by the System, Device, Plc or Io domains.
NullStream(void)=default
Constructs an NullStream instance.
unsigned char byte
The Arp character type.
Definition: PrimitiveTypes.hpp:23