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

#include <smoke.h>
#include <phonon_smoke.h>

class __internal_SmokeClass {};

namespace __smokephonon {

class x_Phonon__MediaObject : public Phonon::MediaObject, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Phonon::MediaObject*>(this))) {
            const QMetaObject* xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Phonon__MediaObject*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Phonon::MediaObject*>(this))) {
            void* xret = this->Phonon::MediaObject::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->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 = Phonon::MediaObject::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 = Phonon::MediaObject::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 = Phonon::MediaObject::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 = Phonon::MediaObject::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**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Phonon::MediaObject*>(this))) {
            int xret = this->Phonon::MediaObject::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->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) {
        // Phonon::MediaObject* MediaObject(QObject*)
        x_Phonon__MediaObject* xret = new x_Phonon__MediaObject((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaObject(QObject* x1) : MediaObject(x1) {}
    void x_9(Smoke::Stack x) {
        // Phonon::State state() const
        Phonon::State xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::state();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool hasVideo() const
        bool xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::hasVideo();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool isSeekable() const
        bool xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::isSeekable();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // int tickInterval() const
        int xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::tickInterval();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // QStringList metaData(const QString&) const
        QStringList xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::metaData(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_14(Smoke::Stack x) {
        // QStringList metaData(Phonon::MetaData) const
        QStringList xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::metaData((Phonon::MetaData)x[1].s_enum);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_15(Smoke::Stack x) {
        // QMultiMap<QString,QString> metaData() const
        QMultiMap<QString,QString> xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::metaData();
        x[0].s_class = (void*)new QMultiMap<QString,QString>(xret);
    }
    void x_16(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // Phonon::ErrorType errorType() const
        Phonon::ErrorType xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::errorType();
        x[0].s_enum = xret;
    }
    void x_18(Smoke::Stack x) {
        // Phonon::MediaSource currentSource() const
        Phonon::MediaSource xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::currentSource();
        x[0].s_class = (void*)new Phonon::MediaSource(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setCurrentSource(const Phonon::MediaSource&)
        this->Phonon::MediaObject::setCurrentSource(*(const Phonon::MediaSource*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QList<Phonon::MediaSource> queue() const
        QList<Phonon::MediaSource> xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::queue();
        x[0].s_class = (void*)new QList<Phonon::MediaSource>(xret);
    }
    void x_21(Smoke::Stack x) {
        // void setQueue(const QList<Phonon::MediaSource>&)
        this->Phonon::MediaObject::setQueue(*(const QList<Phonon::MediaSource>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void setQueue(const QList<QUrl>&)
        this->Phonon::MediaObject::setQueue(*(const QList<QUrl>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void enqueue(const Phonon::MediaSource&)
        this->Phonon::MediaObject::enqueue(*(const Phonon::MediaSource*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void enqueue(const QList<Phonon::MediaSource>&)
        this->Phonon::MediaObject::enqueue(*(const QList<Phonon::MediaSource>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void enqueue(const QList<QUrl>&)
        this->Phonon::MediaObject::enqueue(*(const QList<QUrl>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void clearQueue()
        this->Phonon::MediaObject::clearQueue();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // long long currentTime() const
        long long xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::currentTime();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_28(Smoke::Stack x) {
        // long long totalTime() const
        long long xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::totalTime();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_29(Smoke::Stack x) {
        // long long remainingTime() const
        long long xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::remainingTime();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_30(Smoke::Stack x) {
        // int prefinishMark() const
        int xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::prefinishMark();
        x[0].s_int = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setPrefinishMark(int)
        this->Phonon::MediaObject::setPrefinishMark((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // int transitionTime() const
        int xret = ((const x_Phonon__MediaObject*)this)->Phonon::MediaObject::transitionTime();
        x[0].s_int = xret;
    }
    void x_33(Smoke::Stack x) {
        // void setTransitionTime(int)
        this->Phonon::MediaObject::setTransitionTime((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void setTickInterval(qint32)
        this->Phonon::MediaObject::setTickInterval((qint32)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void play()
        this->Phonon::MediaObject::play();
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void pause()
        this->Phonon::MediaObject::pause();
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // void stop()
        this->Phonon::MediaObject::stop();
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void seek(qint64)
        this->Phonon::MediaObject::seek(*(qint64*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void clear()
        this->Phonon::MediaObject::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // void stateChanged(Phonon::State, Phonon::State)
        this->Phonon::MediaObject::stateChanged((Phonon::State)x[1].s_enum,(Phonon::State)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void tick(qint64)
        this->Phonon::MediaObject::tick(*(qint64*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void metaDataChanged()
        this->Phonon::MediaObject::metaDataChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // void seekableChanged(bool)
        this->Phonon::MediaObject::seekableChanged((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // void hasVideoChanged(bool)
        this->Phonon::MediaObject::hasVideoChanged((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void bufferStatus(int)
        this->Phonon::MediaObject::bufferStatus((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // void finished()
        this->Phonon::MediaObject::finished();
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // void currentSourceChanged(const Phonon::MediaSource&)
        this->Phonon::MediaObject::currentSourceChanged(*(const Phonon::MediaSource*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void aboutToFinish()
        this->Phonon::MediaObject::aboutToFinish();
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void prefinishMarkReached(qint32)
        this->Phonon::MediaObject::prefinishMarkReached((qint32)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void totalTimeChanged(qint64)
        this->Phonon::MediaObject::totalTimeChanged(*(qint64*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_51(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Phonon::MediaObject::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_52(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Phonon::MediaObject::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_53(Smoke::Stack x) {
        // Phonon::MediaObject* MediaObject()
        x_Phonon__MediaObject* xret = new x_Phonon__MediaObject((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_54(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Phonon::MediaObject::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(276, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Phonon::MediaObject::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(277, (void*)this, x)) return (void*)x[0].s_class;
        return this->Phonon::MediaObject::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(282, (void*)this, x)) return (int)x[0].s_int;
        return this->Phonon::MediaObject::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(599, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(600, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(601, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(602, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(603, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(604, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(605, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Phonon__MediaObject() { this->_binding->deleted(19, (void*)this); }
};
void xcall_Phonon__MediaObject(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Phonon__MediaObject *xself = (x_Phonon__MediaObject*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Phonon__MediaObject::x_3(args);	break;
        case 4: x_Phonon__MediaObject::x_4(args);	break;
        case 5: x_Phonon__MediaObject::x_5(args);	break;
        case 6: x_Phonon__MediaObject::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Phonon__MediaObject::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: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: x_Phonon__MediaObject::x_51(args);	break;
        case 52: x_Phonon__MediaObject::x_52(args);	break;
        case 53: x_Phonon__MediaObject::x_53(args);	break;
        case 54: x_Phonon__MediaObject::x_54(args);	break;
        case 55: delete (Phonon::MediaObject*)xself;	break;
    }
}
class x_Phonon__MediaSource : public Phonon::MediaSource {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource()
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource();
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource() : MediaSource() {}
    static void x_2(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const QString&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const QString& x1) : MediaSource(x1) {}
    static void x_3(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const QUrl&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const QUrl*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const QUrl& x1) : MediaSource(x1) {}
    static void x_4(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::DiscType, const QString&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::DiscType)x[1].s_enum,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(Phonon::DiscType x1, const QString& x2) : MediaSource(x1, x2) {}
    static void x_5(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType>&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType>*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType>& x1) : MediaSource(x1) {}
    static void x_6(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType>&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType>*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType>& x1) : MediaSource(x1) {}
    static void x_7(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::Capture::DeviceType, Phonon::CaptureCategory)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::Capture::DeviceType)x[1].s_enum,(Phonon::CaptureCategory)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(Phonon::Capture::DeviceType x1, Phonon::CaptureCategory x2) : MediaSource(x1, x2) {}
    static void x_8(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::CaptureCategory)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::CaptureCategory)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(Phonon::CaptureCategory x1) : MediaSource(x1) {}
    static void x_9(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::AbstractMediaStream*)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::AbstractMediaStream*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(Phonon::AbstractMediaStream* x1) : MediaSource(x1) {}
    static void x_10(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(QIODevice*)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(QIODevice* x1) : MediaSource(x1) {}
    static void x_11(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const Phonon::MediaSource&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const Phonon::MediaSource*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const Phonon::MediaSource& x1) : MediaSource(x1) {}
    void x_12(Smoke::Stack x) {
        // Phonon::MediaSource& operator=(const Phonon::MediaSource&)
        Phonon::MediaSource& xret = this->Phonon::MediaSource::operator=(*(const Phonon::MediaSource*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_13(Smoke::Stack x) {
        // bool operator==(const Phonon::MediaSource&) const
        bool xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::operator==(*(const Phonon::MediaSource*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setAutoDelete(bool)
        this->Phonon::MediaSource::setAutoDelete((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // bool autoDelete() const
        bool xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::autoDelete();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // Phonon::MediaSource::Type type() const
        Phonon::MediaSource::Type xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::type();
        x[0].s_enum = xret;
    }
    void x_17(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // Phonon::Mrl mrl() const
        Phonon::Mrl xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::mrl();
        x[0].s_class = (void*)new Phonon::Mrl(xret);
    }
    void x_19(Smoke::Stack x) {
        // QUrl url() const
        QUrl xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::url();
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_20(Smoke::Stack x) {
        // Phonon::DiscType discType() const
        Phonon::DiscType xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::discType();
        x[0].s_enum = xret;
    }
    void x_21(Smoke::Stack x) {
        // const QList<QPair<QByteArray,QString> >& deviceAccessList() const
        const QList<QPair<QByteArray,QString> >& xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::deviceAccessList();
        x[0].s_class = (void*)&xret;
    }
    void x_22(Smoke::Stack x) {
        // const QList<QPair<QByteArray,QString> >& videoDeviceAccessList() const
        const QList<QPair<QByteArray,QString> >& xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::videoDeviceAccessList();
        x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
        // const QList<QPair<QByteArray,QString> >& audioDeviceAccessList() const
        const QList<QPair<QByteArray,QString> >& xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::audioDeviceAccessList();
        x[0].s_class = (void*)&xret;
    }
    void x_24(Smoke::Stack x) {
        // QString deviceName() const
        QString xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::deviceName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // Phonon::AbstractMediaStream* stream() const
        Phonon::AbstractMediaStream* xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::stream();
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType> audioCaptureDevice() const
        Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType> xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::audioCaptureDevice();
        x[0].s_class = (void*)new Phonon::ObjectDescription<Phonon::AudioCaptureDeviceType>(xret);
    }
    void x_27(Smoke::Stack x) {
        // Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType> videoCaptureDevice() const
        Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType> xret = ((const x_Phonon__MediaSource*)this)->Phonon::MediaSource::videoCaptureDevice();
        x[0].s_class = (void*)new Phonon::ObjectDescription<Phonon::VideoCaptureDeviceType>(xret);
    }
    static void x_28(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::MediaSourcePrivate&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(Phonon::MediaSourcePrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(Phonon::MediaSourcePrivate& x1) : MediaSource(x1) {}
    static void x_29(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(const QPair<QByteArray,QString>&)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource(*(const QPair<QByteArray,QString>*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__MediaSource(const QPair<QByteArray,QString>& x1) : MediaSource(x1) {}
    static void x_30(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::DiscType)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::DiscType)x[1].s_enum,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // Phonon::MediaSource* MediaSource(Phonon::Capture::DeviceType)
        x_Phonon__MediaSource* xret = new x_Phonon__MediaSource((Phonon::Capture::DeviceType)x[1].s_enum,(Phonon::CaptureCategory)Phonon::NoCaptureCategory);
        x[0].s_class = (void*)xret;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::Invalid;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::LocalFile;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::Url;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::Disc;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::Stream;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::CaptureDevice;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::Empty;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)Phonon::MediaSource::AudioVideoCapture;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 39: //Phonon::MediaSource::Type
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Phonon::MediaSource::Type;
                    break;
                case Smoke::EnumDelete:
                    delete (Phonon::MediaSource::Type*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Phonon::MediaSource::Type*)xdata = (Phonon::MediaSource::Type)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Phonon::MediaSource::Type*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Phonon__MediaSource() { this->_binding->deleted(20, (void*)this); }
};
void xenum_Phonon__MediaSource(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Phonon__MediaSource::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Phonon__MediaSource(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Phonon__MediaSource *xself = (x_Phonon__MediaSource*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Phonon__MediaSource::x_1(args);	break;
        case 2: x_Phonon__MediaSource::x_2(args);	break;
        case 3: x_Phonon__MediaSource::x_3(args);	break;
        case 4: x_Phonon__MediaSource::x_4(args);	break;
        case 5: x_Phonon__MediaSource::x_5(args);	break;
        case 6: x_Phonon__MediaSource::x_6(args);	break;
        case 7: x_Phonon__MediaSource::x_7(args);	break;
        case 8: x_Phonon__MediaSource::x_8(args);	break;
        case 9: x_Phonon__MediaSource::x_9(args);	break;
        case 10: x_Phonon__MediaSource::x_10(args);	break;
        case 11: x_Phonon__MediaSource::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: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: x_Phonon__MediaSource::x_28(args);	break;
        case 29: x_Phonon__MediaSource::x_29(args);	break;
        case 30: x_Phonon__MediaSource::x_30(args);	break;
        case 31: x_Phonon__MediaSource::x_31(args);	break;
        case 32: x_Phonon__MediaSource::x_32(args);	break;
        case 33: x_Phonon__MediaSource::x_33(args);	break;
        case 34: x_Phonon__MediaSource::x_34(args);	break;
        case 35: x_Phonon__MediaSource::x_35(args);	break;
        case 36: x_Phonon__MediaSource::x_36(args);	break;
        case 37: x_Phonon__MediaSource::x_37(args);	break;
        case 38: x_Phonon__MediaSource::x_38(args);	break;
        case 39: x_Phonon__MediaSource::x_39(args);	break;
        case 40: delete (Phonon::MediaSource*)xself;	break;
    }
}

}
