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

#include "../../../../kaidan-0.16.0/src/ChatController.h"
#include <QtCore/qmetatype.h>
#include <QtCore/QList>

#include <QtCore/qtmochelpers.h>

#include <memory>


#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'ChatController.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. 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_ZN14ChatControllerE_t {};
} // unnamed namespace

template <> constexpr inline auto ChatController::qt_create_metaobjectdata<qt_meta_tag_ZN14ChatControllerE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "ChatController",
        "aboutToChangeChat",
        "",
        "chatChanged",
        "accountChanged",
        "jidChanged",
        "rosterItemChanged",
        "chatStateControllerChanged",
        "chatHintModelChanged",
        "messageModelChanged",
        "isEncryptionEnabledChanged",
        "encryptionChanged",
        "groupChatUserJidsChanged",
        "chatStateTextChanged",
        "messageBodyToForwardChanged",
        "initialize",
        "Account*",
        "account",
        "jid",
        "rosterItem",
        "RosterItem",
        "chatStateController",
        "ChatStateController*",
        "accountEncryptionWatcher",
        "EncryptionWatcher*",
        "chatEncryptionWatcher",
        "chatHintModel",
        "ChatHintModel*",
        "messageModel",
        "MessageModel*",
        "isEncryptionEnabled",
        "encryption",
        "Encryption::Enum",
        "groupChatUserJids",
        "chatStateText",
        "messageBodyToForward"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'aboutToChangeChat'
        QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'chatChanged'
        QtMocHelpers::SignalData<void()>(3, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'accountChanged'
        QtMocHelpers::SignalData<void()>(4, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'jidChanged'
        QtMocHelpers::SignalData<void()>(5, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'rosterItemChanged'
        QtMocHelpers::SignalData<void()>(6, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'chatStateControllerChanged'
        QtMocHelpers::SignalData<void()>(7, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'chatHintModelChanged'
        QtMocHelpers::SignalData<void()>(8, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'messageModelChanged'
        QtMocHelpers::SignalData<void()>(9, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'isEncryptionEnabledChanged'
        QtMocHelpers::SignalData<void()>(10, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'encryptionChanged'
        QtMocHelpers::SignalData<void()>(11, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'groupChatUserJidsChanged'
        QtMocHelpers::SignalData<void()>(12, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'chatStateTextChanged'
        QtMocHelpers::SignalData<void()>(13, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'messageBodyToForwardChanged'
        QtMocHelpers::SignalData<void()>(14, 2, QMC::AccessPublic, QMetaType::Void),
        // Method 'initialize'
        QtMocHelpers::MethodData<void(Account *, const QString &)>(15, 2, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 16, 17 }, { QMetaType::QString, 18 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'account'
        QtMocHelpers::PropertyData<Account*>(17, 0x80000000 | 16, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 2),
        // property 'jid'
        QtMocHelpers::PropertyData<QString>(18, QMetaType::QString, QMC::DefaultPropertyFlags, 3),
        // property 'rosterItem'
        QtMocHelpers::PropertyData<RosterItem>(19, 0x80000000 | 20, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 4),
        // property 'chatStateController'
        QtMocHelpers::PropertyData<ChatStateController*>(21, 0x80000000 | 22, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 5),
        // property 'accountEncryptionWatcher'
        QtMocHelpers::PropertyData<EncryptionWatcher*>(23, 0x80000000 | 24, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'chatEncryptionWatcher'
        QtMocHelpers::PropertyData<EncryptionWatcher*>(25, 0x80000000 | 24, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'chatHintModel'
        QtMocHelpers::PropertyData<ChatHintModel*>(26, 0x80000000 | 27, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 6),
        // property 'messageModel'
        QtMocHelpers::PropertyData<MessageModel*>(28, 0x80000000 | 29, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 7),
        // property 'isEncryptionEnabled'
        QtMocHelpers::PropertyData<bool>(30, QMetaType::Bool, QMC::DefaultPropertyFlags, 8),
        // property 'encryption'
        QtMocHelpers::PropertyData<Encryption::Enum>(31, 0x80000000 | 32, QMC::DefaultPropertyFlags | QMC::Writable | QMC::EnumOrFlag | QMC::StdCppSet, 9),
        // property 'groupChatUserJids'
        QtMocHelpers::PropertyData<QList<QString>>(33, QMetaType::QStringList, QMC::DefaultPropertyFlags, 10),
        // property 'chatStateText'
        QtMocHelpers::PropertyData<QString>(34, QMetaType::QString, QMC::DefaultPropertyFlags, 11),
        // property 'messageBodyToForward'
        QtMocHelpers::PropertyData<QString>(35, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable | QMC::StdCppSet, 12),
    };
    QtMocHelpers::UintData qt_enums {
    };
    return QtMocHelpers::metaObjectData<ChatController, qt_meta_tag_ZN14ChatControllerE_t>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT static const QMetaObject::SuperData qt_meta_extradata_ZN14ChatControllerE[] = {
    QMetaObject::SuperData::link<Encryption::staticMetaObject>(),
    nullptr
};

Q_CONSTINIT const QMetaObject ChatController::staticMetaObject = { {
    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14ChatControllerE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14ChatControllerE_t>.data,
    qt_static_metacall,
    qt_meta_extradata_ZN14ChatControllerE,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN14ChatControllerE_t>.metaTypes,
    nullptr
} };

void ChatController::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<ChatController *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->aboutToChangeChat(); break;
        case 1: _t->chatChanged(); break;
        case 2: _t->accountChanged(); break;
        case 3: _t->jidChanged(); break;
        case 4: _t->rosterItemChanged(); break;
        case 5: _t->chatStateControllerChanged(); break;
        case 6: _t->chatHintModelChanged(); break;
        case 7: _t->messageModelChanged(); break;
        case 8: _t->isEncryptionEnabledChanged(); break;
        case 9: _t->encryptionChanged(); break;
        case 10: _t->groupChatUserJidsChanged(); break;
        case 11: _t->chatStateTextChanged(); break;
        case 12: _t->messageBodyToForwardChanged(); break;
        case 13: _t->initialize((*reinterpret_cast<std::add_pointer_t<Account*>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2]))); break;
        default: ;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::aboutToChangeChat, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::chatChanged, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::accountChanged, 2))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::jidChanged, 3))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::rosterItemChanged, 4))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::chatStateControllerChanged, 5))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::chatHintModelChanged, 6))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::messageModelChanged, 7))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::isEncryptionEnabledChanged, 8))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::encryptionChanged, 9))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::groupChatUserJidsChanged, 10))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::chatStateTextChanged, 11))
            return;
        if (QtMocHelpers::indexOfMethod<void (ChatController::*)()>(_a, &ChatController::messageBodyToForwardChanged, 12))
            return;
    }
    if (_c == QMetaObject::RegisterPropertyMetaType) {
        switch (_id) {
        default: *reinterpret_cast<int*>(_a[0]) = -1; break;
        case 2:
            *reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< RosterItem >(); break;
        }
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<Account**>(_v) = _t->account(); break;
        case 1: *reinterpret_cast<QString*>(_v) = _t->jid(); break;
        case 2: *reinterpret_cast<RosterItem*>(_v) = _t->rosterItem(); break;
        case 3: *reinterpret_cast<ChatStateController**>(_v) = _t->chatStateController(); break;
        case 4: *reinterpret_cast<EncryptionWatcher**>(_v) = _t->accountEncryptionWatcher(); break;
        case 5: *reinterpret_cast<EncryptionWatcher**>(_v) = _t->chatEncryptionWatcher(); break;
        case 6: *reinterpret_cast<ChatHintModel**>(_v) = _t->chatHintModel(); break;
        case 7: *reinterpret_cast<MessageModel**>(_v) = _t->messageModel(); break;
        case 8: *reinterpret_cast<bool*>(_v) = _t->isEncryptionEnabled(); break;
        case 9: *reinterpret_cast<Encryption::Enum*>(_v) = _t->encryption(); break;
        case 10: *reinterpret_cast<QList<QString>*>(_v) = _t->groupChatUserJids(); break;
        case 11: *reinterpret_cast<QString*>(_v) = _t->chatStateText(); break;
        case 12: *reinterpret_cast<QString*>(_v) = _t->messageBodyToForward(); break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 9: _t->setEncryption(*reinterpret_cast<Encryption::Enum*>(_v)); break;
        case 12: _t->setMessageBodyToForward(*reinterpret_cast<QString*>(_v)); break;
        default: break;
        }
    }
}

const QMetaObject *ChatController::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}

void *ChatController::qt_metacast(const char *_clname)
{
    if (!_clname) return nullptr;
    if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14ChatControllerE_t>.strings))
        return static_cast<void*>(this);
    return QObject::qt_metacast(_clname);
}

int ChatController::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 14)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 14;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 14)
            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
        _id -= 14;
    }
    if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty
            || _c == QMetaObject::ResetProperty || _c == QMetaObject::BindableProperty
            || _c == QMetaObject::RegisterPropertyMetaType) {
        qt_static_metacall(this, _c, _id, _a);
        _id -= 13;
    }
    return _id;
}

// SIGNAL 0
void ChatController::aboutToChangeChat()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}

// SIGNAL 1
void ChatController::chatChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}

// SIGNAL 2
void ChatController::accountChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}

// SIGNAL 3
void ChatController::jidChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}

// SIGNAL 4
void ChatController::rosterItemChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}

// SIGNAL 5
void ChatController::chatStateControllerChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}

// SIGNAL 6
void ChatController::chatHintModelChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 6, nullptr);
}

// SIGNAL 7
void ChatController::messageModelChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 7, nullptr);
}

// SIGNAL 8
void ChatController::isEncryptionEnabledChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
}

// SIGNAL 9
void ChatController::encryptionChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 9, nullptr);
}

// SIGNAL 10
void ChatController::groupChatUserJidsChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 10, nullptr);
}

// SIGNAL 11
void ChatController::chatStateTextChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 11, nullptr);
}

// SIGNAL 12
void ChatController::messageBodyToForwardChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 12, nullptr);
}
QT_WARNING_POP
