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

#include "../../../jami-client-qt/src/core/api/interaction.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 'interaction.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.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_ZN3lrc3api11interaction4BodyE_t {};
} // unnamed namespace

template <> constexpr inline auto lrc::api::interaction::Body::qt_create_metaobjectdata<qt_meta_tag_ZN3lrc3api11interaction4BodyE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "lrc::api::interaction::Body",
        "commitId",
        "body",
        "originalBody",
        "timestamp"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
        // property 'commitId'
        QtMocHelpers::PropertyData<QString>(1, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable),
        // property 'body'
        QtMocHelpers::PropertyData<QString>(2, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable),
        // property 'originalBody'
        QtMocHelpers::PropertyData<QString>(3, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable),
        // property 'timestamp'
        QtMocHelpers::PropertyData<int>(4, QMetaType::Int, QMC::DefaultPropertyFlags | QMC::Writable),
    };
    QtMocHelpers::UintData qt_enums {
    };
    return QtMocHelpers::metaObjectData<Body, qt_meta_tag_ZN3lrc3api11interaction4BodyE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject lrc::api::interaction::Body::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3lrc3api11interaction4BodyE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3lrc3api11interaction4BodyE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3lrc3api11interaction4BodyE_t>.metaTypes,
    nullptr
} };

void lrc::api::interaction::Body::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<Body *>(_o);
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<QString*>(_v) = _t->commitId; break;
        case 1: *reinterpret_cast<QString*>(_v) = _t->body; break;
        case 2: *reinterpret_cast<QString*>(_v) = _t->originalBody; break;
        case 3: *reinterpret_cast<int*>(_v) = _t->timestamp; break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: QtMocHelpers::setProperty(_t->commitId, *reinterpret_cast<QString*>(_v)); break;
        case 1: QtMocHelpers::setProperty(_t->body, *reinterpret_cast<QString*>(_v)); break;
        case 2: QtMocHelpers::setProperty(_t->originalBody, *reinterpret_cast<QString*>(_v)); break;
        case 3: QtMocHelpers::setProperty(_t->timestamp, *reinterpret_cast<int*>(_v)); break;
        default: break;
        }
    }
}
namespace {
struct qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t {};
} // unnamed namespace

template <> constexpr inline auto lrc::api::interaction::Emoji::qt_create_metaobjectdata<qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "lrc::api::interaction::Emoji",
        "commitId",
        "body"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
        // property 'commitId'
        QtMocHelpers::PropertyData<QString>(1, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable),
        // property 'body'
        QtMocHelpers::PropertyData<QString>(2, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable),
    };
    QtMocHelpers::UintData qt_enums {
    };
    return QtMocHelpers::metaObjectData<Emoji, qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject lrc::api::interaction::Emoji::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN3lrc3api11interaction5EmojiE_t>.metaTypes,
    nullptr
} };

void lrc::api::interaction::Emoji::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = reinterpret_cast<Emoji *>(_o);
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<QString*>(_v) = _t->commitId; break;
        case 1: *reinterpret_cast<QString*>(_v) = _t->body; break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: QtMocHelpers::setProperty(_t->commitId, *reinterpret_cast<QString*>(_v)); break;
        case 1: QtMocHelpers::setProperty(_t->body, *reinterpret_cast<QString*>(_v)); break;
        default: break;
        }
    }
}
namespace {
struct qt_meta_tag_ZN3lrc3api11interactionE_t {};
} // unnamed namespace

template <> constexpr inline auto lrc::api::interaction::qt_create_metaobjectdata<qt_meta_tag_ZN3lrc3api11interactionE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "lrc::api::interaction",
        "RegisterEnumClassesUnscoped",
        "false",
        "Type",
        "INVALID",
        "INITIAL",
        "TEXT",
        "CALL",
        "CONTACT",
        "DATA_TRANSFER",
        "MERGE",
        "EDITED",
        "REACTION",
        "VOTE",
        "UPDATE_PROFILE",
        "COLLAB_DOC",
        "COUNT__",
        "Status",
        "UNKNOWN",
        "SENDING",
        "FAILURE",
        "SUCCESS",
        "DISPLAYED",
        "TransferStatus",
        "TRANSFER_CREATED",
        "TRANSFER_ACCEPTED",
        "TRANSFER_CANCELED",
        "TRANSFER_ERROR",
        "TRANSFER_UNJOINABLE_PEER",
        "TRANSFER_ONGOING",
        "TRANSFER_AWAITING_PEER",
        "TRANSFER_AWAITING_HOST",
        "TRANSFER_TIMEOUT_EXPIRED",
        "TRANSFER_FINISHED",
        "ContactAction",
        "ADD",
        "JOIN",
        "LEAVE",
        "BANNED",
        "UNBANNED"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'Type'
        QtMocHelpers::EnumData<Type>(3, 3, QMC::EnumIsScoped).add({
            {    4, Type::INVALID },
            {    5, Type::INITIAL },
            {    6, Type::TEXT },
            {    7, Type::CALL },
            {    8, Type::CONTACT },
            {    9, Type::DATA_TRANSFER },
            {   10, Type::MERGE },
            {   11, Type::EDITED },
            {   12, Type::REACTION },
            {   13, Type::VOTE },
            {   14, Type::UPDATE_PROFILE },
            {   15, Type::COLLAB_DOC },
            {   16, Type::COUNT__ },
        }),
        // enum 'Status'
        QtMocHelpers::EnumData<Status>(17, 17, QMC::EnumIsScoped).add({
            {    4, Status::INVALID },
            {   18, Status::UNKNOWN },
            {   19, Status::SENDING },
            {   20, Status::FAILURE },
            {   21, Status::SUCCESS },
            {   22, Status::DISPLAYED },
            {   16, Status::COUNT__ },
        }),
        // enum 'TransferStatus'
        QtMocHelpers::EnumData<TransferStatus>(23, 23, QMC::EnumIsScoped).add({
            {    4, TransferStatus::INVALID },
            {   24, TransferStatus::TRANSFER_CREATED },
            {   25, TransferStatus::TRANSFER_ACCEPTED },
            {   26, TransferStatus::TRANSFER_CANCELED },
            {   27, TransferStatus::TRANSFER_ERROR },
            {   28, TransferStatus::TRANSFER_UNJOINABLE_PEER },
            {   29, TransferStatus::TRANSFER_ONGOING },
            {   30, TransferStatus::TRANSFER_AWAITING_PEER },
            {   31, TransferStatus::TRANSFER_AWAITING_HOST },
            {   32, TransferStatus::TRANSFER_TIMEOUT_EXPIRED },
            {   33, TransferStatus::TRANSFER_FINISHED },
            {   16, TransferStatus::COUNT__ },
        }),
        // enum 'ContactAction'
        QtMocHelpers::EnumData<ContactAction>(34, 34, QMC::EnumIsScoped).add({
            {   35, ContactAction::ADD },
            {   36, ContactAction::JOIN },
            {   37, ContactAction::LEAVE },
            {   38, ContactAction::BANNED },
            {   39, ContactAction::UNBANNED },
            {    4, ContactAction::INVALID },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
    });
    return QtMocHelpers::metaObjectData<void, qt_meta_tag_ZN3lrc3api11interactionE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}

static constexpr auto qt_staticMetaObjectContent_ZN3lrc3api11interactionE =
    lrc::api::interaction::qt_create_metaobjectdata<qt_meta_tag_ZN3lrc3api11interactionE_t>();
static constexpr auto qt_staticMetaObjectStaticContent_ZN3lrc3api11interactionE =
    qt_staticMetaObjectContent_ZN3lrc3api11interactionE.staticData;
static constexpr auto qt_staticMetaObjectRelocatingContent_ZN3lrc3api11interactionE =
    qt_staticMetaObjectContent_ZN3lrc3api11interactionE.relocatingData;

Q_CONSTINIT const QMetaObject lrc::api::interaction::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent_ZN3lrc3api11interactionE.stringdata,
    qt_staticMetaObjectStaticContent_ZN3lrc3api11interactionE.data,
    nullptr,
    nullptr,
    qt_staticMetaObjectRelocatingContent_ZN3lrc3api11interactionE.metaTypes,
    nullptr
} };

QT_WARNING_POP
