Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
JsonObjectStream Class Reference

JSON object stream class. More...

#include <DataSourceStream.h>

Inheritance diagram for JsonObjectStream:
MemoryDataStream Print IDataSourceStream

Public Member Functions

 JsonObjectStream ()
 Create a JSON object stream. More...
 
virtual StreamType getStreamType ()
 Get the stream type. More...
 
JsonObject & getRoot ()
 Get the JSON root node. More...
 
virtual uint16_t readMemoryBlock (char *data, int bufSize)
 Read a block of memory. More...
 
const char * getStreamPointer ()
 Get a pointer to the current position. More...
 
int getStreamLength ()
 Get size of stream. More...
 
virtual size_t write (uint8_t charToWrite)
 Write a single char to stream. More...
 
virtual size_t write (const uint8_t *buffer, size_t size)
 Write chars to stream. More...
 
size_t write (const char *str)
 Writes a c-string to output stream. More...
 
size_t write (const char *buffer, size_t size)
 Writes characters from a buffer to output stream. More...
 
virtual bool seek (int len)
 Move read cursor. More...
 
virtual bool isFinished ()
 Check if stream is finished. More...
 
int getWriteError ()
 Gets last error. More...
 
void clearWriteError ()
 Clears the last write error. More...
 
size_t print (char)
 Prints a single character to output stream. More...
 
size_t print (const char[])
 Prints a c-string to output stream. More...
 
size_t print (unsigned long, int base=DEC)
 Prints a number to output stream. More...
 
size_t print (long, int base=DEC)
 Prints a number to output stream. More...
 
size_t print (unsigned int, int base=DEC)
 
size_t print (unsigned char, int base=DEC)
 
size_t print (int, int base=DEC)
 Prints a number to output stream. More...
 
size_t print (double, int digits=2)
 Prints number to output stream. More...
 
size_t print (const Printable &p)
 Prints a Printable object to output stream. More...
 
size_t print (const String &s)
 Prints a String to output stream. More...
 
size_t println (void)
 Prints a newline to output stream. More...
 
size_t println (const char[])
 Prints a c-string to output stream, appending newline. More...
 
size_t println (char)
 Prints a single character to output stream, appending newline. More...
 
size_t println (unsigned char, int base=DEC)
 Prints a number to output stream, appending newline. More...
 
size_t println (unsigned int, int base=DEC)
 
size_t println (unsigned long, int base=DEC)
 
size_t println (int, int base=DEC)
 Prints a number to output stream, appending newline. More...
 
size_t println (long, int base=DEC)
 Prints a number to output stream, appending newline. More...
 
size_t println (double, int digits=2)
 Prints a number to output stream, appending newline. More...
 
size_t println (const Printable &p)
 Prints a Printable object to output stream, appending newline. More...
 
size_t println (const String &s)
 Prints a String to output stream, appending newline. More...
 
size_t printf (const char *fmt,...)
 Prints a formatted c-string to output stream. More...
 

Protected Member Functions

void setWriteError (int err=1)
 

Detailed Description

JSON object stream class.

Constructor & Destructor Documentation

JsonObjectStream::JsonObjectStream ( )

Create a JSON object stream.

Member Function Documentation

void Print::clearWriteError ( )
inlineinherited

Clears the last write error.

JsonObject& JsonObjectStream::getRoot ( )

Get the JSON root node.

Return values
JsonObjectReference to the root node
int MemoryDataStream::getStreamLength ( )
inlineinherited

Get size of stream.

Return values
intQuantity of chars in stream
const char* MemoryDataStream::getStreamPointer ( )
inlineinherited

Get a pointer to the current position.

Return values
const char*Pointer to current cursor position within the data stream
virtual StreamType JsonObjectStream::getStreamType ( )
inlinevirtual

Get the stream type.

Return values
StreamTypeThe stream type.
Todo:
Return value of IDataSourceStream:getStreamType base class function should be of type StreamType, e.g. eSST_User

Reimplemented from MemoryDataStream.

int Print::getWriteError ( )
inlineinherited

Gets last error.

Return values
intError number of last write error
virtual bool MemoryDataStream::isFinished ( )
virtualinherited

Check if stream is finished.

Return values
boolTrue on success.

Implements IDataSourceStream.

size_t Print::print ( char  )
inherited

Prints a single character to output stream.

Return values
size_tQuantity of characters written to stream
size_t Print::print ( const char  [])
inherited

Prints a c-string to output stream.

Parameters
char[]c-string to print
Return values
size_tQuantity of characters written to output stream
size_tQuantity of characters written to stream
size_t Print::print ( unsigned  char,
int  base = DEC 
)
inherited

Prints a number to output stream.

Parameters
unsigned longNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
Parameters
unsigned intNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
Parameters
unsigned charNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::print ( long  ,
int  base = DEC 
)
inherited

Prints a number to output stream.

Parameters
longNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::print ( int  ,
int  base = DEC 
)
inherited

Prints a number to output stream.

Parameters
intNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::print ( double  ,
int  digits = 2 
)
inherited

Prints number to output stream.

Prints a number to output stream.

Parameters
doubleNumber to print
intDecimal places to show
Return values
size_tQuantity of characters written to output stream
Parameters
doubleNumber to print
digitsThe decimal places to print (Default: 2, e.g. 21.35)
Return values
size_tQuantity of characters written to stream
size_t Print::print ( const Printable p)
inherited

Prints a Printable object to output stream.

Parameters
pObject to print
Return values
size_tQuantity of characters written to stream
size_t Print::print ( const String s)
inherited

Prints a String to output stream.

Parameters
sString to print
Return values
size_tQuantity of characters written to stream
size_t Print::printf ( const char *  fmt,
  ... 
)
inherited

Prints a formatted c-string to output stream.

Parameters
fmtPointer to formated c-string to print
...Parameters for placeholders within formated string
Return values
size_tQuantity of characters written to stream
Note
Use standard printf placeholders, e.g. d for integer, s for c-string, etc.
size_t Print::println ( void  )
inherited

Prints a newline to output stream.

Parameters
Printsnewline to output stream
Return values
size_tQuantity of characters written to output stream
size_tQuantity of characters written to stream
size_t Print::println ( const char  [])
inherited

Prints a c-string to output stream, appending newline.

Parameters
char[]c-string to print
Return values
size_tQuantity of characters written to stream
size_t Print::println ( char  )
inherited

Prints a single character to output stream, appending newline.

Parameters
charCharacter to print
Return values
size_tQuantity of characters written to stream
size_t Print::println ( unsigned  long,
int  base = DEC 
)
inherited

Prints a number to output stream, appending newline.

Parameters
unsigned charNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
Parameters
unsigned intNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
Parameters
unsigned longNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::println ( int  ,
int  base = DEC 
)
inherited

Prints a number to output stream, appending newline.

Parameters
intNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::println ( long  ,
int  base = DEC 
)
inherited

Prints a number to output stream, appending newline.

Parameters
longNumber to print
baseThe base for output (Default: Decimal (base 10))
Return values
size_tQuantity of characters written to stream
size_t Print::println ( double  ,
int  digits = 2 
)
inherited

Prints a number to output stream, appending newline.

Parameters
doubleNumber to print
digitsThe decimal places to print (Default: 2, e.g. 21.35)
Return values
size_tQuantity of characters written to stream
size_t Print::println ( const Printable p)
inherited

Prints a Printable object to output stream, appending newline.

Parameters
pObject to print
Return values
size_tQuantity of characters written to stream
size_t Print::println ( const String s)
inherited

Prints a String to output stream, appending newline.

Parameters
sString to print
Return values
size_tQuantity of characters written to stream
virtual uint16_t JsonObjectStream::readMemoryBlock ( char *  data,
int  bufSize 
)
virtual

Read a block of memory.

Parameters
dataPointer to the data to be read
bufSizeQuantity of chars to read
Return values
uint16_tQuantity of chars read
Todo:
Should IDataSourceStream::readMemoryBlock return same data type as its bufSize param?

Reimplemented from MemoryDataStream.

virtual bool MemoryDataStream::seek ( int  len)
virtualinherited

Move read cursor.

Parameters
lenPosition within stream to move cursor to
Return values
boolTrue on success.

Implements IDataSourceStream.

size_t Print::write ( const char *  str)
inlineinherited

Writes a c-string to output stream.

Parameters
strPointer to c-string
Return values
size_tQuantity of characters written to stream
size_t Print::write ( const char *  buffer,
size_t  size 
)
inlineinherited

Writes characters from a buffer to output stream.

Parameters
bufferPointer to character buffer
sizeQuantity of characters to write
Return values
size_tQuantity of characters written to stream
virtual size_t MemoryDataStream::write ( uint8_t  charToWrite)
virtualinherited

Write a single char to stream.

Parameters
charToWriteChar to write to the stream
Return values
size_tQuantity of chars written to stream (always 1)

Implements Print.

virtual size_t MemoryDataStream::write ( const uint8_t *  buffer,
size_t  size 
)
virtualinherited

Write chars to stream.

Parameters
bufferPointer to buffer to write to the stream
sizeQuantity of chars to writen
Return values
size_tQuantity of chars written to stream

Reimplemented from Print.