sot-talos-balance  1.6.0
CMarkup Class Reference

#include <sot/talos_balance/sdk_qualisys/Markup.h>

Collaboration diagram for CMarkup:
[legend]

Classes

struct  ElemPos
 
struct  TokenPos
 

Public Types

enum  MarkupNodeType {
  MNT_ELEMENT = 1,
  MNT_TEXT = 2,
  MNT_WHITESPACE = 4,
  MNT_CDATA_SECTION = 8,
  MNT_PROCESSING_INSTRUCTION = 16,
  MNT_COMMENT = 32,
  MNT_DOCUMENT_TYPE = 64,
  MNT_EXCLUDE_WHITESPACE = 123
}
 

Public Member Functions

 CMarkup ()
 
 CMarkup (const char *szDoc)
 
 CMarkup (const CMarkup &markup)
 
virtual ~CMarkup ()
 
bool AddAttrib (const char *szAttrib, const char *szValue)
 
bool AddChildAttrib (const char *szAttrib, const char *szValue)
 
bool AddChildElem (const char *szName, const char *szData=NULL)
 
bool AddElem (const char *szName, const char *szData=NULL)
 
bool FindChildElem (const char *szName=NULL)
 
bool FindElem (const char *szName=NULL)
 
std::string GetAttrib (const char *szAttrib) const
 
std::string GetChildAttrib (const char *szAttrib) const
 
std::string GetChildData () const
 
std::string GetChildTagName () const
 
std::string GetData () const
 
std::string GetDoc () const
 
std::string GetError () const
 
std::string GetTagName () const
 
bool IntoElem ()
 
bool IsWellFormed ()
 
void operator= (const CMarkup &markup)
 
bool OutOfElem ()
 
void ResetChildPos ()
 
void ResetMainPos ()
 
void ResetPos ()
 
bool SetAttrib (const char *szAttrib, const char *szValue)
 
bool SetChildAttrib (const char *szAttrib, const char *szValue)
 
bool SetDoc (const char *szDoc)
 
void SetIndent (int nIndent=4)
 

Static Public Member Functions

static std::string Format (const char *fmt,...)
 

Protected Member Functions

bool x_AddElem (const char *szName, const char *szValue, bool bInsert, bool bAddChild)
 
void x_Adjust (int iPos, int nShift, bool bAfterPos=false)
 
void x_DocChange (int nLeft, int nReplace, const std::string &csInsert)
 
bool x_FindAttrib (TokenPos &token, const char *szAttrib=NULL) const
 
int x_FindElem (int iPosParent, int iPos, const char *szPath)
 
std::string x_GetAttrib (int iPos, const char *szAttrib) const
 
std::string x_GetData (int iPos) const
 
int x_GetFreePos ()
 
std::string x_GetTagName (int iPos) const
 
std::string x_GetToken (const TokenPos &token) const
 
void x_LocateNew (int iPosParent, int &iPosRel, int &nOffset, int nLength, int nFlags)
 
int x_ParseElem (int iPos)
 
int x_ParseError (const char *szError, const char *szName=NULL)
 
int x_ParseNode (TokenPos &token)
 
int x_ReleasePos ()
 
bool x_SetAttrib (int iPos, const char *szAttrib, const char *szValue)
 
void x_SetPos (int iPosParent, int iPos, int iPosChild)
 
std::string x_TextFromDoc (int nLeft, int nRight) const
 
std::string x_TextToDoc (const char *szText, bool bAttrib=false) const
 

Static Protected Member Functions

static bool x_FindAny (const char *szDoc, int &nChar)
 
static bool x_FindChar (const char *szDoc, int &nChar, char c)
 
static bool x_FindToken (TokenPos &token)
 

Protected Attributes

std::vector< ElemPosm_aPos
 
std::string m_csDoc
 
std::string m_csError
 
int m_iPos
 
int m_iPosChild
 
int m_iPosFree
 
int m_iPosParent
 
int m_nNodeType
 
int mnIndent
 
char mtIndent [1000]
 

Detailed Description

Definition at line 23 of file Markup.h.

Member Enumeration Documentation

◆ MarkupNodeType

Enumerator
MNT_ELEMENT 
MNT_TEXT 
MNT_WHITESPACE 
MNT_CDATA_SECTION 
MNT_PROCESSING_INSTRUCTION 
MNT_COMMENT 
MNT_DOCUMENT_TYPE 
MNT_EXCLUDE_WHITESPACE 

Definition at line 64 of file Markup.h.

Constructor & Destructor Documentation

◆ CMarkup() [1/3]

CMarkup ( )
inline

Definition at line 26 of file Markup.h.

References mnIndent, and SetDoc().

◆ CMarkup() [2/3]

CMarkup ( const char *  szDoc)
inline

Definition at line 27 of file Markup.h.

References SetDoc().

◆ CMarkup() [3/3]

CMarkup ( const CMarkup markup)
inline

Definition at line 28 of file Markup.h.

References operator=().

◆ ~CMarkup()

virtual ~CMarkup ( )
inlinevirtual

Definition at line 30 of file Markup.h.

References SetIndent().

Member Function Documentation

◆ AddAttrib()

bool AddAttrib ( const char *  szAttrib,
const char *  szValue 
)
inline

◆ AddChildAttrib()

bool AddChildAttrib ( const char *  szAttrib,
const char *  szValue 
)
inline

Definition at line 40 of file Markup.h.

References m_iPosChild, and x_SetAttrib().

◆ AddChildElem()

bool AddChildElem ( const char *  szName,
const char *  szData = NULL 
)
inline

Definition at line 38 of file Markup.h.

References x_AddElem().

◆ AddElem()

◆ FindChildElem()

◆ FindElem()

bool FindElem ( const char *  szName = NULL)

Definition at line 97 of file Markup.cpp.

References m_aPos, m_iPos, m_iPosParent, x_FindElem(), and x_SetPos().

Referenced by FindChildElem(), and SetChildAttrib().

◆ Format()

◆ GetAttrib()

std::string GetAttrib ( const char *  szAttrib) const
inline

◆ GetChildAttrib()

std::string GetChildAttrib ( const char *  szAttrib) const
inline

Definition at line 59 of file Markup.h.

References m_iPosChild, and x_GetAttrib().

◆ GetChildData()

◆ GetChildTagName()

std::string GetChildTagName ( ) const
inline

Definition at line 55 of file Markup.h.

References m_iPosChild, and x_GetTagName().

◆ GetData()

std::string GetData ( ) const
inline

Definition at line 56 of file Markup.h.

References m_iPos, and x_GetData().

◆ GetDoc()

◆ GetError()

std::string GetError ( ) const
inline

Definition at line 60 of file Markup.h.

References Format(), and m_csError.

◆ GetTagName()

std::string GetTagName ( ) const

Definition at line 136 of file Markup.cpp.

References m_iPos, and x_GetTagName().

Referenced by ResetPos().

◆ IntoElem()

◆ IsWellFormed()

bool IsWellFormed ( )

Definition at line 90 of file Markup.cpp.

References m_aPos.

Referenced by SetChildAttrib(), and x_AddElem().

◆ operator=()

void operator= ( const CMarkup markup)

Definition at line 31 of file Markup.cpp.

References m_aPos, m_csDoc, m_iPos, m_iPosChild, m_iPosFree, m_iPosParent, m_nNodeType, and MARKUP_SETDEBUGSTATE.

Referenced by CMarkup().

◆ OutOfElem()

◆ ResetChildPos()

void ResetChildPos ( )
inline

Definition at line 51 of file Markup.h.

References m_iPos, m_iPosParent, and x_SetPos().

◆ ResetMainPos()

void ResetMainPos ( )
inline

Definition at line 52 of file Markup.h.

References m_iPosParent, and x_SetPos().

◆ ResetPos()

void ResetPos ( )
inline

Definition at line 53 of file Markup.h.

References GetTagName(), and x_SetPos().

Referenced by SetDoc().

◆ SetAttrib()

bool SetAttrib ( const char *  szAttrib,
const char *  szValue 
)
inline

Definition at line 41 of file Markup.h.

References m_iPos, and x_SetAttrib().

◆ SetChildAttrib()

bool SetChildAttrib ( const char *  szAttrib,
const char *  szValue 
)
inline

◆ SetDoc()

◆ SetIndent()

void SetIndent ( int  nIndent = 4)

Definition at line 26 of file Markup.cpp.

References mnIndent.

Referenced by ~CMarkup().

◆ x_AddElem()

bool x_AddElem ( const char *  szName,
const char *  szValue,
bool  bInsert,
bool  bAddChild 
)
protected

◆ x_Adjust()

void x_Adjust ( int  iPos,
int  nShift,
bool  bAfterPos = false 
)
protected

Definition at line 832 of file Markup.cpp.

References m_aPos.

Referenced by x_AddElem(), x_SetAttrib(), and x_SetPos().

◆ x_DocChange()

void x_DocChange ( int  nLeft,
int  nReplace,
const std::string &  csInsert 
)
protected

Definition at line 804 of file Markup.cpp.

References m_csDoc.

Referenced by x_AddElem(), x_SetAttrib(), and x_SetPos().

◆ x_FindAny()

bool x_FindAny ( const char *  szDoc,
int &  nChar 
)
staticprotected

Definition at line 353 of file Markup.cpp.

Referenced by x_FindToken(), x_GetData(), x_LocateNew(), x_ParseNode(), and x_SetPos().

◆ x_FindAttrib()

bool x_FindAttrib ( CMarkup::TokenPos token,
const char *  szAttrib = NULL 
) const
protected

◆ x_FindChar()

bool x_FindChar ( const char *  szDoc,
int &  nChar,
char  c 
)
staticprotected

Definition at line 335 of file Markup.cpp.

Referenced by x_FindToken(), x_ParseElem(), x_ParseNode(), and x_SetPos().

◆ x_FindElem()

int x_FindElem ( int  iPosParent,
int  iPos,
const char *  szPath 
)
protected

Definition at line 430 of file Markup.cpp.

References m_aPos, m_csDoc, CMarkup::TokenPos::nNext, and x_FindToken().

Referenced by FindChildElem(), FindElem(), and x_SetPos().

◆ x_FindToken()

◆ x_GetAttrib()

std::string x_GetAttrib ( int  iPos,
const char *  szAttrib 
) const
protected

◆ x_GetData()

std::string x_GetData ( int  iPos) const
protected

Definition at line 669 of file Markup.cpp.

References m_aPos, m_csDoc, x_FindAny(), and x_TextFromDoc().

Referenced by GetChildData(), GetData(), and x_SetPos().

◆ x_GetFreePos()

int x_GetFreePos ( )
protected

Definition at line 180 of file Markup.cpp.

References m_aPos, and m_iPosFree.

Referenced by x_AddElem(), x_ParseElem(), and x_SetPos().

◆ x_GetTagName()

std::string x_GetTagName ( int  iPos) const
protected

◆ x_GetToken()

std::string x_GetToken ( const TokenPos token) const
protected

Definition at line 420 of file Markup.cpp.

References m_csDoc, CMarkup::TokenPos::nL, and CMarkup::TokenPos::nR.

Referenced by x_GetTagName(), x_ParseElem(), and x_SetPos().

◆ x_LocateNew()

void x_LocateNew ( int  iPosParent,
int &  iPosRel,
int &  nOffset,
int  nLength,
int  nFlags 
)
protected

Definition at line 884 of file Markup.cpp.

References m_aPos, m_csDoc, and x_FindAny().

Referenced by x_AddElem(), and x_SetPos().

◆ x_ParseElem()

int x_ParseElem ( int  iPos)
protected

◆ x_ParseError()

int x_ParseError ( const char *  szError,
const char *  szName = NULL 
)
protected

Definition at line 201 of file Markup.cpp.

References Format(), m_csError, and x_ReleasePos().

Referenced by x_ParseElem(), and x_SetPos().

◆ x_ParseNode()

◆ x_ReleasePos()

int x_ReleasePos ( )
protected

Definition at line 191 of file Markup.cpp.

References m_iPosFree.

Referenced by x_ParseElem(), x_ParseError(), and x_SetPos().

◆ x_SetAttrib()

bool x_SetAttrib ( int  iPos,
const char *  szAttrib,
const char *  szValue 
)
protected

◆ x_SetPos()

◆ x_TextFromDoc()

std::string x_TextFromDoc ( int  nLeft,
int  nRight 
) const
protected

Definition at line 750 of file Markup.cpp.

References m_csDoc.

Referenced by x_GetAttrib(), x_GetData(), and x_SetPos().

◆ x_TextToDoc()

std::string x_TextToDoc ( const char *  szText,
bool  bAttrib = false 
) const
protected

Definition at line 695 of file Markup.cpp.

Referenced by x_AddElem(), x_SetAttrib(), and x_SetPos().

Member Data Documentation

◆ m_aPos

◆ m_csDoc

◆ m_csError

std::string m_csError
protected

Definition at line 84 of file Markup.h.

Referenced by GetError(), and x_ParseError().

◆ m_iPos

◆ m_iPosChild

int m_iPosChild
protected

◆ m_iPosFree

int m_iPosFree
protected

Definition at line 112 of file Markup.h.

Referenced by operator=(), SetDoc(), x_GetFreePos(), and x_ReleasePos().

◆ m_iPosParent

int m_iPosParent
protected

Definition at line 109 of file Markup.h.

Referenced by FindElem(), operator=(), OutOfElem(), ResetChildPos(), ResetMainPos(), and x_AddElem().

◆ m_nNodeType

int m_nNodeType
protected

Definition at line 113 of file Markup.h.

Referenced by IntoElem(), operator=(), x_GetAttrib(), and x_SetAttrib().

◆ mnIndent

int mnIndent
protected

Definition at line 161 of file Markup.h.

Referenced by CMarkup(), SetIndent(), and x_AddElem().

◆ mtIndent

char mtIndent[1000]
protected

Definition at line 160 of file Markup.h.

Referenced by SetDoc(), and x_AddElem().


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