LightHub 4.6.0
Open-source smart home controller firmware
Loading...
Searching...
No Matches
seekablestream.h
Go to the documentation of this file.
1#ifndef _SEEKABLESTREAM_H_
2#define _SEEKABLESTREAM_H_
3
4#include <Stream.h>
5#include <Arduino.h>
6
7#define EOFchar 255
8
9class seekableStream : public Stream
10{
11protected:
12unsigned int streamSize;
14uint16_t contentType;
15
16public:
17seekableStream(unsigned int size):Stream(),streamSize(size),textMode(false),contentType(0) {};
18virtual bool checkPermissions(char mode) {return true;};
19unsigned int getSize() {return streamSize;}
20void setSize (unsigned int size) {streamSize = size;};
21virtual unsigned int seek(unsigned int _pos = 0) = 0;
22virtual int open(String _filename, char mode) = 0;
23virtual void close() = 0;
24virtual uint16_t getContentType() {return contentType;};
25virtual void putEOF() {if (textMode) {write (EOFchar);textMode=false;}};
26};
27
28#endif
virtual unsigned int seek(unsigned int _pos=0)=0
virtual uint16_t getContentType()
Definition seekablestream.h:24
virtual bool checkPermissions(char mode)
Definition seekablestream.h:18
virtual void putEOF()
Definition seekablestream.h:25
unsigned int getSize()
Definition seekablestream.h:19
uint16_t contentType
Definition seekablestream.h:14
unsigned int streamSize
Definition seekablestream.h:12
bool textMode
Definition seekablestream.h:13
void setSize(unsigned int size)
Definition seekablestream.h:20
virtual void close()=0
seekableStream(unsigned int size)
Definition seekablestream.h:17
virtual int open(String _filename, char mode)=0
#define EOFchar
Definition seekablestream.h:7