/****************************************************************************
** Meta object code from reading C++ file 'imconfig.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 "../../../../../../fcitx5-configtool/src/lib/configlib/imconfig.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 'imconfig.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_ZN5fcitx3kcm8IMConfigE_t {};
} // unnamed namespace

template <> constexpr inline auto fcitx::kcm::IMConfig::qt_create_metaobjectdata<qt_meta_tag_ZN5fcitx3kcm8IMConfigE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "fcitx::kcm::IMConfig",
        "changed",
        "",
        "currentGroupChanged",
        "group",
        "groupsChanged",
        "groups",
        "imListChanged",
        "defaultLayoutChanged",
        "needUpdateChanged",
        "addGroup",
        "name",
        "deleteGroup",
        "save",
        "load",
        "defaults",
        "addIM",
        "idx",
        "removeIM",
        "move",
        "from",
        "to",
        "refresh",
        "restart",
        "checkUpdate",
        "availabilityChanged",
        "fetchGroupInfoFinished",
        "QDBusPendingCallWatcher*",
        "watcher",
        "fetchInputMethodsFinished",
        "fetchGroupsFinished",
        "checkUpdateFinished",
        "setLayout",
        "im",
        "layout",
        "currentIMModel",
        "fcitx::kcm::FilteredIMModel*",
        "availIMModel",
        "fcitx::kcm::IMProxyModel*",
        "defaultLayout",
        "currentGroup",
        "needSave",
        "needUpdate"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'changed'
        QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'currentGroupChanged'
        QtMocHelpers::SignalData<void(const QString &)>(3, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 4 },
        }}),
        // Signal 'groupsChanged'
        QtMocHelpers::SignalData<void(const QStringList &)>(5, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QStringList, 6 },
        }}),
        // Signal 'imListChanged'
        QtMocHelpers::SignalData<void()>(7, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'defaultLayoutChanged'
        QtMocHelpers::SignalData<void()>(8, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'needUpdateChanged'
        QtMocHelpers::SignalData<void(bool)>(9, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Bool, 2 },
        }}),
        // Slot 'addGroup'
        QtMocHelpers::SlotData<void(const QString &)>(10, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 11 },
        }}),
        // Slot 'deleteGroup'
        QtMocHelpers::SlotData<void(const QString &)>(12, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 11 },
        }}),
        // Slot 'save'
        QtMocHelpers::SlotData<void()>(13, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'load'
        QtMocHelpers::SlotData<void()>(14, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'defaults'
        QtMocHelpers::SlotData<void()>(15, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'addIM'
        QtMocHelpers::SlotData<void(int)>(16, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 17 },
        }}),
        // Slot 'removeIM'
        QtMocHelpers::SlotData<void(int)>(18, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 17 },
        }}),
        // Slot 'move'
        QtMocHelpers::SlotData<void(int, int)>(19, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 20 }, { QMetaType::Int, 21 },
        }}),
        // Slot 'refresh'
        QtMocHelpers::SlotData<void()>(22, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'restart'
        QtMocHelpers::SlotData<void()>(23, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'checkUpdate'
        QtMocHelpers::SlotData<void()>(24, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'availabilityChanged'
        QtMocHelpers::SlotData<void()>(25, 2, QMC::AccessPrivate, QMetaType::Void),
        // Slot 'fetchGroupInfoFinished'
        QtMocHelpers::SlotData<void(QDBusPendingCallWatcher *)>(26, 2, QMC::AccessPrivate, QMetaType::Void, {{
            { 0x80000000 | 27, 28 },
        }}),
        // Slot 'fetchInputMethodsFinished'
        QtMocHelpers::SlotData<void(QDBusPendingCallWatcher *)>(29, 2, QMC::AccessPrivate, QMetaType::Void, {{
            { 0x80000000 | 27, 28 },
        }}),
        // Slot 'fetchGroupsFinished'
        QtMocHelpers::SlotData<void(QDBusPendingCallWatcher *)>(30, 2, QMC::AccessPrivate, QMetaType::Void, {{
            { 0x80000000 | 27, 28 },
        }}),
        // Slot 'checkUpdateFinished'
        QtMocHelpers::SlotData<void(QDBusPendingCallWatcher *)>(31, 2, QMC::AccessPrivate, QMetaType::Void, {{
            { 0x80000000 | 27, 28 },
        }}),
        // Method 'setLayout'
        QtMocHelpers::MethodData<void(const QString &, const QString &)>(32, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 33 }, { QMetaType::QString, 34 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'currentIMModel'
        QtMocHelpers::PropertyData<fcitx::kcm::FilteredIMModel*>(35, 0x80000000 | 36, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'availIMModel'
        QtMocHelpers::PropertyData<fcitx::kcm::IMProxyModel*>(37, 0x80000000 | 38, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Constant),
        // property 'defaultLayout'
        QtMocHelpers::PropertyData<QString>(39, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable | QMC::StdCppSet, 4),
        // property 'groups'
        QtMocHelpers::PropertyData<QStringList>(6, QMetaType::QStringList, QMC::DefaultPropertyFlags, 2),
        // property 'currentGroup'
        QtMocHelpers::PropertyData<QString>(40, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Writable | QMC::StdCppSet),
        // property 'needSave'
        QtMocHelpers::PropertyData<bool>(41, QMetaType::Bool, QMC::DefaultPropertyFlags),
        // property 'needUpdate'
        QtMocHelpers::PropertyData<bool>(42, QMetaType::Bool, QMC::DefaultPropertyFlags, 5),
    };
    QtMocHelpers::UintData qt_enums {
    };
    return QtMocHelpers::metaObjectData<IMConfig, qt_meta_tag_ZN5fcitx3kcm8IMConfigE_t>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject fcitx::kcm::IMConfig::staticMetaObject = { {
    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN5fcitx3kcm8IMConfigE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN5fcitx3kcm8IMConfigE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN5fcitx3kcm8IMConfigE_t>.metaTypes,
    nullptr
} };

void fcitx::kcm::IMConfig::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<IMConfig *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->changed(); break;
        case 1: _t->currentGroupChanged((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
        case 2: _t->groupsChanged((*reinterpret_cast<std::add_pointer_t<QStringList>>(_a[1]))); break;
        case 3: _t->imListChanged(); break;
        case 4: _t->defaultLayoutChanged(); break;
        case 5: _t->needUpdateChanged((*reinterpret_cast<std::add_pointer_t<bool>>(_a[1]))); break;
        case 6: _t->addGroup((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
        case 7: _t->deleteGroup((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
        case 8: _t->save(); break;
        case 9: _t->load(); break;
        case 10: _t->defaults(); break;
        case 11: _t->addIM((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 12: _t->removeIM((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 13: _t->move((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 14: _t->refresh(); break;
        case 15: _t->restart(); break;
        case 16: _t->checkUpdate(); break;
        case 17: _t->availabilityChanged(); break;
        case 18: _t->fetchGroupInfoFinished((*reinterpret_cast<std::add_pointer_t<QDBusPendingCallWatcher*>>(_a[1]))); break;
        case 19: _t->fetchInputMethodsFinished((*reinterpret_cast<std::add_pointer_t<QDBusPendingCallWatcher*>>(_a[1]))); break;
        case 20: _t->fetchGroupsFinished((*reinterpret_cast<std::add_pointer_t<QDBusPendingCallWatcher*>>(_a[1]))); break;
        case 21: _t->checkUpdateFinished((*reinterpret_cast<std::add_pointer_t<QDBusPendingCallWatcher*>>(_a[1]))); break;
        case 22: _t->setLayout((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2]))); break;
        default: ;
        }
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        switch (_id) {
        default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
        case 18:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QDBusPendingCallWatcher* >(); break;
            }
            break;
        case 19:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QDBusPendingCallWatcher* >(); break;
            }
            break;
        case 20:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QDBusPendingCallWatcher* >(); break;
            }
            break;
        case 21:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QDBusPendingCallWatcher* >(); break;
            }
            break;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)()>(_a, &IMConfig::changed, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)(const QString & )>(_a, &IMConfig::currentGroupChanged, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)(const QStringList & )>(_a, &IMConfig::groupsChanged, 2))
            return;
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)()>(_a, &IMConfig::imListChanged, 3))
            return;
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)()>(_a, &IMConfig::defaultLayoutChanged, 4))
            return;
        if (QtMocHelpers::indexOfMethod<void (IMConfig::*)(bool )>(_a, &IMConfig::needUpdateChanged, 5))
            return;
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<fcitx::kcm::FilteredIMModel**>(_v) = _t->currentIMModel(); break;
        case 1: *reinterpret_cast<fcitx::kcm::IMProxyModel**>(_v) = _t->availIMModel(); break;
        case 2: *reinterpret_cast<QString*>(_v) = _t->defaultLayout(); break;
        case 3: *reinterpret_cast<QStringList*>(_v) = _t->groups(); break;
        case 4: *reinterpret_cast<QString*>(_v) = _t->currentGroup(); break;
        case 5: *reinterpret_cast<bool*>(_v) = _t->needSave(); break;
        case 6: *reinterpret_cast<bool*>(_v) = _t->needUpdate(); break;
        default: break;
        }
    }
    if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 2: _t->setDefaultLayout(*reinterpret_cast<QString*>(_v)); break;
        case 4: _t->setCurrentGroup(*reinterpret_cast<QString*>(_v)); break;
        default: break;
        }
    }
}

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

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

int fcitx::kcm::IMConfig::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 < 23)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 23;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 23)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 23;
    }
    if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty
            || _c == QMetaObject::ResetProperty || _c == QMetaObject::BindableProperty
            || _c == QMetaObject::RegisterPropertyMetaType) {
        qt_static_metacall(this, _c, _id, _a);
        _id -= 7;
    }
    return _id;
}

// SIGNAL 0
void fcitx::kcm::IMConfig::changed()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}

// SIGNAL 1
void fcitx::kcm::IMConfig::currentGroupChanged(const QString & _t1)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1);
}

// SIGNAL 2
void fcitx::kcm::IMConfig::groupsChanged(const QStringList & _t1)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1);
}

// SIGNAL 3
void fcitx::kcm::IMConfig::imListChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}

// SIGNAL 4
void fcitx::kcm::IMConfig::defaultLayoutChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}

// SIGNAL 5
void fcitx::kcm::IMConfig::needUpdateChanged(bool _t1)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 5, nullptr, _t1);
}
QT_WARNING_POP
