TemplateStream.h
Go to the documentation of this file.
virtual String getName() const
Returns name of the resource.
Definition: DataSourceStream.h:156
Stream which performs variable-value substitution on-the-fly.
Definition: TemplateStream.h:42
HashMap< String, String > Variables
Maps variable names to values.
Definition: TemplateStream.h:47
void setVars(const Variables &vars)
Set multiple variables in the template file.
Definition: TemplateStream.h:99
Variables & variables()
Get the template variables.
Definition: TemplateStream.h:107
void setVar(const String &name, const String &value)
Set value of a variable in the template file.
Definition: TemplateStream.h:91
int seekFrom(int offset, SeekOrigin origin) override
Change position in stream.
void enableOutput(bool enable)
During processing applications may suppress output of certain sections by calling this method from wi...
Definition: TemplateStream.h:130
StreamType getStreamType() const override
Get the stream type.
Definition: TemplateStream.h:72
Delegate< String(const char *name)> GetValueDelegate
Callback type to return calculated or externally stored values.
Definition: TemplateStream.h:52
TemplateStream(IDataSourceStream *stream, bool owned=true)
Create a template stream.
Definition: TemplateStream.h:58
uint16_t readMemoryBlock(char *data, int bufSize) override
Read a block of memory.
String getName() const override
Returns name of the resource.
Definition: TemplateStream.h:112
String eval(String expr)
Evaluate an expression in-situ.
Definition: TemplateStream.h:173
void setDoubleBraces(bool enable)
Use two braces {{X}} to mark tags.
Definition: TemplateStream.h:149
bool isFinished() override
Check if all data has been read.
Definition: TemplateStream.h:81
bool isOutputEnabled() const
Determine if stream output is active.
Definition: TemplateStream.h:140
void onGetValue(GetValueDelegate callback)
Set a callback to obtain variable values.
Definition: TemplateStream.h:121
void enable(Handler &commandHandler, HardwareSerial &serial)