ReadWriteStream.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * ReadWriteStream.h
8  *
9  ****/
10 
11 #pragma once
12 
13 #include "DataSourceStream.h"
14 
20 {
21 public:
22  size_t write(uint8_t charToWrite) override
23  {
24  return write(&charToWrite, 1);
25  }
26 
27  using Print::write;
28 
37  virtual size_t write(const uint8_t* buffer, size_t size) = 0;
38 
44  virtual size_t copyFrom(IDataSourceStream* source, size_t size = SIZE_MAX);
45 };
Base class for read-only stream.
Definition: DataSourceStream.h:46
virtual size_t write(uint8_t c)=0
Writes a single character to output stream.
Base class for read/write stream.
Definition: ReadWriteStream.h:20
virtual size_t write(const uint8_t *buffer, size_t size)=0
Write chars to stream.
virtual size_t write(uint8_t c)=0
Writes a single character to output stream.
virtual size_t copyFrom(IDataSourceStream *source, size_t size=SIZE_MAX)
Copy data from a source stream.
size_t write(uint8_t charToWrite) override
From Stream class: We don't write using this stream.
Definition: ReadWriteStream.h:22