#include <DecoderBase.h>
Inheritance diagram for Atlas::Message::DecoderBase:
Public Member Functions | |
virtual void | StreamBegin () |
virtual void | StreamMessage (const Map &) |
virtual void | StreamEnd () |
virtual void | MapItem (const std::string &name, const Map &) |
virtual void | MapItem (const std::string &name, const List &) |
virtual void | MapItem (const std::string &name, long) |
virtual void | MapItem (const std::string &name, double) |
virtual void | MapItem (const std::string &name, const std::string &) |
virtual void | MapEnd () |
virtual void | ListItem (const Map &) |
virtual void | ListItem (const List &) |
virtual void | ListItem (long) |
virtual void | ListItem (double) |
virtual void | ListItem (const std::string &) |
virtual void | ListEnd () |
Protected Types | |
enum | State { STATE_STREAM, STATE_MAP, STATE_LIST } |
Our current decoding state. | |
Protected Member Functions | |
virtual void | ObjectArrived (const Object &obj)=0 |
Override this - called when an object was received. | |
Protected Attributes | |
std::stack< State > | state |
The state stack. | |
std::stack< Object::MapType > | maps |
The map stack. | |
std::stack< Object::ListType > | lists |
The list stack. | |
std::stack< std::string > | names |
Names for maps and lists. |
This class is passed to a codec as receiver bridge. It decodes a stream into Message::Object objects, and after completion calls the abstract ObjectArrived() method. This is to be overridden by base classes, which might, for instance, provide an object queue or a callback method for arrived messages.
Copyright 2000 the respective authors.
This document is licensed under the terms of the GNU Free Documentation License and may be freely distributed under the conditions given by this license.