Made to Order Software Corporation Logo

LLChatLib: LLSDBinaryParser Class Reference

LLSDBinaryParser Class Reference

Parser which handles binary formatted LLSD. More...

#include <llsdserialize.h>

Inheritance diagram for LLSDBinaryParser:
Collaboration diagram for LLSDBinaryParser:

List of all members.

Public Member Functions

 LLSDBinaryParser ()
 Constructor.

Protected Member Functions

virtual S32 doParse (std::istream &istr, LLSD &data) const
 Call this method to parse a stream for LLSD.

virtual ~LLSDBinaryParser ()
 Destructor.


Detailed Description

Parser which handles binary formatted LLSD.


Constructor & Destructor Documentation

LLSDBinaryParser::LLSDBinaryParser (  ) 

Constructor.

LLSDBinaryParser


Member Function Documentation

S32 LLSDBinaryParser::doParse ( std::istream &  istr,
LLSD data 
) const [protected, virtual]

Call this method to parse a stream for LLSD.

This method parses the istream for a structured data. This method assumes that the istream is a complete llsd object -- for example an opened and closed map with an arbitrary nesting of elements. This method will return after reading one data object, allowing continued reading from the stream by the caller.

Parameters:
istr The input stream.
data[out] The newly parse structured data.
Returns:
Returns the number of LLSD objects parsed into data. Returns -1 on parse failure.

Undefined: '!'
Boolean: 't' for true 'f' for false
Integer: 'i' + 4 bytes network byte order
Real: 'r' + 8 bytes IEEE double
UUID: 'u' + 16 byte unsigned integer
String: 's' + 4 byte integer size + string
strings also secretly support the notation format Date: 'd' + 8 byte IEEE double for seconds since epoch
URI: 'l' + 4 byte integer size + string uri
Binary: 'b' + 4 byte integer size + binary data
Array: '[' + 4 byte integer size + all values + ']'
Map: '{' + 4 byte integer size every(key + value) + '}'
map keys are serialized as s + 4 byte integer size + string or in the notation format.










Implements LLSDParser.

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 17:18:44 2010 for LLChatLib by  doxygen 1.6.3