#include <QtScript/QScriptValue>
#include <QtScript/QScriptEngine>

QScriptValue qtscript_create_QMutex_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureIterator_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamNotationDeclaration_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamEntityDeclaration_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamAttributes_class(QScriptEngine *engine);
QScriptValue qtscript_create_QPoint_class(QScriptEngine *engine);
QScriptValue qtscript_create_QEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSizeF_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextStream_class(QScriptEngine *engine);
QScriptValue qtscript_create_QReadWriteLock_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureSynchronizerVoid_class(QScriptEngine *engine);
QScriptValue qtscript_create_QRect_class(QScriptEngine *engine);
QScriptValue qtscript_create_QLibraryInfo_class(QScriptEngine *engine);
QScriptValue qtscript_create_QObject_class(QScriptEngine *engine);
QScriptValue qtscript_create_QBasicTimer_class(QScriptEngine *engine);
QScriptValue qtscript_create_QStringMatcher_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSemaphore_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFileInfo_class(QScriptEngine *engine);
QScriptValue qtscript_create_QEasingCurve_class(QScriptEngine *engine);
QScriptValue qtscript_create_QUrl_class(QScriptEngine *engine);
QScriptValue qtscript_create_QMargins_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextDecoder_class(QScriptEngine *engine);
QScriptValue qtscript_create_Global_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureSynchronizer_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDataStream_class(QScriptEngine *engine);
QScriptValue qtscript_create_QPointF_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextCodec_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureWatcher_class(QScriptEngine *engine);
QScriptValue qtscript_create_QRunnable_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDateTime_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamEntityResolver_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDir_class(QScriptEngine *engine);
QScriptValue qtscript_create_QByteArray_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureWatcherVoid_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamWriter_class(QScriptEngine *engine);
QScriptValue qtscript_create_QCryptographicHash_class(QScriptEngine *engine);
QScriptValue qtscript_create_QPersistentModelIndex_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDirIterator_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSystemSemaphore_class(QScriptEngine *engine);
QScriptValue qtscript_create_QRectF_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamAttribute_class(QScriptEngine *engine);
QScriptValue qtscript_create_QRegExp_class(QScriptEngine *engine);
QScriptValue qtscript_create_QBitArray_class(QScriptEngine *engine);
QScriptValue qtscript_create_QtConcurrent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QProcessEnvironment_class(QScriptEngine *engine);
QScriptValue qtscript_create_QUuid_class(QScriptEngine *engine);
QScriptValue qtscript_create_Qt_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextEncoder_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamNamespaceDeclaration_class(QScriptEngine *engine);
QScriptValue qtscript_create_QByteArrayMatcher_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSize_class(QScriptEngine *engine);
QScriptValue qtscript_create_QWaitCondition_class(QScriptEngine *engine);
QScriptValue qtscript_create_QModelIndex_class(QScriptEngine *engine);
QScriptValue qtscript_create_QXmlStreamReader_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTime_class(QScriptEngine *engine);
QScriptValue qtscript_create_QLocale_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFuture_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextBoundaryFinder_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFutureVoid_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDate_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSettings_class(QScriptEngine *engine);
QScriptValue qtscript_create_QMimeData_class(QScriptEngine *engine);
QScriptValue qtscript_create_QStateMachine_WrappedEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractItemModel_class(QScriptEngine *engine);
QScriptValue qtscript_create_QStateMachine_SignalEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractTransition_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractAnimation_class(QScriptEngine *engine);
QScriptValue qtscript_create_QCoreApplication_class(QScriptEngine *engine);
QScriptValue qtscript_create_QChildEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSocketNotifier_class(QScriptEngine *engine);
QScriptValue qtscript_create_QEventLoop_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSignalMapper_class(QScriptEngine *engine);
QScriptValue qtscript_create_QIODevice_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTimeLine_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTimer_class(QScriptEngine *engine);
QScriptValue qtscript_create_QThreadPool_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTimerEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFileSystemWatcher_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractState_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTextCodecPlugin_class(QScriptEngine *engine);
QScriptValue qtscript_create_QDynamicPropertyChangeEvent_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTranslator_class(QScriptEngine *engine);
QScriptValue qtscript_create_QPauseAnimation_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAnimationGroup_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractTableModel_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSignalTransition_class(QScriptEngine *engine);
QScriptValue qtscript_create_QProcess_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFinalState_class(QScriptEngine *engine);
QScriptValue qtscript_create_QEventTransition_class(QScriptEngine *engine);
QScriptValue qtscript_create_QBuffer_class(QScriptEngine *engine);
QScriptValue qtscript_create_QFile_class(QScriptEngine *engine);
QScriptValue qtscript_create_QHistoryState_class(QScriptEngine *engine);
QScriptValue qtscript_create_QAbstractListModel_class(QScriptEngine *engine);
QScriptValue qtscript_create_QVariantAnimation_class(QScriptEngine *engine);
QScriptValue qtscript_create_QState_class(QScriptEngine *engine);
QScriptValue qtscript_create_QParallelAnimationGroup_class(QScriptEngine *engine);
QScriptValue qtscript_create_QSequentialAnimationGroup_class(QScriptEngine *engine);
QScriptValue qtscript_create_QPropertyAnimation_class(QScriptEngine *engine);
QScriptValue qtscript_create_QStateMachine_class(QScriptEngine *engine);
QScriptValue qtscript_create_QTemporaryFile_class(QScriptEngine *engine);

static const char * const qtscript_com_trolltech_qt_core_class_names[] = {
    "QMutex"
    , "QFutureIterator"
    , "QXmlStreamNotationDeclaration"
    , "QXmlStreamEntityDeclaration"
    , "QXmlStreamAttributes"
    , "QPoint"
    , "QEvent"
    , "QSizeF"
    , "QTextStream"
    , "QReadWriteLock"
    , "QFutureSynchronizerVoid"
    , "QRect"
    , "QLibraryInfo"
    , "QObject"
    , "QBasicTimer"
    , "QStringMatcher"
    , "QSemaphore"
    , "QFileInfo"
    , "QEasingCurve"
    , "QUrl"
    , "QMargins"
    , "QTextDecoder"
    , "Global"
    , "QFutureSynchronizer"
    , "QDataStream"
    , "QPointF"
    , "QTextCodec"
    , "QFutureWatcher"
    , "QRunnable"
    , "QDateTime"
    , "QXmlStreamEntityResolver"
    , "QDir"
    , "QByteArray"
    , "QFutureWatcherVoid"
    , "QXmlStreamWriter"
    , "QCryptographicHash"
    , "QPersistentModelIndex"
    , "QDirIterator"
    , "QSystemSemaphore"
    , "QRectF"
    , "QXmlStreamAttribute"
    , "QRegExp"
    , "QBitArray"
    , "QtConcurrent"
    , "QProcessEnvironment"
    , "QUuid"
    , "Qt"
    , "QTextEncoder"
    , "QXmlStreamNamespaceDeclaration"
    , "QByteArrayMatcher"
    , "QSize"
    , "QWaitCondition"
    , "QModelIndex"
    , "QXmlStreamReader"
    , "QTime"
    , "QLocale"
    , "QFuture"
    , "QTextBoundaryFinder"
    , "QFutureVoid"
    , "QDate"
    , "QSettings"
    , "QMimeData"
    , "QStateMachine_WrappedEvent"
    , "QAbstractItemModel"
    , "QStateMachine_SignalEvent"
    , "QAbstractTransition"
    , "QAbstractAnimation"
    , "QCoreApplication"
    , "QChildEvent"
    , "QSocketNotifier"
    , "QEventLoop"
    , "QSignalMapper"
    , "QIODevice"
    , "QTimeLine"
    , "QTimer"
    , "QThreadPool"
    , "QTimerEvent"
    , "QFileSystemWatcher"
    , "QAbstractState"
    , "QTextCodecPlugin"
    , "QDynamicPropertyChangeEvent"
    , "QTranslator"
    , "QPauseAnimation"
    , "QAnimationGroup"
    , "QAbstractTableModel"
    , "QSignalTransition"
    , "QProcess"
    , "QFinalState"
    , "QEventTransition"
    , "QBuffer"
    , "QFile"
    , "QHistoryState"
    , "QAbstractListModel"
    , "QVariantAnimation"
    , "QState"
    , "QParallelAnimationGroup"
    , "QSequentialAnimationGroup"
    , "QPropertyAnimation"
    , "QStateMachine"
    , "QTemporaryFile"
};

typedef QScriptValue (*QtBindingCreator)(QScriptEngine *engine);
static const QtBindingCreator qtscript_com_trolltech_qt_core_class_functions[] = {
    qtscript_create_QMutex_class
    , qtscript_create_QFutureIterator_class
    , qtscript_create_QXmlStreamNotationDeclaration_class
    , qtscript_create_QXmlStreamEntityDeclaration_class
    , qtscript_create_QXmlStreamAttributes_class
    , qtscript_create_QPoint_class
    , qtscript_create_QEvent_class
    , qtscript_create_QSizeF_class
    , qtscript_create_QTextStream_class
    , qtscript_create_QReadWriteLock_class
    , qtscript_create_QFutureSynchronizerVoid_class
    , qtscript_create_QRect_class
    , qtscript_create_QLibraryInfo_class
    , qtscript_create_QObject_class
    , qtscript_create_QBasicTimer_class
    , qtscript_create_QStringMatcher_class
    , qtscript_create_QSemaphore_class
    , qtscript_create_QFileInfo_class
    , qtscript_create_QEasingCurve_class
    , qtscript_create_QUrl_class
    , qtscript_create_QMargins_class
    , qtscript_create_QTextDecoder_class
    , qtscript_create_Global_class
    , qtscript_create_QFutureSynchronizer_class
    , qtscript_create_QDataStream_class
    , qtscript_create_QPointF_class
    , qtscript_create_QTextCodec_class
    , qtscript_create_QFutureWatcher_class
    , qtscript_create_QRunnable_class
    , qtscript_create_QDateTime_class
    , qtscript_create_QXmlStreamEntityResolver_class
    , qtscript_create_QDir_class
    , qtscript_create_QByteArray_class
    , qtscript_create_QFutureWatcherVoid_class
    , qtscript_create_QXmlStreamWriter_class
    , qtscript_create_QCryptographicHash_class
    , qtscript_create_QPersistentModelIndex_class
    , qtscript_create_QDirIterator_class
    , qtscript_create_QSystemSemaphore_class
    , qtscript_create_QRectF_class
    , qtscript_create_QXmlStreamAttribute_class
    , qtscript_create_QRegExp_class
    , qtscript_create_QBitArray_class
    , qtscript_create_QtConcurrent_class
    , qtscript_create_QProcessEnvironment_class
    , qtscript_create_QUuid_class
    , qtscript_create_Qt_class
    , qtscript_create_QTextEncoder_class
    , qtscript_create_QXmlStreamNamespaceDeclaration_class
    , qtscript_create_QByteArrayMatcher_class
    , qtscript_create_QSize_class
    , qtscript_create_QWaitCondition_class
    , qtscript_create_QModelIndex_class
    , qtscript_create_QXmlStreamReader_class
    , qtscript_create_QTime_class
    , qtscript_create_QLocale_class
    , qtscript_create_QFuture_class
    , qtscript_create_QTextBoundaryFinder_class
    , qtscript_create_QFutureVoid_class
    , qtscript_create_QDate_class
    , qtscript_create_QSettings_class
    , qtscript_create_QMimeData_class
    , qtscript_create_QStateMachine_WrappedEvent_class
    , qtscript_create_QAbstractItemModel_class
    , qtscript_create_QStateMachine_SignalEvent_class
    , qtscript_create_QAbstractTransition_class
    , qtscript_create_QAbstractAnimation_class
    , qtscript_create_QCoreApplication_class
    , qtscript_create_QChildEvent_class
    , qtscript_create_QSocketNotifier_class
    , qtscript_create_QEventLoop_class
    , qtscript_create_QSignalMapper_class
    , qtscript_create_QIODevice_class
    , qtscript_create_QTimeLine_class
    , qtscript_create_QTimer_class
    , qtscript_create_QThreadPool_class
    , qtscript_create_QTimerEvent_class
    , qtscript_create_QFileSystemWatcher_class
    , qtscript_create_QAbstractState_class
    , qtscript_create_QTextCodecPlugin_class
    , qtscript_create_QDynamicPropertyChangeEvent_class
    , qtscript_create_QTranslator_class
    , qtscript_create_QPauseAnimation_class
    , qtscript_create_QAnimationGroup_class
    , qtscript_create_QAbstractTableModel_class
    , qtscript_create_QSignalTransition_class
    , qtscript_create_QProcess_class
    , qtscript_create_QFinalState_class
    , qtscript_create_QEventTransition_class
    , qtscript_create_QBuffer_class
    , qtscript_create_QFile_class
    , qtscript_create_QHistoryState_class
    , qtscript_create_QAbstractListModel_class
    , qtscript_create_QVariantAnimation_class
    , qtscript_create_QState_class
    , qtscript_create_QParallelAnimationGroup_class
    , qtscript_create_QSequentialAnimationGroup_class
    , qtscript_create_QPropertyAnimation_class
    , qtscript_create_QStateMachine_class
    , qtscript_create_QTemporaryFile_class
};

void qtscript_initialize_com_trolltech_qt_core_bindings(QScriptValue &extensionObject)
{
    QScriptEngine *engine = extensionObject.engine();
    for (int i = 0; i < 100; ++i) {
        extensionObject.setProperty(qtscript_com_trolltech_qt_core_class_names[i],
            qtscript_com_trolltech_qt_core_class_functions[i](engine),
            QScriptValue::SkipInEnumeration);
    }
}
