Atlas  0.7.0
Networking protocol for the Worldforge system.
Atlas::Codecs::XML Class Reference
Inheritance diagram for Atlas::Codecs::XML:
Collaboration diagram for Atlas::Codecs::XML:

Public Member Functions

 XML (std::istream &in, std::ostream &out, Atlas::Bridge &b)
 
void poll () override
 
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
 

Static Public Member Functions

static std::string escape (const std::string &)
 
static std::string unescape (const std::string &)
 

Protected Types

enum  Token { TOKEN_TAG, TOKEN_START_TAG, TOKEN_END_TAG, TOKEN_DATA }
 
enum  State {
  PARSE_NOTHING, PARSE_STREAM, PARSE_MAP, PARSE_LIST,
  PARSE_INT, PARSE_FLOAT, PARSE_STRING, PARSE_NONE
}
 

Protected Member Functions

void tokenTag (char)
 
void tokenStartTag (char)
 
void tokenEndTag (char)
 
void tokenData (char)
 
void parseStartTag ()
 
void parseEndTag ()
 

Protected Attributes

std::istream & m_istream
 
std::ostream & m_ostream
 
Bridgem_bridge
 
Token m_token
 
std::stack< State > m_state
 
std::stack< std::string > m_data
 
std::string m_tag
 
std::string m_name
 

Detailed Description

Definition at line 40 of file XML.h.

Member Function Documentation

◆ escape()

std::string Atlas::Codecs::XML::escape ( const std::string &  original)
static

Escapes a string for HTML.

Parameters
Theoriginal string.
Returns
An escaped string.

Definition at line 401 of file XML.cpp.

◆ listEnd()

void Atlas::Codecs::XML::listEnd ( )
overridevirtual

Ends the currently streamed list.

Implements Atlas::Bridge.

Definition at line 397 of file XML.cpp.

◆ listFloatItem()

void Atlas::Codecs::XML::listFloatItem ( double  )
overridevirtual

Adds a float to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 385 of file XML.cpp.

◆ listIntItem()

void Atlas::Codecs::XML::listIntItem ( std::int64_t  )
overridevirtual

Adds an integer to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 381 of file XML.cpp.

◆ listListItem()

void Atlas::Codecs::XML::listListItem ( )
overridevirtual

Starts a list object in the currently streamed list.

Implements Atlas::Bridge.

Definition at line 377 of file XML.cpp.

◆ listMapItem()

void Atlas::Codecs::XML::listMapItem ( )
overridevirtual

Starts a map object in the currently streamed list.

Implements Atlas::Bridge.

Definition at line 373 of file XML.cpp.

◆ listNoneItem()

void Atlas::Codecs::XML::listNoneItem ( )
overridevirtual

Adds an empty item to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 393 of file XML.cpp.

◆ listStringItem()

void Atlas::Codecs::XML::listStringItem ( std::string  )
overridevirtual

Adds a string to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 389 of file XML.cpp.

◆ mapEnd()

void Atlas::Codecs::XML::mapEnd ( )
overridevirtual

Ends the currently streamed map.

Implements Atlas::Bridge.

Definition at line 369 of file XML.cpp.

◆ mapFloatItem()

void Atlas::Codecs::XML::mapFloatItem ( std::string  name,
double   
)
overridevirtual

Adds a float to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 357 of file XML.cpp.

◆ mapIntItem()

void Atlas::Codecs::XML::mapIntItem ( std::string  name,
std::int64_t   
)
overridevirtual

Adds an integer to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 353 of file XML.cpp.

◆ mapListItem()

void Atlas::Codecs::XML::mapListItem ( std::string  name)
overridevirtual

Starts a list object to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 349 of file XML.cpp.

◆ mapMapItem()

void Atlas::Codecs::XML::mapMapItem ( std::string  name)
overridevirtual

Starts a map object to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 345 of file XML.cpp.

◆ mapNoneItem()

void Atlas::Codecs::XML::mapNoneItem ( std::string  name)
overridevirtual

Adds a none item to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 365 of file XML.cpp.

◆ mapStringItem()

void Atlas::Codecs::XML::mapStringItem ( std::string  name,
std::string   
)
overridevirtual

Adds a string to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 361 of file XML.cpp.

◆ streamBegin()

void Atlas::Codecs::XML::streamBegin ( )
overridevirtual

Begin an Atlas stream.

Implements Atlas::Bridge.

Definition at line 333 of file XML.cpp.

◆ streamEnd()

void Atlas::Codecs::XML::streamEnd ( )
overridevirtual

Ends the Atlas stream.

Implements Atlas::Bridge.

Definition at line 337 of file XML.cpp.

◆ streamMessage()

void Atlas::Codecs::XML::streamMessage ( )
overridevirtual

Start a message in an Atlas stream.

Implements Atlas::Bridge.

Definition at line 341 of file XML.cpp.

◆ unescape()

std::string Atlas::Codecs::XML::unescape ( const std::string &  original)
static

Un-escapes a previously "escaped" string for HTML.

Parameters
Theoriginal string.
Returns
An unescaped string.

Definition at line 429 of file XML.cpp.


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