libvariant
 All Classes Namespaces Files Functions Enumerations Groups
Classes | Public Types | Public Member Functions | List of all members
libvariant::EventBuffer Class Reference
Inheritance diagram for libvariant::EventBuffer:
libvariant::EmitterImpl libvariant::ParserImpl

Classes

struct  Event
 

Public Types

enum  EventType_t {
  NO_EVENT = 0, BEGIN_DOCUMENT = 1, END_DOCUMENT = 1<<1, BEGIN_MAP = 1<<2,
  END_MAP = 1<<3, BEGIN_LIST = 1<<4, END_LIST = 1<<5, SCALAR_NULL = 1<<6,
  SCALAR_BOOL = 1<<7, SCALAR_STRING = 1<<8, SCALAR_INT = 1<<9, SCALAR_UINT = 1<<10,
  SCALAR_FLOAT = 1<<11, SCALAR_BLOB = 1<<12, NON_SCALARS = BEGIN_DOCUMENT | END_DOCUMENT | BEGIN_MAP | END_MAP | BEGIN_LIST | END_LIST, BEGIN_EVENTS = BEGIN_DOCUMENT | BEGIN_MAP | BEGIN_LIST,
  END_EVENTS = END_DOCUMENT | END_MAP | END_LIST, SCALAR_EVENTS, ALL_EVENTS = 0x0FFF
}
 

Public Member Functions

 EventBuffer (const EventBuffer &eb)
 
virtual void BeginDocument ()
 
virtual void EndDocument ()
 
virtual void BeginMap (int)
 
virtual void EndMap ()
 
virtual void BeginList (int)
 
virtual void EndList ()
 
virtual void EmitNull ()
 
virtual void EmitTrue ()
 
virtual void EmitFalse ()
 
virtual void Emit (const char *v)
 
virtual void Emit (intmax_t v)
 
virtual void Emit (uintmax_t v)
 
virtual void Emit (double v)
 
virtual void Emit (ConstBlobPtr b)
 
virtual void Flush ()
 
virtual void Close ()
 
virtual Variant GetParam (const std::string &key)
 
virtual Variant GetParams ()
 
virtual void SetParam (const std::string &key, Variant value)
 
void Playback (Emitter e)
 
void Playback (EmitterImpl *e)
 
void Fill (Parser p)
 
void FillRandom (EventType_t disallowed_events, int max_level, bool allow_nan)
 
virtual int Run ()
 
virtual bool Done () const
 
virtual bool Error () const
 
virtual bool Ok () const
 
virtual std::string ErrorStr () const
 Return a string describing the last error suitable for presentation to a user.
 
virtual void Reset ()
 Reset the parser.
 
bool Equal (const EventBuffer &o) const
 
unsigned NumEvents () const
 
const EventGetEvent (int i) const
 
int GetLevel () const
 
- Public Member Functions inherited from libvariant::EmitterImpl
virtual void SetParams (Variant params)
 
- Public Member Functions inherited from libvariant::ParserImpl
virtual void PushAction (shared_ptr< ParserActions > action)
 
virtual shared_ptr< ParserActionsPopAction ()
 
ParserActionsTopAction ()
 

Additional Inherited Members

- Protected Attributes inherited from libvariant::ParserImpl
std::deque< shared_ptr
< ParserActions > > 
action_stack
 

Member Function Documentation

virtual bool libvariant::EventBuffer::Done ( ) const
inlinevirtual

These three functiosn can be used to query the state later. Done means that a call to Process will immediately return 1 Error if Process threw an exception last Ok if everything looks good (Process never been called, or last return 0 or possibly -1)

Implements libvariant::ParserImpl.

virtual int libvariant::EventBuffer::Run ( )
inlinevirtual

Attempt to parse some actions. At least one ParserActions should be on the action stack.

Run is not guaranteed to be recursively callable from inside a ParserActions callback. Do not do that.

return 0 on success return 1 when done return -1 if needing more data is detected (not all parsers support this; can be treated as an error) throw on error

Implements libvariant::ParserImpl.


The documentation for this class was generated from the following files: