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

#include <memory>
#include "../../../src/libtiled/properties.h"
#include <QtCore/qmetatype.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.4.3. 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_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
namespace {
struct qt_meta_stringdata_Tiled__PropertyValue_t {
    uint offsetsAndSizes[8];
    char stringdata0[21];
    char stringdata1[6];
    char stringdata2[7];
    char stringdata3[9];
};
#define QT_MOC_LITERAL(ofs, len) \
    uint(sizeof(qt_meta_stringdata_Tiled__PropertyValue_t::offsetsAndSizes) + ofs), len 
Q_CONSTINIT static const qt_meta_stringdata_Tiled__PropertyValue_t qt_meta_stringdata_Tiled__PropertyValue = {
    {
        QT_MOC_LITERAL(0, 20),  // "Tiled::PropertyValue"
        QT_MOC_LITERAL(21, 5),  // "value"
        QT_MOC_LITERAL(27, 6),  // "typeId"
        QT_MOC_LITERAL(34, 8)   // "typeName"
    },
    "Tiled::PropertyValue",
    "value",
    "typeId",
    "typeName"
};
#undef QT_MOC_LITERAL
} // unnamed namespace

Q_CONSTINIT static const uint qt_meta_data_Tiled__PropertyValue[] = {

 // content:
      10,       // 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
       1, QMetaType::QVariant, 0x00015003, uint(-1), 0,
       2, QMetaType::Int, 0x00015003, uint(-1), 0,
       3, QMetaType::QString, 0x00015001, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::PropertyValue::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_Tiled__PropertyValue.offsetsAndSizes,
    qt_meta_data_Tiled__PropertyValue,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_stringdata_Tiled__PropertyValue_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)
{
if (_c == QMetaObject::ReadProperty) {
        auto *_t = reinterpret_cast<PropertyValue *>(_o);
        (void)_t;
        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;
        }
    } else if (_c == QMetaObject::WriteProperty) {
        auto *_t = reinterpret_cast<PropertyValue *>(_o);
        (void)_t;
        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;
        }
    } else if (_c == QMetaObject::ResetProperty) {
    } else if (_c == QMetaObject::BindableProperty) {
    }
    (void)_o;
    (void)_id;
    (void)_c;
    (void)_a;
}
namespace {
struct qt_meta_stringdata_Tiled__FilePath_t {
    uint offsetsAndSizes[4];
    char stringdata0[16];
    char stringdata1[4];
};
#define QT_MOC_LITERAL(ofs, len) \
    uint(sizeof(qt_meta_stringdata_Tiled__FilePath_t::offsetsAndSizes) + ofs), len 
Q_CONSTINIT static const qt_meta_stringdata_Tiled__FilePath_t qt_meta_stringdata_Tiled__FilePath = {
    {
        QT_MOC_LITERAL(0, 15),  // "Tiled::FilePath"
        QT_MOC_LITERAL(16, 3)   // "url"
    },
    "Tiled::FilePath",
    "url"
};
#undef QT_MOC_LITERAL
} // unnamed namespace

Q_CONSTINIT static const uint qt_meta_data_Tiled__FilePath[] = {

 // content:
      10,       // 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
       1, QMetaType::QUrl, 0x00015003, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::FilePath::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_Tiled__FilePath.offsetsAndSizes,
    qt_meta_data_Tiled__FilePath,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_stringdata_Tiled__FilePath_t,
        // property 'url'
        QtPrivate::TypeAndForceComplete<QUrl, 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)
{
if (_c == QMetaObject::ReadProperty) {
        auto *_t = reinterpret_cast<FilePath *>(_o);
        (void)_t;
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< QUrl*>(_v) = _t->url; break;
        default: break;
        }
    } else if (_c == QMetaObject::WriteProperty) {
        auto *_t = reinterpret_cast<FilePath *>(_o);
        (void)_t;
        void *_v = _a[0];
        switch (_id) {
        case 0:
            if (_t->url != *reinterpret_cast< QUrl*>(_v)) {
                _t->url = *reinterpret_cast< QUrl*>(_v);
            }
            break;
        default: break;
        }
    } else if (_c == QMetaObject::ResetProperty) {
    } else if (_c == QMetaObject::BindableProperty) {
    }
    (void)_o;
    (void)_id;
    (void)_c;
    (void)_a;
}
namespace {
struct qt_meta_stringdata_Tiled__ObjectRef_t {
    uint offsetsAndSizes[4];
    char stringdata0[17];
    char stringdata1[3];
};
#define QT_MOC_LITERAL(ofs, len) \
    uint(sizeof(qt_meta_stringdata_Tiled__ObjectRef_t::offsetsAndSizes) + ofs), len 
Q_CONSTINIT static const qt_meta_stringdata_Tiled__ObjectRef_t qt_meta_stringdata_Tiled__ObjectRef = {
    {
        QT_MOC_LITERAL(0, 16),  // "Tiled::ObjectRef"
        QT_MOC_LITERAL(17, 2)   // "id"
    },
    "Tiled::ObjectRef",
    "id"
};
#undef QT_MOC_LITERAL
} // unnamed namespace

Q_CONSTINIT static const uint qt_meta_data_Tiled__ObjectRef[] = {

 // content:
      10,       // 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
       1, QMetaType::Int, 0x00015003, uint(-1), 0,

       0        // eod
};

Q_CONSTINIT const QMetaObject Tiled::ObjectRef::staticMetaObject = { {
    nullptr,
    qt_meta_stringdata_Tiled__ObjectRef.offsetsAndSizes,
    qt_meta_data_Tiled__ObjectRef,
    qt_static_metacall,
    nullptr,
    qt_incomplete_metaTypeArray<qt_meta_stringdata_Tiled__ObjectRef_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)
{
if (_c == QMetaObject::ReadProperty) {
        auto *_t = reinterpret_cast<ObjectRef *>(_o);
        (void)_t;
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< int*>(_v) = _t->id; break;
        default: break;
        }
    } else if (_c == QMetaObject::WriteProperty) {
        auto *_t = reinterpret_cast<ObjectRef *>(_o);
        (void)_t;
        void *_v = _a[0];
        switch (_id) {
        case 0:
            if (_t->id != *reinterpret_cast< int*>(_v)) {
                _t->id = *reinterpret_cast< int*>(_v);
            }
            break;
        default: break;
        }
    } else if (_c == QMetaObject::ResetProperty) {
    } else if (_c == QMetaObject::BindableProperty) {
    }
    (void)_o;
    (void)_id;
    (void)_c;
    (void)_a;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
