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

#include "../../../../elisa-26.07.90/src/mediaplaylist.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 'mediaplaylist.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.12.0. 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_ZN13MediaPlayListE_t {};
} // unnamed namespace

template <> constexpr inline auto MediaPlayList::qt_create_metaobjectdata<qt_meta_tag_ZN13MediaPlayListE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "MediaPlayList",
        "QML.Element",
        "auto",
        "newTrackByNameInList",
        "",
        "QVariant",
        "title",
        "artist",
        "album",
        "trackNumber",
        "discNumber",
        "newEntryInList",
        "newDatabaseId",
        "entryTitle",
        "ElisaUtils::PlayListEntryType",
        "databaseIdType",
        "newUrlInList",
        "QUrl",
        "entryUrl",
        "tracksListAdded",
        "MediaPlayList::ListTrackDataType",
        "tracks",
        "trackChanged",
        "MediaPlayList::TrackDataType",
        "track",
        "trackRemoved",
        "trackId",
        "trackInError",
        "sourceInError",
        "QMediaPlayer::Error",
        "playerError",
        "enqueueOneEntry",
        "DataTypes::EntryData",
        "entryData",
        "insertAt",
        "enqueueMultipleEntries",
        "DataTypes::EntryDataList",
        "entriesData",
        "ColumnsRoles",
        "TitleRole",
        "SecondaryTextRole",
        "ImageUrlRole",
        "ShadowForImageRole",
        "ChildModelRole",
        "DurationRole",
        "StringDurationRole",
        "ArtistRole",
        "AllArtistsRole",
        "HighestTrackRating",
        "AlbumRole",
        "AlbumArtistRole",
        "IsValidAlbumArtistRole",
        "TrackNumberRole",
        "DiscNumberRole",
        "RatingRole",
        "GenreRole",
        "LyricistRole",
        "ComposerRole",
        "CommentRole",
        "YearRole",
        "ChannelsRole",
        "BitRateRole",
        "SampleRateRole",
        "ResourceRole",
        "IdRole",
        "ParentIdRole",
        "DatabaseIdRole",
        "IsSingleDiscAlbumRole",
        "ContainerDataRole",
        "IsPartialDataRole",
        "AlbumIdRole",
        "HasEmbeddedCover",
        "FileModificationTime",
        "FirstPlayDate",
        "LastPlayDate",
        "PlayCounter",
        "PlayFrequency",
        "ElementTypeRole",
        "LyricsRole",
        "FullDataRole",
        "IsDirectoryRole",
        "IsPlayListRole",
        "FilePathRole",
        "IsValidRole",
        "CountRole",
        "IsPlayingRole",
        "AlbumSectionRole",
        "MetadataModifiableRole",
        "PlayState",
        "NotPlaying",
        "IsPlaying",
        "IsPaused"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'newTrackByNameInList'
        QtMocHelpers::SignalData<void(const QVariant &, const QVariant &, const QVariant &, const QVariant &, const QVariant &)>(3, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 5, 6 }, { 0x80000000 | 5, 7 }, { 0x80000000 | 5, 8 }, { 0x80000000 | 5, 9 },
            { 0x80000000 | 5, 10 },
        }}),
        // Signal 'newEntryInList'
        QtMocHelpers::SignalData<void(qulonglong, const QString &, ElisaUtils::PlayListEntryType)>(11, 4, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::ULongLong, 12 }, { QMetaType::QString, 13 }, { 0x80000000 | 14, 15 },
        }}),
        // Signal 'newUrlInList'
        QtMocHelpers::SignalData<void(const QUrl &, ElisaUtils::PlayListEntryType)>(16, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 17, 18 }, { 0x80000000 | 14, 15 },
        }}),
        // Slot 'tracksListAdded'
        QtMocHelpers::SlotData<void(qulonglong, const QString &, ElisaUtils::PlayListEntryType, const MediaPlayList::ListTrackDataType &)>(19, 4, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::ULongLong, 12 }, { QMetaType::QString, 13 }, { 0x80000000 | 14, 15 }, { 0x80000000 | 20, 21 },
        }}),
        // Slot 'trackChanged'
        QtMocHelpers::SlotData<void(const MediaPlayList::TrackDataType &)>(22, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 23, 24 },
        }}),
        // Slot 'trackRemoved'
        QtMocHelpers::SlotData<void(qulonglong)>(25, 4, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::ULongLong, 26 },
        }}),
        // Slot 'trackInError'
        QtMocHelpers::SlotData<void(const QUrl &, QMediaPlayer::Error)>(27, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 17, 28 }, { 0x80000000 | 29, 30 },
        }}),
        // Slot 'enqueueOneEntry'
        QtMocHelpers::SlotData<void(const DataTypes::EntryData &, int)>(31, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 32, 33 }, { QMetaType::Int, 34 },
        }}),
        // Slot 'enqueueOneEntry'
        QtMocHelpers::SlotData<void(const DataTypes::EntryData &)>(31, 4, QMC::AccessPublic | QMC::MethodCloned, QMetaType::Void, {{
            { 0x80000000 | 32, 33 },
        }}),
        // Slot 'enqueueMultipleEntries'
        QtMocHelpers::SlotData<void(const DataTypes::EntryDataList &, int)>(35, 4, QMC::AccessPublic, QMetaType::Void, {{
            { 0x80000000 | 36, 37 }, { QMetaType::Int, 34 },
        }}),
        // Slot 'enqueueMultipleEntries'
        QtMocHelpers::SlotData<void(const DataTypes::EntryDataList &)>(35, 4, QMC::AccessPublic | QMC::MethodCloned, QMetaType::Void, {{
            { 0x80000000 | 36, 37 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'ColumnsRoles'
        QtMocHelpers::EnumData<enum ColumnsRoles>(38, 38, QMC::EnumFlags{}).add({
            {   39, ColumnsRoles::TitleRole },
            {   40, ColumnsRoles::SecondaryTextRole },
            {   41, ColumnsRoles::ImageUrlRole },
            {   42, ColumnsRoles::ShadowForImageRole },
            {   43, ColumnsRoles::ChildModelRole },
            {   44, ColumnsRoles::DurationRole },
            {   45, ColumnsRoles::StringDurationRole },
            {   46, ColumnsRoles::ArtistRole },
            {   47, ColumnsRoles::AllArtistsRole },
            {   48, ColumnsRoles::HighestTrackRating },
            {   49, ColumnsRoles::AlbumRole },
            {   50, ColumnsRoles::AlbumArtistRole },
            {   51, ColumnsRoles::IsValidAlbumArtistRole },
            {   52, ColumnsRoles::TrackNumberRole },
            {   53, ColumnsRoles::DiscNumberRole },
            {   54, ColumnsRoles::RatingRole },
            {   55, ColumnsRoles::GenreRole },
            {   56, ColumnsRoles::LyricistRole },
            {   57, ColumnsRoles::ComposerRole },
            {   58, ColumnsRoles::CommentRole },
            {   59, ColumnsRoles::YearRole },
            {   60, ColumnsRoles::ChannelsRole },
            {   61, ColumnsRoles::BitRateRole },
            {   62, ColumnsRoles::SampleRateRole },
            {   63, ColumnsRoles::ResourceRole },
            {   64, ColumnsRoles::IdRole },
            {   65, ColumnsRoles::ParentIdRole },
            {   66, ColumnsRoles::DatabaseIdRole },
            {   67, ColumnsRoles::IsSingleDiscAlbumRole },
            {   68, ColumnsRoles::ContainerDataRole },
            {   69, ColumnsRoles::IsPartialDataRole },
            {   70, ColumnsRoles::AlbumIdRole },
            {   71, ColumnsRoles::HasEmbeddedCover },
            {   72, ColumnsRoles::FileModificationTime },
            {   73, ColumnsRoles::FirstPlayDate },
            {   74, ColumnsRoles::LastPlayDate },
            {   75, ColumnsRoles::PlayCounter },
            {   76, ColumnsRoles::PlayFrequency },
            {   77, ColumnsRoles::ElementTypeRole },
            {   78, ColumnsRoles::LyricsRole },
            {   79, ColumnsRoles::FullDataRole },
            {   80, ColumnsRoles::IsDirectoryRole },
            {   81, ColumnsRoles::IsPlayListRole },
            {   82, ColumnsRoles::FilePathRole },
            {   83, ColumnsRoles::IsValidRole },
            {   84, ColumnsRoles::CountRole },
            {   85, ColumnsRoles::IsPlayingRole },
            {   86, ColumnsRoles::AlbumSectionRole },
            {   87, ColumnsRoles::MetadataModifiableRole },
        }),
        // enum 'PlayState'
        QtMocHelpers::EnumData<enum PlayState>(88, 88, QMC::EnumFlags{}).add({
            {   89, PlayState::NotPlaying },
            {   90, PlayState::IsPlaying },
            {   91, PlayState::IsPaused },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
    });
    return QtMocHelpers::metaObjectData<MediaPlayList, void>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT const QMetaObject MediaPlayList::staticMetaObject = { {
    QMetaObject::SuperData::link<QAbstractListModel::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN13MediaPlayListE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN13MediaPlayListE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN13MediaPlayListE_t>.metaTypes,
    nullptr
} };

void MediaPlayList::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<MediaPlayList *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->newTrackByNameInList((*reinterpret_cast<std::add_pointer_t<QVariant>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QVariant>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<QVariant>>(_a[3])),(*reinterpret_cast<std::add_pointer_t<QVariant>>(_a[4])),(*reinterpret_cast<std::add_pointer_t<QVariant>>(_a[5]))); break;
        case 1: _t->newEntryInList((*reinterpret_cast<std::add_pointer_t<qulonglong>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<ElisaUtils::PlayListEntryType>>(_a[3]))); break;
        case 2: _t->newUrlInList((*reinterpret_cast<std::add_pointer_t<QUrl>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<ElisaUtils::PlayListEntryType>>(_a[2]))); break;
        case 3: _t->tracksListAdded((*reinterpret_cast<std::add_pointer_t<qulonglong>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QString>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<ElisaUtils::PlayListEntryType>>(_a[3])),(*reinterpret_cast<std::add_pointer_t<MediaPlayList::ListTrackDataType>>(_a[4]))); break;
        case 4: _t->trackChanged((*reinterpret_cast<std::add_pointer_t<MediaPlayList::TrackDataType>>(_a[1]))); break;
        case 5: _t->trackRemoved((*reinterpret_cast<std::add_pointer_t<qulonglong>>(_a[1]))); break;
        case 6: _t->trackInError((*reinterpret_cast<std::add_pointer_t<QUrl>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<QMediaPlayer::Error>>(_a[2]))); break;
        case 7: _t->enqueueOneEntry((*reinterpret_cast<std::add_pointer_t<DataTypes::EntryData>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 8: _t->enqueueOneEntry((*reinterpret_cast<std::add_pointer_t<DataTypes::EntryData>>(_a[1]))); break;
        case 9: _t->enqueueMultipleEntries((*reinterpret_cast<std::add_pointer_t<DataTypes::EntryDataList>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 10: _t->enqueueMultipleEntries((*reinterpret_cast<std::add_pointer_t<DataTypes::EntryDataList>>(_a[1]))); break;
        default: ;
        }
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        switch (_id) {
        default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
        case 7:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< DataTypes::EntryData >(); break;
            }
            break;
        case 8:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< DataTypes::EntryData >(); break;
            }
            break;
        case 9:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< DataTypes::EntryDataList >(); break;
            }
            break;
        case 10:
            switch (*reinterpret_cast<int*>(_a[1])) {
            default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
            case 0:
                *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< DataTypes::EntryDataList >(); break;
            }
            break;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (MediaPlayList::*)(const QVariant & , const QVariant & , const QVariant & , const QVariant & , const QVariant & )>(_a, &MediaPlayList::newTrackByNameInList, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (MediaPlayList::*)(qulonglong , const QString & , ElisaUtils::PlayListEntryType )>(_a, &MediaPlayList::newEntryInList, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (MediaPlayList::*)(const QUrl & , ElisaUtils::PlayListEntryType )>(_a, &MediaPlayList::newUrlInList, 2))
            return;
    }
}

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

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

int MediaPlayList::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QAbstractListModel::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 11)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 11;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 11)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 11;
    }
    return _id;
}

// SIGNAL 0
void MediaPlayList::newTrackByNameInList(const QVariant & _t1, const QVariant & _t2, const QVariant & _t3, const QVariant & _t4, const QVariant & _t5)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 0, nullptr, _t1, _t2, _t3, _t4, _t5);
}

// SIGNAL 1
void MediaPlayList::newEntryInList(qulonglong _t1, const QString & _t2, ElisaUtils::PlayListEntryType _t3)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1, _t2, _t3);
}

// SIGNAL 2
void MediaPlayList::newUrlInList(const QUrl & _t1, ElisaUtils::PlayListEntryType _t2)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1, _t2);
}
QT_WARNING_POP
