/****************************************************************************
** Meta object code from reading C++ file 'applicationmanager1adaptor.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 "applicationmanager1adaptor.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 'applicationmanager1adaptor.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_ZN26ApplicationManager1AdaptorE_t {};
} // unnamed namespace

template <> constexpr inline auto ApplicationManager1Adaptor::qt_create_metaobjectdata<qt_meta_tag_ZN26ApplicationManager1AdaptorE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "ApplicationManager1Adaptor",
        "D-Bus Interface",
        "org.desktopspec.ApplicationManager1",
        "D-Bus Introspection",
        "  <interface name=\"org.desktopspec.ApplicationManager1\">\n    <p"
        "roperty access=\"read\" type=\"ao\" name=\"List\"/>\n    <method n"
        "ame=\"ReloadApplications\">\n      <annotation value=\"This method"
        " is used to update the desktop file cache when needed.            "
        "            You can pass a list of absolute paths to files or dire"
        "ctories that you want to update.                        Note: Appl"
        "ication Manager only supports directory paths in $XDG_DATA_DIRS.\""
        " name=\"org.freedesktop.DBus.Description\"/>\n    </method>\n    <"
        "method name=\"Identify\">\n      <arg direction=\"in\" type=\"h\" "
        "name=\"pidfd\"/>\n      <arg direction=\"out\" type=\"s\" name=\"i"
        "d\"/>\n      <arg direction=\"out\" type=\"o\" name=\"instance\"/>"
        "\n      <arg direction=\"out\" type=\"a{sa{sv}}\" name=\"applicati"
        "on_instance_info\"/>\n      <annotation value=\"ObjectInterfaceMap"
        "\" name=\"org.qtproject.QtDBus.QtTypeName.Out2\"/>\n      <annotat"
        "ion value=\"Given a pidfd,                        this method retu"
        "rn a destkop file id,                        an application instan"
        "ce object path,                        as well as an application o"
        "bject path.                         NOTE:                        1"
        ". You should use pidfd_open(2) to get a pidfd.\" name=\"org.freede"
        "sktop.DBus.Description\"/>\n    </method>\n    <method name=\"addU"
        "serApplication\">\n      <arg direction=\"in\" type=\"a{sv}\" name"
        "=\"desktop_file\"/>\n      <arg direction=\"in\" type=\"s\" name=\""
        "name\"/>\n      <arg direction=\"out\" type=\"s\" name=\"app_id\"/"
        ">\n      <annotation value=\"QVariantMap\" name=\"org.qtproject.Qt"
        "DBus.QtTypeName.In0\"/>\n      <annotation value=\"Desktop-entry-s"
        "pec: https://specifications.freedesktop.org/desktop-entry-spec/des"
        "ktop-entry-spec-latest.html,                        type of `v` is"
        " depends on the property which you want to set.                   "
        "     examples:                        {'Name':{'en_US':'example','"
        "default':'测试'},{'custom':10}} : a{sa{sv}} // Name=测试 Name["
        "en_US]=example custom=10                        {'custom':20,'Name"
        "':'example'} : a{sv} // custom=20 Name=example                    "
        "   \" name=\"org.freedesktop.DBus.Description\"/>\n    </method>\n"
        "    <method name=\"deleteUserApplication\">\n      <arg direction="
        "\"in\" type=\"s\" name=\"app_id\"/>\n      <annotation value=\"Del"
        "ete a user application by app_id.\" name=\"org.freedesktop.DBus.De"
        "scription\"/>\n    </method>\n    <method name=\"executeCommand\">"
        "\n      <arg direction=\"in\" type=\"s\" name=\"program\"/>\n     "
        " <arg direction=\"in\" type=\"as\" name=\"arguments\"/>\n      <ar"
        "g direction=\"in\" type=\"s\" name=\"type\"/>\n      <arg directio"
        "n=\"in\" type=\"s\" name=\"runId\"/>\n      <arg direction=\"in\" "
        "type=\"a{ss}\" name=\"envVars\"/>\n      <arg direction=\"in\" typ"
        "e=\"s\" name=\"workdir\"/>\n      <arg direction=\"out\" type=\"o\""
        " name=\"instancePath\"/>\n      <annotation value=\"QStringList\" "
        "name=\"org.qtproject.QtDBus.QtTypeName.In1\"/>\n      <annotation "
        "value=\"QStringMap\" name=\"org.qtproject.QtDBus.QtTypeName.In4\"/"
        ">\n      <annotation value=\"Execute a non-system application with"
        " the specified parameters.                        This method crea"
        "tes a systemd service to run the command with proper cgroup manage"
        "ment.                         Parameters:                        -"
        " program: Full path to the executable                        - arg"
        "uments: List of command line arguments (optional)                 "
        "       - type: Execution type, must be one of: 'shortcut', 'script"
        "', 'portablebinary'                        - runId: Fake app ID fo"
        "r identification (optional, defaults to escaped program path)     "
        "                   - envVars: Custom environment variables (option"
        "al)                        - workdir: Working directory (optional)"
        "                         Returns:                        - instanc"
        "ePath: The instance object path on DBus. It's currently empty and "
        "reserved for future use.                         The systemd unit "
        "will be created with cgroup: app-DDE-tmp.{type}.{runId}@{random}.s"
        "ervice\" name=\"org.freedesktop.DBus.Description\"/>\n    </method"
        ">\n  </interface>\n",
        "Identify",
        "",
        "QDBusUnixFileDescriptor",
        "pidfd",
        "QDBusObjectPath&",
        "instance",
        "ObjectInterfaceMap&",
        "application_instance_info",
        "ReloadApplications",
        "addUserApplication",
        "QVariantMap",
        "desktop_file",
        "name",
        "deleteUserApplication",
        "app_id",
        "executeCommand",
        "QDBusObjectPath",
        "program",
        "arguments",
        "type",
        "runId",
        "QStringMap",
        "envVars",
        "workdir",
        "List",
        "QList<QDBusObjectPath>"
    };

    QtMocHelpers::UintData qt_methods {
        // Slot 'Identify'
        QtMocHelpers::SlotData<QString(const QDBusUnixFileDescriptor &, QDBusObjectPath &, ObjectInterfaceMap &)>(5, 6, QMC::AccessPublic, QMetaType::QString, {{
            { 0x80000000 | 7, 8 }, { 0x80000000 | 9, 10 }, { 0x80000000 | 11, 12 },
        }}),
        // Slot 'ReloadApplications'
        QtMocHelpers::SlotData<void()>(13, 6, QMC::AccessPublic, QMetaType::Void),
        // Slot 'addUserApplication'
        QtMocHelpers::SlotData<QString(const QVariantMap &, const QString &)>(14, 6, QMC::AccessPublic, QMetaType::QString, {{
            { 0x80000000 | 15, 16 }, { QMetaType::QString, 17 },
        }}),
        // Slot 'deleteUserApplication'
        QtMocHelpers::SlotData<void(const QString &)>(18, 6, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 19 },
        }}),
        // Slot 'executeCommand'
        QtMocHelpers::SlotData<QDBusObjectPath(const QString &, const QStringList &, const QString &, const QString &, const QStringMap &, const QString &)>(20, 6, QMC::AccessPublic, 0x80000000 | 21, {{
            { QMetaType::QString, 22 }, { QMetaType::QStringList, 23 }, { QMetaType::QString, 24 }, { QMetaType::QString, 25 },
            { 0x80000000 | 26, 27 }, { QMetaType::QString, 28 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'List'
        QtMocHelpers::PropertyData<QList<QDBusObjectPath>>(29, 0x80000000 | 30, QMC::DefaultPropertyFlags | QMC::EnumOrFlag),
    };
    QtMocHelpers::UintData qt_enums {
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
            {    3,    4 },
    });
    return QtMocHelpers::metaObjectData<ApplicationManager1Adaptor, qt_meta_tag_ZN26ApplicationManager1AdaptorE_t>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT const QMetaObject ApplicationManager1Adaptor::staticMetaObject = { {
    QMetaObject::SuperData::link<QDBusAbstractAdaptor::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN26ApplicationManager1AdaptorE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN26ApplicationManager1AdaptorE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN26ApplicationManager1AdaptorE_t>.metaTypes,
    nullptr
} };

void ApplicationManager1Adaptor::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<ApplicationManager1Adaptor *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: { QString _r = _t->Identify((*reinterpret_cast<std::add_pointer_t<QDBusUnixFileDescriptor>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QDBusObjectPath&>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<ObjectInterfaceMap&>>(_a[3])));
            if (_a[0]) *reinterpret_cast<QString*>(_a[0]) = std::move(_r); }  break;
        case 1: _t->ReloadApplications(); break;
        case 2: { QString _r = _t->addUserApplication((*reinterpret_cast<std::add_pointer_t<QVariantMap>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2])));
            if (_a[0]) *reinterpret_cast<QString*>(_a[0]) = std::move(_r); }  break;
        case 3: _t->deleteUserApplication((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
        case 4: { QDBusObjectPath _r = _t->executeCommand((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QStringList>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[3])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[4])),(*reinterpret_cast<std::add_pointer_t<QStringMap>>(_a[5])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[6])));
            if (_a[0]) *reinterpret_cast<QDBusObjectPath*>(_a[0]) = std::move(_r); }  break;
        default: ;
        }
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<QList<QDBusObjectPath>*>(_v) = _t->list(); break;
        default: break;
        }
    }
}

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

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

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