//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <solid_includes.h>

#include <smoke.h>
#include <solid_smoke.h>

class __internal_SmokeClass {};

namespace __smokesolid {

class x_Solid__OpticalDrive : public Solid::OpticalDrive, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__OpticalDrive*)this)->Solid::OpticalDrive::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::OpticalDrive::qt_metacast((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = Solid::OpticalDrive::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = Solid::OpticalDrive::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = Solid::OpticalDrive::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = Solid::OpticalDrive::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        int xret = this->Solid::OpticalDrive::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
        x[0].s_int = xret;
    }
    static void x_8(Smoke::Stack x) {
        // static Solid::DeviceInterface::Type deviceInterfaceType()
        Solid::DeviceInterface::Type xret = Solid::OpticalDrive::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // QFlags<Solid::OpticalDrive::MediumType> supportedMedia() const
        QFlags<Solid::OpticalDrive::MediumType> xret = ((const x_Solid__OpticalDrive*)this)->Solid::OpticalDrive::supportedMedia();
        x[0].s_uint = (uint)xret;
    }
    void x_10(Smoke::Stack x) {
        // int readSpeed() const
        int xret = ((const x_Solid__OpticalDrive*)this)->Solid::OpticalDrive::readSpeed();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int writeSpeed() const
        int xret = ((const x_Solid__OpticalDrive*)this)->Solid::OpticalDrive::writeSpeed();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // QList<int> writeSpeeds() const
        QList<int> xret = ((const x_Solid__OpticalDrive*)this)->Solid::OpticalDrive::writeSpeeds();
        x[0].s_class = (void*)new QList<int>(xret);
    }
    void x_13(Smoke::Stack x) {
        // bool eject()
        bool xret = this->Solid::OpticalDrive::eject();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // void ejectPressed(const QString&)
        this->Solid::OpticalDrive::ejectPressed(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void ejectDone(Solid::ErrorType, QVariant, const QString&)
        this->Solid::OpticalDrive::ejectDone((Solid::ErrorType)x[1].s_enum,*(QVariant*)x[2].s_class,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void ejectRequested(const QString&)
        this->Solid::OpticalDrive::ejectRequested(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Solid::OpticalDrive::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Solid::OpticalDrive::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Solid::OpticalDrive::staticMetaObject;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Cdr;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Cdrw;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvd;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdr;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdrw;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdram;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdplusr;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdplusrw;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdplusdl;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Dvdplusdlrw;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Bd;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Bdr;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::Bdre;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::HdDvd;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::HdDvdr;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::OpticalDrive::HdDvdrw;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 115: //Solid::OpticalDrive::MediumType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Solid::OpticalDrive::MediumType;
                    break;
                case Smoke::EnumDelete:
                    delete (Solid::OpticalDrive::MediumType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Solid::OpticalDrive::MediumType*)xdata = (Solid::OpticalDrive::MediumType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Solid::OpticalDrive::MediumType*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_Solid__OpticalDrive(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Solid__OpticalDrive::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Solid__OpticalDrive(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__OpticalDrive *xself = (x_Solid__OpticalDrive*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__OpticalDrive::x_3(args);	break;
        case 4: x_Solid__OpticalDrive::x_4(args);	break;
        case 5: x_Solid__OpticalDrive::x_5(args);	break;
        case 6: x_Solid__OpticalDrive::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__OpticalDrive::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: x_Solid__OpticalDrive::x_17(args);	break;
        case 18: x_Solid__OpticalDrive::x_18(args);	break;
        case 19: x_Solid__OpticalDrive::x_19(args);	break;
        case 20: x_Solid__OpticalDrive::x_20(args);	break;
        case 21: x_Solid__OpticalDrive::x_21(args);	break;
        case 22: x_Solid__OpticalDrive::x_22(args);	break;
        case 23: x_Solid__OpticalDrive::x_23(args);	break;
        case 24: x_Solid__OpticalDrive::x_24(args);	break;
        case 25: x_Solid__OpticalDrive::x_25(args);	break;
        case 26: x_Solid__OpticalDrive::x_26(args);	break;
        case 27: x_Solid__OpticalDrive::x_27(args);	break;
        case 28: x_Solid__OpticalDrive::x_28(args);	break;
        case 29: x_Solid__OpticalDrive::x_29(args);	break;
        case 30: x_Solid__OpticalDrive::x_30(args);	break;
        case 31: x_Solid__OpticalDrive::x_31(args);	break;
        case 32: x_Solid__OpticalDrive::x_32(args);	break;
        case 33: x_Solid__OpticalDrive::x_33(args);	break;
        case 34: x_Solid__OpticalDrive::x_34(args);	break;
        case 35: x_Solid__OpticalDrive::x_35(args);	break;
        case 36: delete (Solid::OpticalDrive*)xself;	break;
    }
}
class x_Solid__PortableMediaPlayer : public Solid::PortableMediaPlayer, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__PortableMediaPlayer*)this)->Solid::PortableMediaPlayer::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::PortableMediaPlayer::qt_metacast((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = Solid::PortableMediaPlayer::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = Solid::PortableMediaPlayer::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = Solid::PortableMediaPlayer::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = Solid::PortableMediaPlayer::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        int xret = this->Solid::PortableMediaPlayer::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
        x[0].s_int = xret;
    }
    static void x_8(Smoke::Stack x) {
        // static Solid::DeviceInterface::Type deviceInterfaceType()
        Solid::DeviceInterface::Type xret = Solid::PortableMediaPlayer::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // QStringList supportedProtocols() const
        QStringList xret = ((const x_Solid__PortableMediaPlayer*)this)->Solid::PortableMediaPlayer::supportedProtocols();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // QStringList supportedDrivers(QString) const
        QStringList xret = ((const x_Solid__PortableMediaPlayer*)this)->Solid::PortableMediaPlayer::supportedDrivers(*(QString*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // QVariant driverHandle(const QString&) const
        QVariant xret = ((const x_Solid__PortableMediaPlayer*)this)->Solid::PortableMediaPlayer::driverHandle(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Solid::PortableMediaPlayer::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Solid::PortableMediaPlayer::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // QStringList supportedDrivers() const
        QStringList xret = ((const x_Solid__PortableMediaPlayer*)this)->Solid::PortableMediaPlayer::supportedDrivers((QString)QString());
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Solid::PortableMediaPlayer::staticMetaObject;
    }
};
void xcall_Solid__PortableMediaPlayer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__PortableMediaPlayer *xself = (x_Solid__PortableMediaPlayer*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__PortableMediaPlayer::x_3(args);	break;
        case 4: x_Solid__PortableMediaPlayer::x_4(args);	break;
        case 5: x_Solid__PortableMediaPlayer::x_5(args);	break;
        case 6: x_Solid__PortableMediaPlayer::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__PortableMediaPlayer::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_Solid__PortableMediaPlayer::x_12(args);	break;
        case 13: x_Solid__PortableMediaPlayer::x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: x_Solid__PortableMediaPlayer::x_15(args);	break;
        case 16: delete (Solid::PortableMediaPlayer*)xself;	break;
    }
}

}
