LLSDXMLParser::Impl Class Reference

Collaboration diagram for LLSDXMLParser::Impl:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Impl ()
 ~Impl ()
S32 parse (std::istream &input, LLSD &data)
void parsePart (const char *buf, int len)

Private Types

enum  Element {
  ELEMENT_LLSD, ELEMENT_UNDEF, ELEMENT_BOOL, ELEMENT_INTEGER,
  ELEMENT_REAL, ELEMENT_STRING, ELEMENT_UUID, ELEMENT_DATE,
  ELEMENT_URI, ELEMENT_BINARY, ELEMENT_MAP, ELEMENT_ARRAY,
  ELEMENT_KEY, ELEMENT_UNKNOWN
}
typedef std::deque< LLSD * > LLSDRefStack

Private Member Functions

void reset ()
void startElementHandler (const XML_Char *name, const XML_Char **attributes)
void endElementHandler (const XML_Char *name)
void characterDataHandler (const XML_Char *data, int length)
void startSkipping ()

Static Private Member Functions

static void sStartElementHandler (void *userData, const XML_Char *name, const XML_Char **attributes)
static void sEndElementHandler (void *userData, const XML_Char *name)
static void sCharacterDataHandler (void *userData, const XML_Char *data, int length)
static Element readElement (const XML_Char *name)
static const XML_Char * findAttribute (const XML_Char *name, const XML_Char **pairs)

Private Attributes

XML_Parser mParser
LLSD mResult
S32 mParseCount
bool mInLLSDElement
bool mGracefullStop
LLSDRefStack mStack
int mDepth
bool mSkipping
int mSkipThrough
std::string mCurrentKey
std::ostringstream mCurrentContent
bool mPreStaged


Detailed Description

Definition at line 258 of file llsdserialize_xml.cpp.


Member Typedef Documentation

typedef std::deque<LLSD*> LLSDXMLParser::Impl::LLSDRefStack [private]

Definition at line 313 of file llsdserialize_xml.cpp.


Member Enumeration Documentation

Enumerator:
ELEMENT_LLSD 
ELEMENT_UNDEF 
ELEMENT_BOOL 
ELEMENT_INTEGER 
ELEMENT_REAL 
ELEMENT_STRING 
ELEMENT_UUID 
ELEMENT_DATE 
ELEMENT_URI 
ELEMENT_BINARY 
ELEMENT_MAP 
ELEMENT_ARRAY 
ELEMENT_KEY 
ELEMENT_UNKNOWN 

Definition at line 284 of file llsdserialize_xml.cpp.


Constructor & Destructor Documentation

LLSDXMLParser::Impl::Impl (  ) 

Definition at line 327 of file llsdserialize_xml.cpp.

References mParser, mPreStaged, NULL, and reset().

Here is the call graph for this function:

LLSDXMLParser::Impl::~Impl (  ) 

Definition at line 334 of file llsdserialize_xml.cpp.

References mParser.


Member Function Documentation

S32 LLSDXMLParser::Impl::parse ( std::istream &  input,
LLSD data 
)

Definition at line 367 of file llsdserialize_xml.cpp.

References BUFFER_SIZE, clear_eol(), get_till_eol(), llendl, llinfos, mGracefullStop, mParseCount, mParser, mResult, NULL, LLSDParser::PARSE_FAILURE, reset(), and indra::ipc::saranwrap::status().

Referenced by LLSDXMLParser::doParse().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSDXMLParser::Impl::parsePart ( const char *  buf,
int  len 
)

Definition at line 477 of file llsdserialize_xml.cpp.

References mParser, mPreStaged, and NULL.

Referenced by LLSDXMLParser::parsePart().

Here is the caller graph for this function:

void LLSDXMLParser::Impl::reset (  )  [private]

Definition at line 423 of file llsdserialize_xml.cpp.

References LLSD::clear(), mCurrentKey, mDepth, mGracefullStop, mInLLSDElement, mParseCount, mParser, mPreStaged, mResult, mSkipping, mStack, sCharacterDataHandler(), sEndElementHandler(), and sStartElementHandler().

Referenced by Impl(), and parse().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSDXMLParser::Impl::startElementHandler ( const XML_Char *  name,
const XML_Char **  attributes 
) [private]

void LLSDXMLParser::Impl::endElementHandler ( const XML_Char *  name  )  [private]

void LLSDXMLParser::Impl::characterDataHandler ( const XML_Char *  data,
int  length 
) [private]

Definition at line 673 of file llsdserialize_xml.cpp.

References mCurrentContent.

void LLSDXMLParser::Impl::sStartElementHandler ( void *  userData,
const XML_Char *  name,
const XML_Char **  attributes 
) [static, private]

Definition at line 679 of file llsdserialize_xml.cpp.

Referenced by reset().

Here is the caller graph for this function:

void LLSDXMLParser::Impl::sEndElementHandler ( void *  userData,
const XML_Char *  name 
) [static, private]

Definition at line 685 of file llsdserialize_xml.cpp.

Referenced by reset().

Here is the caller graph for this function:

void LLSDXMLParser::Impl::sCharacterDataHandler ( void *  userData,
const XML_Char *  data,
int  length 
) [static, private]

Definition at line 691 of file llsdserialize_xml.cpp.

Referenced by reset().

Here is the caller graph for this function:

void LLSDXMLParser::Impl::startSkipping (  )  [private]

Definition at line 457 of file llsdserialize_xml.cpp.

References mDepth, mSkipping, and mSkipThrough.

Referenced by startElementHandler().

Here is the caller graph for this function:

LLSDXMLParser::Impl::Element LLSDXMLParser::Impl::readElement ( const XML_Char *  name  )  [static, private]

const XML_Char * LLSDXMLParser::Impl::findAttribute ( const XML_Char *  name,
const XML_Char **  pairs 
) [static, private]

Definition at line 464 of file llsdserialize_xml.cpp.

References NULL.

Referenced by startElementHandler().

Here is the caller graph for this function:


Member Data Documentation

XML_Parser LLSDXMLParser::Impl::mParser [private]

Definition at line 305 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), Impl(), parse(), parsePart(), reset(), and ~Impl().

Definition at line 307 of file llsdserialize_xml.cpp.

Referenced by parse(), reset(), and startElementHandler().

Definition at line 308 of file llsdserialize_xml.cpp.

Referenced by parse(), reset(), and startElementHandler().

Definition at line 310 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), reset(), and startElementHandler().

Definition at line 311 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), parse(), and reset().

Definition at line 314 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), reset(), and startElementHandler().

Definition at line 318 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), and startSkipping().

std::string LLSDXMLParser::Impl::mCurrentKey [private]

Definition at line 320 of file llsdserialize_xml.cpp.

Referenced by endElementHandler(), reset(), and startElementHandler().

std::ostringstream LLSDXMLParser::Impl::mCurrentContent [private]

Definition at line 323 of file llsdserialize_xml.cpp.

Referenced by Impl(), parsePart(), and reset().


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

Generated on Fri May 16 09:03:48 2008 for SecondLife by  doxygen 1.5.5