Atlas 0.7.0
Networking protocol for the Worldforge system.
|
#include <DecoderBase.h>
Public Member Functions | |
void | streamBegin () override |
void | streamMessage () override |
void | streamEnd () override |
void | mapMapItem (std::string name) override |
void | mapListItem (std::string name) override |
void | mapIntItem (std::string name, std::int64_t) override |
void | mapFloatItem (std::string name, double) override |
void | mapStringItem (std::string name, std::string) override |
void | mapNoneItem (std::string name) override |
void | mapEnd () override |
void | listMapItem () override |
void | listListItem () override |
void | listIntItem (std::int64_t) override |
void | listFloatItem (double) override |
void | listStringItem (std::string) override |
void | listNoneItem () override |
void | listEnd () override |
Protected Types | |
enum | State { STATE_STREAM , STATE_MAP , STATE_LIST } |
Our current decoding state. More... | |
Protected Member Functions | |
virtual void | messageArrived (MapType obj)=0 |
Override this - called when an object was received. More... | |
Protected Attributes | |
std::stack< State > | m_state |
The state stack. More... | |
std::stack< MapType > | m_maps |
The map stack. More... | |
std::stack< ListType > | m_lists |
The list stack. More... | |
std::stack< std::string > | m_names |
Names for maps and lists. More... | |
Base class for decoders that take Atlas::Message::Object.
This class is passed to a codec as receiver bridge. It decodes a stream into Message::Object objects, and after completion calls the abstract messageArrived() method. This is to be overridden by base classes, which might, for instance, provide an object queue or a callback method for arrived messages.
Definition at line 40 of file DecoderBase.h.
|
protected |
Our current decoding state.
Definition at line 71 of file DecoderBase.h.
Atlas::Message::DecoderBase::DecoderBase | ( | ) |
Definition at line 21 of file DecoderBase.cpp.
|
overridevirtual |
Ends the currently streamed list.
Implements Atlas::Bridge.
Definition at line 167 of file DecoderBase.cpp.
|
overridevirtual |
Adds a float to the currently streamed list.
Implements Atlas::Bridge.
Definition at line 148 of file DecoderBase.cpp.
|
overridevirtual |
Adds an integer to the currently streamed list.
Implements Atlas::Bridge.
Definition at line 141 of file DecoderBase.cpp.
|
overridevirtual |
Starts a list object in the currently streamed list.
Implements Atlas::Bridge.
Definition at line 134 of file DecoderBase.cpp.
|
overridevirtual |
Starts a map object in the currently streamed list.
Implements Atlas::Bridge.
Definition at line 127 of file DecoderBase.cpp.
|
overridevirtual |
Adds an empty item to the currently streamed list.
Implements Atlas::Bridge.
Definition at line 161 of file DecoderBase.cpp.
|
overridevirtual |
Adds a string to the currently streamed list.
Implements Atlas::Bridge.
Definition at line 154 of file DecoderBase.cpp.
|
overridevirtual |
Ends the currently streamed map.
Implements Atlas::Bridge.
Definition at line 88 of file DecoderBase.cpp.
|
overridevirtual |
Adds a float to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 68 of file DecoderBase.cpp.
|
overridevirtual |
Adds an integer to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 61 of file DecoderBase.cpp.
|
overridevirtual |
Starts a list object to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 53 of file DecoderBase.cpp.
|
overridevirtual |
Starts a map object to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 45 of file DecoderBase.cpp.
|
overridevirtual |
Adds a none item to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 82 of file DecoderBase.cpp.
|
overridevirtual |
Adds a string to the currently streamed map.
Implements Atlas::Bridge.
Definition at line 75 of file DecoderBase.cpp.
|
protectedpure virtual |
Override this - called when an object was received.
Implemented in Atlas::Objects::ObjectsDecoder, and Atlas::Message::QueuedDecoder.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Start a message in an Atlas stream.
Implements Atlas::Bridge.
Definition at line 31 of file DecoderBase.cpp.
|
protected |
The list stack.
Definition at line 82 of file DecoderBase.h.
|
protected |
The map stack.
Definition at line 80 of file DecoderBase.h.
|
protected |
Names for maps and lists.
Definition at line 84 of file DecoderBase.h.
|
protected |
The state stack.
Definition at line 78 of file DecoderBase.h.