/****************************************************************************
** Meta object code from reading C++ file 'properties.h'
**
** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/

#include "../../../src/libtiled/properties.h"
#include <QtCore/qmetatype.h>

#include <QtCore/qtmochelpers.h>

#include <memory>


#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'properties.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 68
#error "This file was generated using the moc from 6.8.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif

#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif

QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN5Tiled13PropertyValueE_t {};
} // unnamed namespace


#ifdef QT_MOC_HAS_STRINGDATA
static constexpr auto qt_meta_stringdata_ZN5Tiled13PropertyValueE = QtMocHelpers::stringData(
    "Tiled::PropertyValue",
    "value",
    "QVariant",
    "typeId",
    "typeName"
);
#else  // !QT_MOC_HAS_STRINGDATA
#error "qtmochelpers.h not found or too old."
#endif // !QT_MOC_HAS_STRINGDATA

Q_CONSTINIT static const uint qt_meta_data_ZN5Tiled13PropertyValueE[] = {

 // content:
      12,       // revision
       0,       // classname
       0,    0, // classinfo
       0,    0, // methods
       3,   14, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       4,       // flags
       0,       // signalCount

 // properties: name, type, flags, notifyId, revision
       1, 0x80000000 | 2, 0x0001500b, uint(-1), 0,
       3, QMetaType::Int, 0x00015003, uint(-1), 0,
       4, QMetaType::QString, 0x00015001, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::PropertyValue::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_ZN5Tiled13PropertyValueE.offsetsAndSizes,
    qt_meta_data_ZN5Tiled13PropertyValueE,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_tag_ZN5Tiled13PropertyValueE_t,
        // property 'value'
        QtPrivate::TypeAndForceComplete<QVariant, std::true_type>,
        // property 'typeId'
        QtPrivate::TypeAndForceComplete<int, std::true_type>,
        // property 'typeName'
        QtPrivate::TypeAndForceComplete<QString, std::true_type>,
        // Q_OBJECT / Q_GADGET
        QtPrivate::TypeAndForceComplete<PropertyValue, std::true_type>
    >,
    nullptr
} };

void Tiled::PropertyValue::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<PropertyValue *>(_o);
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< QVariant*>(_v) = _t->value; break;
        case 1: *reinterpret_cast< int*>(_v) = _t->typeId; break;
        case 2: *reinterpret_cast< QString*>(_v) = _t->typeName(); break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0:
            if (_t->value != *reinterpret_cast< QVariant*>(_v)) {
                _t->value = *reinterpret_cast< QVariant*>(_v);
            }
            break;
        case 1:
            if (_t->typeId != *reinterpret_cast< int*>(_v)) {
                _t->typeId = *reinterpret_cast< int*>(_v);
            }
            break;
        default: break;
        }
    }
}
namespace {
struct qt_meta_tag_ZN5Tiled8FilePathE_t {};
} // unnamed namespace


#ifdef QT_MOC_HAS_STRINGDATA
static constexpr auto qt_meta_stringdata_ZN5Tiled8FilePathE = QtMocHelpers::stringData(
    "Tiled::FilePath",
    "url",
    "localFile"
);
#else  // !QT_MOC_HAS_STRINGDATA
#error "qtmochelpers.h not found or too old."
#endif // !QT_MOC_HAS_STRINGDATA

Q_CONSTINIT static const uint qt_meta_data_ZN5Tiled8FilePathE[] = {

 // content:
      12,       // revision
       0,       // classname
       0,    0, // classinfo
       0,    0, // methods
       2,   14, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       4,       // flags
       0,       // signalCount

 // properties: name, type, flags, notifyId, revision
       1, QMetaType::QUrl, 0x00015003, uint(-1), 0,
       2, QMetaType::QString, 0x00015103, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::FilePath::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_ZN5Tiled8FilePathE.offsetsAndSizes,
    qt_meta_data_ZN5Tiled8FilePathE,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_tag_ZN5Tiled8FilePathE_t,
        // property 'url'
        QtPrivate::TypeAndForceComplete<QUrl, std::true_type>,
        // property 'localFile'
        QtPrivate::TypeAndForceComplete<QString, std::true_type>,
        // Q_OBJECT / Q_GADGET
        QtPrivate::TypeAndForceComplete<FilePath, std::true_type>
    >,
    nullptr
} };

void Tiled::FilePath::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<FilePath *>(_o);
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< QUrl*>(_v) = _t->url; break;
        case 1: *reinterpret_cast< QString*>(_v) = _t->localFile(); break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0:
            if (_t->url != *reinterpret_cast< QUrl*>(_v)) {
                _t->url = *reinterpret_cast< QUrl*>(_v);
            }
            break;
        case 1: _t->setLocalFile(*reinterpret_cast< QString*>(_v)); break;
        default: break;
        }
    }
}
namespace {
struct qt_meta_tag_ZN5Tiled9ObjectRefE_t {};
} // unnamed namespace


#ifdef QT_MOC_HAS_STRINGDATA
static constexpr auto qt_meta_stringdata_ZN5Tiled9ObjectRefE = QtMocHelpers::stringData(
    "Tiled::ObjectRef",
    "id"
);
#else  // !QT_MOC_HAS_STRINGDATA
#error "qtmochelpers.h not found or too old."
#endif // !QT_MOC_HAS_STRINGDATA

Q_CONSTINIT static const uint qt_meta_data_ZN5Tiled9ObjectRefE[] = {

 // content:
      12,       // revision
       0,       // classname
       0,    0, // classinfo
       0,    0, // methods
       1,   14, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       4,       // flags
       0,       // signalCount

 // properties: name, type, flags, notifyId, revision
       1, QMetaType::Int, 0x00015003, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::ObjectRef::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_ZN5Tiled9ObjectRefE.offsetsAndSizes,
    qt_meta_data_ZN5Tiled9ObjectRefE,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_tag_ZN5Tiled9ObjectRefE_t,
        // property 'id'
        QtPrivate::TypeAndForceComplete<int, std::true_type>,
        // Q_OBJECT / Q_GADGET
        QtPrivate::TypeAndForceComplete<ObjectRef, std::true_type>
    >,
    nullptr
} };

void Tiled::ObjectRef::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<ObjectRef *>(_o);
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< int*>(_v) = _t->id; break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0:
            if (_t->id != *reinterpret_cast< int*>(_v)) {
                _t->id = *reinterpret_cast< int*>(_v);
            }
            break;
        default: break;
        }
    }
}
QT_WARNING_POP
