
// Auto generated

#ifndef QDATETIME_H_WRAPPER
#define QDATETIME_H_WRAPPER

// include header:
//#include "header_h.h"

#include "../RJSHelper.h"


#include "RJSWrapperObj.h"

#include <QTimeZone>

#include <QDateTime>

#include <QQmlEngine>

#include "RJSType.h"

#include <QDate>

// singleton class wrapper for static functions:
class QTJSAPI_EXPORT QDate_WrapperSingleton: public QObject {
    Q_OBJECT
    QML_INTERFACE

    // constants:


    // static properties:


public:
    //Q_INVOKABLE
    QDate_WrapperSingleton(RJSApi& h)
        : QObject(),
          handler(h)

    {}



    // static functions:

#if QT_CONFIG(datestring)

#endif

#if QT_VERSION<QT_VERSION_CHECK(6,0,0)

#endif

    // Class: QDate
    // Function: currentDate
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentDate
    (


    )

    ;

#if QT_CONFIG(datestring)

    // Class: QDate
    // Function: fromString
    // Source:
    // Static: true
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromString
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;

#endif

    // Class: QDate
    // Function: isLeapYear
    // Source:
    // Static: true
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isLeapYear
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDate
    // Function: fromJulianDay
    // Source:
    // Static: true
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromJulianDay
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#ifndef QT_NO_DATASTREAM

#endif


private:
    RJSApi& handler;
    //static QDate_WrapperSingleton* _singleInstance;

    // constants:

};

// static functions implementation in singleton wrapper:

// wrapper class for QDate
class QTJSAPI_EXPORT QDate_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


private:
    // disable copy constructor:
    QDate_Wrapper(const QDate_Wrapper&);

public:
    // initialization of QDate:
    static void init(RJSApi& handler);


    static QDate* castToBase(void* vp, /*RJSType ID*/ int t) {

        // check if pointer points to derrived type:


        // hook for modules to cast from other types to base QDate:
        for (int i=0; i<basecasters_QDate.length(); i++) {
            RJSBasecaster_QDate* basecaster = basecasters_QDate[i];
            QDate* ret = basecaster->castToBase(t, vp);
            if (ret!=nullptr) {
                return ret;
            }
        }

        // object is a pointer to base class QDate:
        if (t==RJSType_QDate::getIdStatic()) {
            return (QDate*)vp;
        }

        qWarning() << "QDate_Wrapper::castToBase: type not found: " << RJSHelper::getTypeName(t);

        return nullptr;

    }

    static QDate* getWrappedBase(RJSWrapper* wrapper) {
        int t = wrapper->getWrappedType();
        void* vp = wrapper->getWrappedVoid();
        if (vp==nullptr) {
            //qWarning() << "getWrapped_QDate*: wrapper wraps NULL";
        }

        QDate* ret = castToBase(vp, t);
        if (ret==nullptr && vp!=nullptr) {
            qWarning() << "QDate*_Wrapper::getWrappedBase: extracted type " << t << "from wrapper is NULL";
        }
        return ret;
    }

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QDate_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QDate_Wrapper(RJSApi& h, QDate* o, bool wrappedCreated);


    // destructor:

    virtual ~QDate_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QDate
    // Function:
    // Source:
    // Static: false
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QDate_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

#if QT_CONFIG(datestring)

#endif

#if QT_VERSION<QT_VERSION_CHECK(6,0,0)

#endif

#if QT_CONFIG(datestring)

#endif

#ifndef QT_NO_DATASTREAM

#endif


    // non-static functions:

    // Class: QDate
    // Function: isNull
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isNull
    (


    )

    const

    ;

    // Class: QDate
    // Function: isValid
    // Source:
    // Static: false
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isValid
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

    // Class: QDate
    // Function: year
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    year
    (


    )

    const

    ;

    // Class: QDate
    // Function: month
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    month
    (


    )

    const

    ;

    // Class: QDate
    // Function: day
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    day
    (


    )

    const

    ;

    // Class: QDate
    // Function: dayOfWeek
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    dayOfWeek
    (


    )

    const

    ;

    // Class: QDate
    // Function: dayOfYear
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    dayOfYear
    (


    )

    const

    ;

    // Class: QDate
    // Function: daysInMonth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    daysInMonth
    (


    )

    const

    ;

    // Class: QDate
    // Function: daysInYear
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    daysInYear
    (


    )

    const

    ;

    // Class: QDate
    // Function: startOfDay
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    startOfDay
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    const

    ;

    // Class: QDate
    // Function: endOfDay
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    endOfDay
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    const

    ;

#if QT_CONFIG(datestring)

    // Class: QDate
    // Function: toString
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toString
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#endif

    // Class: QDate
    // Function: setDate
    // Source:
    // Static: false
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setDate
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

#if QT_VERSION<QT_VERSION_CHECK(6,0,0)

#endif

    // Class: QDate
    // Function: addDays
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addDays
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDate
    // Function: addMonths
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addMonths
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDate
    // Function: addYears
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addYears
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDate
    // Function: daysTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    daysTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_CONFIG(datestring)

#endif

    // Class: QDate
    // Function: toJulianDay
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toJulianDay
    (


    )

    const

    ;

#ifndef QT_NO_DATASTREAM

#endif

    // destroy function for non-copyable objects:
    Q_INVOKABLE void destr() {
        if (wrapped!=nullptr) {

            delete wrapped;

            wrapped = nullptr;
        }

    }


    //public:
    // set engine:
    //Q_INVOKABLE void setHandler(RJSApi* h) {
    //  RJSWrapperObj::setHandler(h);
    //}


    // member functions for static properties, forward to static function



    // protected overwritten functions / events and their public invokable counterparts:

public:

    // get type of wrapped object:
    Q_INVOKABLE
    virtual /*RJSType ID*/ int getWrappedType() const {
        return RJSType_QDate::getIdStatic();
    }

    // return true if wrapped object is owned by C++ (not deleted):
    Q_INVOKABLE
    virtual bool isCppOwnership() const {

        return false;

    }

    // get wrapped object:
    QDate* getWrapped() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object (const):
    QDate* getWrapped() const {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object as void*:
    virtual void* getWrappedVoid() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }



    bool hasWrapped() const {
        return wrapped!=nullptr

               ;
    }

    Q_INVOKABLE
    bool isNullWrapper() const {
        return !hasWrapped();
    }

    Q_INVOKABLE
    unsigned long long int getAddress() const {
        if (wrapped!=nullptr) {
            return (unsigned long long int)wrapped;
        }

        return (unsigned long long int)0;
    }



    //public slots:
    //void slotDestroyed(QObject* obj) {
    //  qDebug() << "destroying QObject:" << (long int)obj;
    //}



private:
    // wrapped object:
    QDate* wrapped;



    bool wrappedCreated;

private:
    // list of registered base casters for this wrapper class:
    static QList<RJSBasecaster_QDate*> basecasters_QDate;

public:
    static void registerBasecaster_QDate(RJSBasecaster_QDate* bc) {
        basecasters_QDate.append(bc);
    }

};

Q_DECLARE_METATYPE(QDate_Wrapper*)

Q_DECLARE_INTERFACE(QDate_Wrapper, "org.qcad.QDate_Wrapper")


#include <QQmlEngine>

#include "RJSType.h"

#include <QTime>

// singleton class wrapper for static functions:
class QTJSAPI_EXPORT QTime_WrapperSingleton: public QObject {
    Q_OBJECT
    QML_INTERFACE

    // constants:


    // static properties:


public:
    //Q_INVOKABLE
    QTime_WrapperSingleton(RJSApi& h)
        : QObject(),
          handler(h)

    {}



    // static functions:

#if QT_CONFIG(datestring)

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

    // Class: QTime
    // Function: fromMSecsSinceStartOfDay
    // Source:
    // Static: true
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromMSecsSinceStartOfDay
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QTime
    // Function: currentTime
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentTime
    (


    )

    ;

#if QT_CONFIG(datestring)

    // Class: QTime
    // Function: fromString
    // Source:
    // Static: true
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromString
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;

#endif

    // Class: QTime
    // Function: operator_lessthan
    // Source:
    // Static: true
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    operator_lessthan
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;


private:
    RJSApi& handler;
    //static QTime_WrapperSingleton* _singleInstance;

    // constants:

};

// static functions implementation in singleton wrapper:

// wrapper class for QTime
class QTJSAPI_EXPORT QTime_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


private:
    // disable copy constructor:
    QTime_Wrapper(const QTime_Wrapper&);

public:
    // initialization of QTime:
    static void init(RJSApi& handler);


    static QTime* castToBase(void* vp, /*RJSType ID*/ int t) {

        // check if pointer points to derrived type:


        // hook for modules to cast from other types to base QTime:
        for (int i=0; i<basecasters_QTime.length(); i++) {
            RJSBasecaster_QTime* basecaster = basecasters_QTime[i];
            QTime* ret = basecaster->castToBase(t, vp);
            if (ret!=nullptr) {
                return ret;
            }
        }

        // object is a pointer to base class QTime:
        if (t==RJSType_QTime::getIdStatic()) {
            return (QTime*)vp;
        }

        qWarning() << "QTime_Wrapper::castToBase: type not found: " << RJSHelper::getTypeName(t);

        return nullptr;

    }

    static QTime* getWrappedBase(RJSWrapper* wrapper) {
        int t = wrapper->getWrappedType();
        void* vp = wrapper->getWrappedVoid();
        if (vp==nullptr) {
            //qWarning() << "getWrapped_QTime*: wrapper wraps NULL";
        }

        QTime* ret = castToBase(vp, t);
        if (ret==nullptr && vp!=nullptr) {
            qWarning() << "QTime*_Wrapper::getWrappedBase: extracted type " << t << "from wrapper is NULL";
        }
        return ret;
    }

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QTime_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QTime_Wrapper(RJSApi& h, QTime* o, bool wrappedCreated);


    // destructor:

    virtual ~QTime_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QTime
    // Function:
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QTime_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

#if QT_CONFIG(datestring)

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

#if QT_CONFIG(datestring)

#endif


    // non-static functions:

    // Class: QTime
    // Function: isNull
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isNull
    (


    )

    const

    ;

    // Class: QTime
    // Function: isValid
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isValid
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QTime
    // Function: hour
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hour
    (


    )

    const

    ;

    // Class: QTime
    // Function: minute
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    minute
    (


    )

    const

    ;

    // Class: QTime
    // Function: second
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    second
    (


    )

    const

    ;

    // Class: QTime
    // Function: msec
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    msec
    (


    )

    const

    ;

#if QT_CONFIG(datestring)

    // Class: QTime
    // Function: toString
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toString
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

    // Class: QTime
    // Function: setHMS
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setHMS
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()

    )

    ;

    // Class: QTime
    // Function: addSecs
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addSecs
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QTime
    // Function: secsTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    secsTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QTime
    // Function: addMSecs
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addMSecs
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QTime
    // Function: msecsTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    msecsTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QTime
    // Function: msecsSinceStartOfDay
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    msecsSinceStartOfDay
    (


    )

    const

    ;

#if QT_CONFIG(datestring)

#endif

    // destroy function for non-copyable objects:
    Q_INVOKABLE void destr() {
        if (wrapped!=nullptr) {

            delete wrapped;

            wrapped = nullptr;
        }

    }


    //public:
    // set engine:
    //Q_INVOKABLE void setHandler(RJSApi* h) {
    //  RJSWrapperObj::setHandler(h);
    //}


    // member functions for static properties, forward to static function



    // protected overwritten functions / events and their public invokable counterparts:

public:

    // get type of wrapped object:
    Q_INVOKABLE
    virtual /*RJSType ID*/ int getWrappedType() const {
        return RJSType_QTime::getIdStatic();
    }

    // return true if wrapped object is owned by C++ (not deleted):
    Q_INVOKABLE
    virtual bool isCppOwnership() const {

        return false;

    }

    // get wrapped object:
    QTime* getWrapped() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object (const):
    QTime* getWrapped() const {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object as void*:
    virtual void* getWrappedVoid() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }



    bool hasWrapped() const {
        return wrapped!=nullptr

               ;
    }

    Q_INVOKABLE
    bool isNullWrapper() const {
        return !hasWrapped();
    }

    Q_INVOKABLE
    unsigned long long int getAddress() const {
        if (wrapped!=nullptr) {
            return (unsigned long long int)wrapped;
        }

        return (unsigned long long int)0;
    }



    //public slots:
    //void slotDestroyed(QObject* obj) {
    //  qDebug() << "destroying QObject:" << (long int)obj;
    //}



private:
    // wrapped object:
    QTime* wrapped;



    bool wrappedCreated;

private:
    // list of registered base casters for this wrapper class:
    static QList<RJSBasecaster_QTime*> basecasters_QTime;

public:
    static void registerBasecaster_QTime(RJSBasecaster_QTime* bc) {
        basecasters_QTime.append(bc);
    }

};

Q_DECLARE_METATYPE(QTime_Wrapper*)

Q_DECLARE_INTERFACE(QTime_Wrapper, "org.qcad.QTime_Wrapper")


#include <QQmlEngine>

#include "RJSType.h"

#include <QDateTime>

// singleton class wrapper for static functions:
class QTJSAPI_EXPORT QDateTime_WrapperSingleton: public QObject {
    Q_OBJECT
    QML_INTERFACE

    // constants:


    // static properties:


public:
    //Q_INVOKABLE
    QDateTime_WrapperSingleton(RJSApi& h)
        : QObject(),
          handler(h)

    {}



    // static functions:

#if Q_BYTE_ORDER==Q_LITTLE_ENDIAN

#endif

#if Q_BYTE_ORDER==Q_BIG_ENDIAN

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(datestring)

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

#if QT_CONFIG(timezone)

#endif

    // Class: QDateTime
    // Function: currentDateTime
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentDateTime
    (


    )

    ;

    // Class: QDateTime
    // Function: currentDateTimeUtc
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentDateTimeUtc
    (


    )

    ;

#if QT_CONFIG(datestring)

    // Class: QDateTime
    // Function: fromString
    // Source:
    // Static: true
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromString
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;

#endif

    // Class: QDateTime
    // Function: fromMSecsSinceEpoch
    // Source:
    // Static: true
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromMSecsSinceEpoch
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: fromSecsSinceEpoch
    // Source:
    // Static: true
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fromSecsSinceEpoch
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

#if QT_CONFIG(timezone)

#endif

    // Class: QDateTime
    // Function: currentMSecsSinceEpoch
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentMSecsSinceEpoch
    (


    )

    ;

    // Class: QDateTime
    // Function: currentSecsSinceEpoch
    // Source:
    // Static: true
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    currentSecsSinceEpoch
    (


    )

    ;

    // Class: QDateTime
    // Function: operator_lessthan
    // Source:
    // Static: true
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    operator_lessthan
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;

#if defined(Q_OS_DARWIN)||defined(Q_QDOC)

#endif

#ifndef QT_NO_DATASTREAM

#endif

#if !defined(QT_NO_DEBUG_STREAM)&&QT_CONFIG(datestring)

#endif


private:
    RJSApi& handler;
    //static QDateTime_WrapperSingleton* _singleInstance;

    // constants:

};

// static functions implementation in singleton wrapper:

// wrapper class for QDateTime
class QTJSAPI_EXPORT QDateTime_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


private:
    // disable copy constructor:
    QDateTime_Wrapper(const QDateTime_Wrapper&);

public:
    // initialization of QDateTime:
    static void init(RJSApi& handler);


    static QDateTime* castToBase(void* vp, /*RJSType ID*/ int t) {

        // check if pointer points to derrived type:


        // hook for modules to cast from other types to base QDateTime:
        for (int i=0; i<basecasters_QDateTime.length(); i++) {
            RJSBasecaster_QDateTime* basecaster = basecasters_QDateTime[i];
            QDateTime* ret = basecaster->castToBase(t, vp);
            if (ret!=nullptr) {
                return ret;
            }
        }

        // object is a pointer to base class QDateTime:
        if (t==RJSType_QDateTime::getIdStatic()) {
            return (QDateTime*)vp;
        }

        qWarning() << "QDateTime_Wrapper::castToBase: type not found: " << RJSHelper::getTypeName(t);

        return nullptr;

    }

    static QDateTime* getWrappedBase(RJSWrapper* wrapper) {
        int t = wrapper->getWrappedType();
        void* vp = wrapper->getWrappedVoid();
        if (vp==nullptr) {
            //qWarning() << "getWrapped_QDateTime*: wrapper wraps NULL";
        }

        QDateTime* ret = castToBase(vp, t);
        if (ret==nullptr && vp!=nullptr) {
            qWarning() << "QDateTime*_Wrapper::getWrappedBase: extracted type " << t << "from wrapper is NULL";
        }
        return ret;
    }

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QDateTime_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QDateTime_Wrapper(RJSApi& h, QDateTime* o, bool wrappedCreated);


    // destructor:

    virtual ~QDateTime_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

#if Q_BYTE_ORDER==Q_LITTLE_ENDIAN

#endif

#if Q_BYTE_ORDER==Q_BIG_ENDIAN

#endif

    // Class: QDateTime
    // Function:
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QDateTime_Wrapper

    (


        // RJSApi:
        QObject* h

    )

    ;

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(datestring)

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

#if QT_CONFIG(timezone)

#endif

#if QT_CONFIG(datestring)

#endif

#if QT_CONFIG(timezone)

#endif

#if defined(Q_OS_DARWIN)||defined(Q_QDOC)

#endif

#ifndef QT_NO_DATASTREAM

#endif

#if !defined(QT_NO_DEBUG_STREAM)&&QT_CONFIG(datestring)

#endif


    // non-static functions:

#if Q_BYTE_ORDER==Q_LITTLE_ENDIAN

#endif

#if Q_BYTE_ORDER==Q_BIG_ENDIAN

#endif

#if QT_CONFIG(timezone)

#endif

    // Class: QDateTime
    // Function: swap
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    swap
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: isNull
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isNull
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: isValid
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isValid
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: date
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    date
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: time
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    time
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: timeSpec
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    timeSpec
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: offsetFromUtc
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    offsetFromUtc
    (


    )

    const

    ;

#if QT_CONFIG(timezone)

    // Class: QDateTime
    // Function: timeZone
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    timeZone
    (


    )

    const

    ;

#endif

    // Class: QDateTime
    // Function: timeZoneAbbreviation
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    timeZoneAbbreviation
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: isDaylightTime
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isDaylightTime
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: toMSecsSinceEpoch
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toMSecsSinceEpoch
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: toSecsSinceEpoch
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toSecsSinceEpoch
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: setDate
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setDate
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: setTime
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setTime
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: setTimeSpec
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setTimeSpec
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: setOffsetFromUtc
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setOffsetFromUtc
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#if QT_CONFIG(timezone)

    // Class: QDateTime
    // Function: setTimeZone
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setTimeZone
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#endif

    // Class: QDateTime
    // Function: setMSecsSinceEpoch
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setMSecsSinceEpoch
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QDateTime
    // Function: setSecsSinceEpoch
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setSecsSinceEpoch
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#if QT_CONFIG(datestring)

    // Class: QDateTime
    // Function: toString
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toString
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_STRINGVIEW_LEVEL<2

#endif

#endif

    // Class: QDateTime
    // Function: addDays
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addDays
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: addMonths
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addMonths
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: addYears
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addYears
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: addSecs
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addSecs
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: addMSecs
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    addMSecs
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: toTimeSpec
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toTimeSpec
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: toLocalTime
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toLocalTime
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: toUTC
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toUTC
    (


    )

    const

    ;

    // Class: QDateTime
    // Function: toOffsetFromUtc
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toOffsetFromUtc
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_CONFIG(timezone)

    // Class: QDateTime
    // Function: toTimeZone
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toTimeZone
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#endif

    // Class: QDateTime
    // Function: daysTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    daysTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: secsTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    secsTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QDateTime
    // Function: msecsTo
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    msecsTo
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

#if QT_CONFIG(datestring)

#endif

#if QT_CONFIG(timezone)

#endif

#if defined(Q_OS_DARWIN)||defined(Q_QDOC)

#endif

#ifndef QT_NO_DATASTREAM

#endif

#if !defined(QT_NO_DEBUG_STREAM)&&QT_CONFIG(datestring)

#endif

    // destroy function for non-copyable objects:
    Q_INVOKABLE void destr() {
        if (wrapped!=nullptr) {

            delete wrapped;

            wrapped = nullptr;
        }

    }


    //public:
    // set engine:
    //Q_INVOKABLE void setHandler(RJSApi* h) {
    //  RJSWrapperObj::setHandler(h);
    //}


    // member functions for static properties, forward to static function



    // protected overwritten functions / events and their public invokable counterparts:

public:

    // get type of wrapped object:
    Q_INVOKABLE
    virtual /*RJSType ID*/ int getWrappedType() const {
        return RJSType_QDateTime::getIdStatic();
    }

    // return true if wrapped object is owned by C++ (not deleted):
    Q_INVOKABLE
    virtual bool isCppOwnership() const {

        return false;

    }

    // get wrapped object:
    QDateTime* getWrapped() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object (const):
    QDateTime* getWrapped() const {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object as void*:
    virtual void* getWrappedVoid() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }



    bool hasWrapped() const {
        return wrapped!=nullptr

               ;
    }

    Q_INVOKABLE
    bool isNullWrapper() const {
        return !hasWrapped();
    }

    Q_INVOKABLE
    unsigned long long int getAddress() const {
        if (wrapped!=nullptr) {
            return (unsigned long long int)wrapped;
        }

        return (unsigned long long int)0;
    }



    //public slots:
    //void slotDestroyed(QObject* obj) {
    //  qDebug() << "destroying QObject:" << (long int)obj;
    //}



private:
    // wrapped object:
    QDateTime* wrapped;



    bool wrappedCreated;

private:
    // list of registered base casters for this wrapper class:
    static QList<RJSBasecaster_QDateTime*> basecasters_QDateTime;

public:
    static void registerBasecaster_QDateTime(RJSBasecaster_QDateTime* bc) {
        basecasters_QDateTime.append(bc);
    }

};

Q_DECLARE_METATYPE(QDateTime_Wrapper*)

Q_DECLARE_INTERFACE(QDateTime_Wrapper, "org.qcad.QDateTime_Wrapper")


#endif

