#include <QtCore/qmetatype.h>
#ifndef QMETATYPE_H
class QMetaType{
   public: enum Type{
      Void = 0,
      Bool = 1,
      Int = 2,
      UInt = 3,
      LongLong = 4,
      ULongLong = 5,
      Double = 6,
      QChar = 7,
      QVariantMap = 8,
      QVariantList = 9,
      QString = 10,
      QStringList = 11,
      QByteArray = 12,
      QBitArray = 13,
      QDate = 14,
      QTime = 15,
      QDateTime = 16,
      QUrl = 17,
      QLocale = 18,
      QRect = 19,
      QRectF = 20,
      QSize = 21,
      QSizeF = 22,
      QLine = 23,
      QLineF = 24,
      QPoint = 25,
      QPointF = 26,
      QRegExp = 27,
      LastCoreType = 27,
      FirstGuiType = 63,
      QFont = 64,
      QPixmap = 65,
      QBrush = 66,
      QColor = 67,
      QPalette = 68,
      QIcon = 69,
      QImage = 70,
      QPolygon = 71,
      QRegion = 72,
      QBitmap = 73,
      QCursor = 74,
      QSizePolicy = 75,
      QKeySequence = 76,
      QPen = 77,
      QTextLength = 78,
      QTextFormat = 79,
      QMatrix = 80,
      LastGuiType = 80,
      FirstCoreExtType = 128,
      VoidStar = 128,
      Long = 129,
      Short = 130,
      Char = 131,
      ULong = 132,
      UShort = 133,
      UChar = 134,
      Float = 135,
      QObjectStar = 136,
      QWidgetStar = 137,
      LastCoreExtType = 137,
      User = 256,
   };
   public: typedef void (* Destructor)(void*);
   public: typedef void* (* Constructor)(void const *);
#ifndef QT_NO_DATASTREAM
   public: typedef void (* SaveOperator)(class QDataStream&, void const *);
   public: typedef void (* LoadOperator)(class QDataStream&, void*);
   public: static void registerStreamOperators(char const * typeName, void (* saveOp)(class QDataStream&, void const *), void (* loadOp)(class QDataStream&, void*));
#endif
   public: static int registerType(char const * typeName, void (* destructor)(void*), void* (* constructor)(void const *));
   public: static int type(char const * typeName);
   public: static char const * typeName(int type);
   public: static bool isRegistered(int type);
   public: static void* construct(int type, void const * copy = 0);
   public: static void destroy(int type, void* data);
#ifndef QT_NO_DATASTREAM
   public: static bool save(class QDataStream& stream, int type, void const * data);
   public: static bool load(class QDataStream& stream, int type, void* data);
#endif
};
#endif // QMETATYPE_H