Classes | Namespaces | Defines
QGpCoreTools/XMLClassFactory.h File Reference
#include <QtCore>
#include "CoreApplication.h"
#include "QGpCoreToolsDLLExport.h"

Go to the source code of this file.

Classes

class  QGpCoreTools::XMLClassCreator
class  QGpCoreTools::XMLClassFactory
 XMLClassFactory provides creation of instances of classes from their XML tag. More...

Namespaces

namespace  QGpCoreTools

Defines

#define XMLREGISTER_HEAD(_factory_, _creator_, _className_, _tagName_)
#define XMLREGISTER_TAIL(_className_)
#define XMLSYNONYM(_factory_, _synName_, _tagName_)

Define Documentation

#define XMLREGISTER_HEAD (   _factory_,
  _creator_,
  _className_,
  _tagName_ 
)
Value:
class _className_##XMLClassCreator : public _creator_ \
    { \
    public: \
      _className_##XMLClassCreator() \
      { \
        _factory_::init(); \
        _factory_::instance()->registerClass(_tagName_, this); \
      }
#define XMLREGISTER_TAIL (   _className_)
Value:
private: \
      virtual XMLClass * create() const {return new _className_;} \
    }; \
    _className_##XMLClassCreator register##_className_;
#define XMLSYNONYM (   _factory_,
  _synName_,
  _tagName_ 
)
Value:
class _synName_##XMLClassSynonym \
    { \
    public: \
      _synName_##XMLClassSynonym() { \
        _factory_::instance()->registerTag(# _synName_, _tagName_); \
      } \
    }; \
    _synName_##XMLClassSynonym register##_synName_;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines