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

#include "../../../../../../src/services/status_notifier/item.hpp"
#include <QtCore/qmetatype.h>
#include <QtCore/QProperty>

#include <QtCore/qtmochelpers.h>

#include <memory>


#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'item.hpp' 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_ZN2qs7service3sni18StatusNotifierItemE_t {};
} // unnamed namespace

template <> constexpr inline auto qs::service::sni::StatusNotifierItem::qt_create_metaobjectdata<qt_meta_tag_ZN2qs7service3sni18StatusNotifierItemE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "qs::service::sni::StatusNotifierItem",
        "QML.Element",
        "SystemTrayItem",
        "QML.Creatable",
        "false",
        "QML.UncreatableReason",
        "SystemTrayItems can only be acquired from SystemTray",
        "ready",
        "",
        "idChanged",
        "titleChanged",
        "iconChanged",
        "statusChanged",
        "categoryChanged",
        "tooltipTitleChanged",
        "tooltipDescriptionChanged",
        "hasMenuChanged",
        "onlyMenuChanged",
        "onGetAllFinished",
        "onGetAllFailed",
        "activate",
        "secondaryActivate",
        "scroll",
        "delta",
        "horizontal",
        "display",
        "parentWindow",
        "relativeX",
        "relativeY",
        "id",
        "title",
        "status",
        "qs::service::sni::Status::Enum",
        "category",
        "qs::service::sni::Category::Enum",
        "icon",
        "tooltipTitle",
        "tooltipDescription",
        "hasMenu",
        "menu",
        "qs::dbus::dbusmenu::DBusMenuHandle*",
        "onlyMenu"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'ready'
        QtMocHelpers::SignalData<void()>(7, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'idChanged'
        QtMocHelpers::SignalData<void()>(9, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'titleChanged'
        QtMocHelpers::SignalData<void()>(10, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'iconChanged'
        QtMocHelpers::SignalData<void()>(11, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'statusChanged'
        QtMocHelpers::SignalData<void()>(12, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'categoryChanged'
        QtMocHelpers::SignalData<void()>(13, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'tooltipTitleChanged'
        QtMocHelpers::SignalData<void()>(14, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'tooltipDescriptionChanged'
        QtMocHelpers::SignalData<void()>(15, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'hasMenuChanged'
        QtMocHelpers::SignalData<void()>(16, 8, QMC::AccessPublic, QMetaType::Void),
        // Signal 'onlyMenuChanged'
        QtMocHelpers::SignalData<void()>(17, 8, QMC::AccessPublic, QMetaType::Void),
        // Slot 'onGetAllFinished'
        QtMocHelpers::SlotData<void()>(18, 8, QMC::AccessPrivate, QMetaType::Void),
        // Slot 'onGetAllFailed'
        QtMocHelpers::SlotData<void() const>(19, 8, QMC::AccessPrivate, QMetaType::Void),
        // Method 'activate'
        QtMocHelpers::MethodData<void()>(20, 8, QMC::AccessPublic, QMetaType::Void),
        // Method 'secondaryActivate'
        QtMocHelpers::MethodData<void()>(21, 8, QMC::AccessPublic, QMetaType::Void),
        // Method 'scroll'
        QtMocHelpers::MethodData<void(qint32, bool) const>(22, 8, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 23 }, { QMetaType::Bool, 24 },
        }}),
        // Method 'display'
        QtMocHelpers::MethodData<void(QObject *, qint32, qint32)>(25, 8, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QObjectStar, 26 }, { QMetaType::Int, 27 }, { QMetaType::Int, 28 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'id'
        QtMocHelpers::PropertyData<QString>(29, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Bindable, 1),
        // property 'title'
        QtMocHelpers::PropertyData<QString>(30, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Bindable, 2),
        // property 'status'
        QtMocHelpers::PropertyData<qs::service::sni::Status::Enum>(31, 0x80000000 | 32, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Bindable, 4),
        // property 'category'
        QtMocHelpers::PropertyData<qs::service::sni::Category::Enum>(33, 0x80000000 | 34, QMC::DefaultPropertyFlags | QMC::EnumOrFlag | QMC::Bindable, 5),
        // property 'icon'
        QtMocHelpers::PropertyData<QString>(35, QMetaType::QString, QMC::DefaultPropertyFlags | QMC::Bindable, 3),
        // property 'tooltipTitle'
        QtMocHelpers::PropertyData<QString>(36, QMetaType::QString, QMC::DefaultPropertyFlags, 6),
        // property 'tooltipDescription'
        QtMocHelpers::PropertyData<QString>(37, QMetaType::QString, QMC::DefaultPropertyFlags, 7),
        // property 'hasMenu'
        QtMocHelpers::PropertyData<bool>(38, QMetaType::Bool, QMC::DefaultPropertyFlags | QMC::Bindable, 8),
        // property 'menu'
        QtMocHelpers::PropertyData<qs::dbus::dbusmenu::DBusMenuHandle*>(39, 0x80000000 | 40, QMC::DefaultPropertyFlags | QMC::EnumOrFlag, 8),
        // property 'onlyMenu'
        QtMocHelpers::PropertyData<bool>(41, QMetaType::Bool, QMC::DefaultPropertyFlags | QMC::Bindable, 9),
    };
    QtMocHelpers::UintData qt_enums {
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
            {    3,    4 },
            {    5,    6 },
    });
    return QtMocHelpers::metaObjectData<StatusNotifierItem, void>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT static const QMetaObject::SuperData qt_meta_extradata_ZN2qs7service3sni18StatusNotifierItemE[] = {
    QMetaObject::SuperData::link<qs::service::sni::Status::staticMetaObject>(),
    QMetaObject::SuperData::link<qs::service::sni::Category::staticMetaObject>(),
    nullptr
};

Q_CONSTINIT const QMetaObject qs::service::sni::StatusNotifierItem::staticMetaObject = { {
    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2qs7service3sni18StatusNotifierItemE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2qs7service3sni18StatusNotifierItemE_t>.data,
    qt_static_metacall,
    qt_meta_extradata_ZN2qs7service3sni18StatusNotifierItemE,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN2qs7service3sni18StatusNotifierItemE_t>.metaTypes,
    nullptr
} };

void qs::service::sni::StatusNotifierItem::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<StatusNotifierItem *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->ready(); break;
        case 1: _t->idChanged(); break;
        case 2: _t->titleChanged(); break;
        case 3: _t->iconChanged(); break;
        case 4: _t->statusChanged(); break;
        case 5: _t->categoryChanged(); break;
        case 6: _t->tooltipTitleChanged(); break;
        case 7: _t->tooltipDescriptionChanged(); break;
        case 8: _t->hasMenuChanged(); break;
        case 9: _t->onlyMenuChanged(); break;
        case 10: _t->onGetAllFinished(); break;
        case 11: _t->onGetAllFailed(); break;
        case 12: _t->activate(); break;
        case 13: _t->secondaryActivate(); break;
        case 14: _t->scroll((*reinterpret_cast<std::add_pointer_t<qint32>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<bool>>(_a[2]))); break;
        case 15: _t->display((*reinterpret_cast<std::add_pointer_t<QObject*>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<qint32>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<qint32>>(_a[3]))); break;
        default: ;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::ready, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::idChanged, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::titleChanged, 2))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::iconChanged, 3))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::statusChanged, 4))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::categoryChanged, 5))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::tooltipTitleChanged, 6))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::tooltipDescriptionChanged, 7))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::hasMenuChanged, 8))
            return;
        if (QtMocHelpers::indexOfMethod<void (StatusNotifierItem::*)()>(_a, &StatusNotifierItem::onlyMenuChanged, 9))
            return;
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<QString*>(_v) = _t->bindableId().value(); break;
        case 1: *reinterpret_cast<QString*>(_v) = _t->bindableTitle().value(); break;
        case 2: *reinterpret_cast<qs::service::sni::Status::Enum*>(_v) = _t->bindableStatus().value(); break;
        case 3: *reinterpret_cast<qs::service::sni::Category::Enum*>(_v) = _t->bindableCategory().value(); break;
        case 4: *reinterpret_cast<QString*>(_v) = _t->bindableIcon().value(); break;
        case 5: *reinterpret_cast<QString*>(_v) = _t->tooltipTitle(); break;
        case 6: *reinterpret_cast<QString*>(_v) = _t->tooltipDescription(); break;
        case 7: *reinterpret_cast<bool*>(_v) = _t->bindableHasMenu().value(); break;
        case 8: *reinterpret_cast<qs::dbus::dbusmenu::DBusMenuHandle**>(_v) = _t->menuHandle(); break;
        case 9: *reinterpret_cast<bool*>(_v) = _t->bindableOnlyMenu().value(); break;
        default: break;
        }
    }
    if (_c == QMetaObject::BindableProperty) {
        switch (_id) {
        case 0: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableId(); break;
        case 1: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableTitle(); break;
        case 2: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableStatus(); break;
        case 3: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableCategory(); break;
        case 4: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableIcon(); break;
        case 7: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableHasMenu(); break;
        case 9: *static_cast<QUntypedBindable *>(_a[0]) = _t->bindableOnlyMenu(); break;
        default: break;
        }
    }
}

const QMetaObject *qs::service::sni::StatusNotifierItem::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}

void *qs::service::sni::StatusNotifierItem::qt_metacast(const char *_clname)
{
    if (!_clname) return nullptr;
    if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2qs7service3sni18StatusNotifierItemE_t>.strings))
        return static_cast<void*>(this);
    return QObject::qt_metacast(_clname);
}

int qs::service::sni::StatusNotifierItem::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 < 16)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 16;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 16)
            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
        _id -= 16;
    }
    if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty
            || _c == QMetaObject::ResetProperty || _c == QMetaObject::BindableProperty
            || _c == QMetaObject::RegisterPropertyMetaType) {
        qt_static_metacall(this, _c, _id, _a);
        _id -= 10;
    }
    return _id;
}

// SIGNAL 0
void qs::service::sni::StatusNotifierItem::ready()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}

// SIGNAL 1
void qs::service::sni::StatusNotifierItem::idChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}

// SIGNAL 2
void qs::service::sni::StatusNotifierItem::titleChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}

// SIGNAL 3
void qs::service::sni::StatusNotifierItem::iconChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}

// SIGNAL 4
void qs::service::sni::StatusNotifierItem::statusChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}

// SIGNAL 5
void qs::service::sni::StatusNotifierItem::categoryChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}

// SIGNAL 6
void qs::service::sni::StatusNotifierItem::tooltipTitleChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 6, nullptr);
}

// SIGNAL 7
void qs::service::sni::StatusNotifierItem::tooltipDescriptionChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 7, nullptr);
}

// SIGNAL 8
void qs::service::sni::StatusNotifierItem::hasMenuChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
}

// SIGNAL 9
void qs::service::sni::StatusNotifierItem::onlyMenuChanged()
{
    QMetaObject::activate(this, &staticMetaObject, 9, nullptr);
}
namespace {
struct qt_meta_tag_ZN2qs7service3sni6StatusE_t {};
} // unnamed namespace

template <> constexpr inline auto qs::service::sni::Status::qt_create_metaobjectdata<qt_meta_tag_ZN2qs7service3sni6StatusE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "qs::service::sni::Status",
        "QML.Element",
        "auto",
        "Enum",
        "Passive",
        "Active",
        "NeedsAttention"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'Enum'
        QtMocHelpers::EnumData<Enum>(3, 3, QMC::EnumFlags{}).add({
            {    4, Enum::Passive },
            {    5, Enum::Active },
            {    6, Enum::NeedsAttention },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
    });
    return QtMocHelpers::metaObjectData<void, qt_meta_tag_ZN2qs7service3sni6StatusE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}

static constexpr auto qt_staticMetaObjectContent_ZN2qs7service3sni6StatusE =
    qs::service::sni::Status::qt_create_metaobjectdata<qt_meta_tag_ZN2qs7service3sni6StatusE_t>();
static constexpr auto qt_staticMetaObjectStaticContent_ZN2qs7service3sni6StatusE =
    qt_staticMetaObjectContent_ZN2qs7service3sni6StatusE.staticData;
static constexpr auto qt_staticMetaObjectRelocatingContent_ZN2qs7service3sni6StatusE =
    qt_staticMetaObjectContent_ZN2qs7service3sni6StatusE.relocatingData;

Q_CONSTINIT const QMetaObject qs::service::sni::Status::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent_ZN2qs7service3sni6StatusE.stringdata,
    qt_staticMetaObjectStaticContent_ZN2qs7service3sni6StatusE.data,
    nullptr,
    nullptr,
    qt_staticMetaObjectRelocatingContent_ZN2qs7service3sni6StatusE.metaTypes,
    nullptr
} };

namespace {
struct qt_meta_tag_ZN2qs7service3sni8CategoryE_t {};
} // unnamed namespace

template <> constexpr inline auto qs::service::sni::Category::qt_create_metaobjectdata<qt_meta_tag_ZN2qs7service3sni8CategoryE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "qs::service::sni::Category",
        "QML.Element",
        "auto",
        "Enum",
        "Hardware",
        "SystemServices",
        "ApplicationStatus",
        "Communications"
    };

    QtMocHelpers::UintData qt_methods {
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'Enum'
        QtMocHelpers::EnumData<Enum>(3, 3, QMC::EnumFlags{}).add({
            {    4, Enum::Hardware },
            {    5, Enum::SystemServices },
            {    6, Enum::ApplicationStatus },
            {    7, Enum::Communications },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
    });
    return QtMocHelpers::metaObjectData<void, qt_meta_tag_ZN2qs7service3sni8CategoryE_t>(QMC::PropertyAccessInStaticMetaCall, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}

static constexpr auto qt_staticMetaObjectContent_ZN2qs7service3sni8CategoryE =
    qs::service::sni::Category::qt_create_metaobjectdata<qt_meta_tag_ZN2qs7service3sni8CategoryE_t>();
static constexpr auto qt_staticMetaObjectStaticContent_ZN2qs7service3sni8CategoryE =
    qt_staticMetaObjectContent_ZN2qs7service3sni8CategoryE.staticData;
static constexpr auto qt_staticMetaObjectRelocatingContent_ZN2qs7service3sni8CategoryE =
    qt_staticMetaObjectContent_ZN2qs7service3sni8CategoryE.relocatingData;

Q_CONSTINIT const QMetaObject qs::service::sni::Category::staticMetaObject = { {
    nullptr,
    qt_staticMetaObjectStaticContent_ZN2qs7service3sni8CategoryE.stringdata,
    qt_staticMetaObjectStaticContent_ZN2qs7service3sni8CategoryE.data,
    nullptr,
    nullptr,
    qt_staticMetaObjectRelocatingContent_ZN2qs7service3sni8CategoryE.metaTypes,
    nullptr
} };

QT_WARNING_POP
