All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions
QGpCoreTools::XMLMember Class Reference

XMLMember is used by XMLClass to receive the type of tag to parse. More...

#include <XMLMember.h>

List of all members.

Public Types

enum  SpecialPublicMemberIDs { Unknown = -1, Skip = -2 }

Public Member Functions

XMLClasschild ()
XMLContextcontext (XMLContext *defaultContext) const
bool isSkipMember ()
bool isValidMember ()
int memberID ()
XMLMemberoperator+ (int idOffset)
void operator= (const XMLMember &o)
void release ()
void reset ()
 XMLMember (int memberID, XMLContext *context=0)
 XMLMember (XMLClass *child, bool temp=false, XMLContext *context=0)

Detailed Description

XMLMember is used by XMLClass to receive the type of tag to parse.

XML member description returned by XMLClass::xml_member()

XMLMember is used only in re-implemetations of XMLClass::xml_member(StringSection& tag, XMLRestoreAttributes& map)

A member can be either referenced by an ID (any null or positive integer) or by a child pointer (of type XMLClass). Negative member IDs are reserved for flags such as permanent or temporary child (automatically deleted after XML_Class::xml_polish() call of its parent.

A specific XMLContext can be passed for parsing the child or member which overrides the current context if any. Specific contexts are automatically deleted. Do not pass a reference to a local variable nor the context received in XMLClass::xml_member() arguments. The default context is always this last one.


Member Enumeration Documentation

Enumerator:
Unknown 
Skip 
{Unknown=-1, Skip=-2};

Constructor & Destructor Documentation

QGpCoreTools::XMLMember::XMLMember ( int  memberID,
XMLContext context = 0 
) [inline]

References context(), and memberID().

{
  _context=context;
  _child=0;
  _memberID=memberID;
}
QGpCoreTools::XMLMember::XMLMember ( XMLClass child,
bool  temp = false,
XMLContext context = 0 
) [inline]

References child(), and context().

{
  _context=context;
  _child=child;
  _memberID=temp ? TemporaryChild : PermanentChild;
}

Member Function Documentation

Referenced by XMLMember().

{return _child;}
XMLContext* QGpCoreTools::XMLMember::context ( XMLContext defaultContext) const [inline]

Referenced by XMLMember().

{return _context ? _context : defaultContext;}
{return _memberID==Skip;}
{return _memberID>Unknown;}

Referenced by XMLMember().

{return _memberID;}
XMLMember & QGpCoreTools::XMLMember::operator+ ( int  idOffset) [inline]

References Unknown.

{
  if(_memberID>Unknown) _memberID+=idOffset;
  return *this;
}
void QGpCoreTools::XMLMember::operator= ( const XMLMember o) [inline]
{
  _context=o._context;
  _child=o._child;
  _memberID=o._memberID;
}
{
  if(_child && _memberID==TemporaryChild) {
    delete _child;
    _child=0;
  }
  if(_context) {
    delete _context;
  }
}
void QGpCoreTools::XMLMember::reset ( ) [inline]

References Unknown.

{
  _context=0;
  _child=0;
  _memberID=Unknown;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines