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

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

class __internal_SmokeClass {};

namespace __smokephonon {

class x_Phonon__Mrl : public Phonon::Mrl {
    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::Mrl* Mrl()
        x_Phonon__Mrl* xret = new x_Phonon__Mrl();
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__Mrl() : Mrl() {}
    static void x_2(Smoke::Stack x) {
        // Phonon::Mrl* Mrl(const Phonon::Mrl&)
        x_Phonon__Mrl* xret = new x_Phonon__Mrl(*(const Phonon::Mrl*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__Mrl(const Phonon::Mrl& x1) : Mrl(x1) {}
    static void x_3(Smoke::Stack x) {
        // Phonon::Mrl* Mrl(const QUrl&)
        x_Phonon__Mrl* xret = new x_Phonon__Mrl(*(const QUrl*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__Mrl(const QUrl& x1) : Mrl(x1) {}
    static void x_4(Smoke::Stack x) {
        // Phonon::Mrl* Mrl(const QString&)
        x_Phonon__Mrl* xret = new x_Phonon__Mrl(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__Mrl(const QString& x1) : Mrl(x1) {}
    void x_5(Smoke::Stack x) {
        // Phonon::Mrl& operator=(const Phonon::Mrl&)
        Phonon::Mrl& xret = this->Phonon::Mrl::operator=(*(const Phonon::Mrl*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // Phonon::Mrl& operator=(const QString&)
        Phonon::Mrl& xret = this->Phonon::Mrl::operator=(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // QByteArray toEncoded(QFlags<QUrl::FormattingOption>) const
        QByteArray xret = ((const x_Phonon__Mrl*)this)->Phonon::Mrl::toEncoded((QFlags<QUrl::FormattingOption>)x[1].s_uint);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_8(Smoke::Stack x) {
        // QByteArray toEncoded() const
        QByteArray xret = ((const x_Phonon__Mrl*)this)->Phonon::Mrl::toEncoded((QFlags<QUrl::FormattingOption>)None);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    ~x_Phonon__Mrl() { this->_binding->deleted(22, (void*)this); }
};
void xcall_Phonon__Mrl(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Phonon__Mrl *xself = (x_Phonon__Mrl*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Phonon__Mrl::x_1(args);	break;
        case 2: x_Phonon__Mrl::x_2(args);	break;
        case 3: x_Phonon__Mrl::x_3(args);	break;
        case 4: x_Phonon__Mrl::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: delete (Phonon::Mrl*)xself;	break;
    }
}
class x_Phonon__ObjectDescriptionData : public Phonon::ObjectDescriptionData {
    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) {
        // bool operator==(const Phonon::ObjectDescriptionData&) const
        bool xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::operator==(*(const Phonon::ObjectDescriptionData*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_2(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_3(Smoke::Stack x) {
        // QString description() const
        QString xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::description();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // QVariant property(const char*) const
        QVariant xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::property((const char*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_5(Smoke::Stack x) {
        // QList<QByteArray> propertyNames() const
        QList<QByteArray> xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::propertyNames();
        x[0].s_class = (void*)new QList<QByteArray>(xret);
    }
    void x_6(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::isValid();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // int index() const
        int xret = ((const x_Phonon__ObjectDescriptionData*)this)->Phonon::ObjectDescriptionData::index();
        x[0].s_int = xret;
    }
    static void x_8(Smoke::Stack x) {
        // static Phonon::ObjectDescriptionData* fromIndex(Phonon::ObjectDescriptionType, int)
        Phonon::ObjectDescriptionData* xret = Phonon::ObjectDescriptionData::fromIndex((Phonon::ObjectDescriptionType)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    static void x_9(Smoke::Stack x) {
        // Phonon::ObjectDescriptionData* ObjectDescriptionData(Phonon::ObjectDescriptionPrivate*)
        x_Phonon__ObjectDescriptionData* xret = new x_Phonon__ObjectDescriptionData((Phonon::ObjectDescriptionPrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__ObjectDescriptionData(Phonon::ObjectDescriptionPrivate* x1) : ObjectDescriptionData(x1) {}
    static void x_10(Smoke::Stack x) {
        // Phonon::ObjectDescriptionData* ObjectDescriptionData(int, const QHash<QByteArray,QVariant>&)
        x_Phonon__ObjectDescriptionData* xret = new x_Phonon__ObjectDescriptionData((int)x[1].s_int,*(const QHash<QByteArray,QVariant>*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__ObjectDescriptionData(int x1, const QHash<QByteArray,QVariant>& x2) : ObjectDescriptionData(x1, x2) {}
    static void x_11(Smoke::Stack x) {
        // Phonon::ObjectDescriptionData* ObjectDescriptionData(const Phonon::ObjectDescriptionData&)
        x_Phonon__ObjectDescriptionData* xret = new x_Phonon__ObjectDescriptionData(*(const Phonon::ObjectDescriptionData*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Phonon__ObjectDescriptionData(const Phonon::ObjectDescriptionData& x1) : ObjectDescriptionData(x1) {}
    static void x_12(Smoke::Stack x) {
        // Phonon::ObjectDescriptionData* ObjectDescriptionData()
        x_Phonon__ObjectDescriptionData* xret = new x_Phonon__ObjectDescriptionData((Phonon::ObjectDescriptionPrivate*)0);
        x[0].s_class = (void*)xret;
    }
    ~x_Phonon__ObjectDescriptionData() { this->_binding->deleted(23, (void*)this); }
};
void xcall_Phonon__ObjectDescriptionData(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Phonon__ObjectDescriptionData *xself = (x_Phonon__ObjectDescriptionData*)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: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Phonon__ObjectDescriptionData::x_8(args);	break;
        case 9: x_Phonon__ObjectDescriptionData::x_9(args);	break;
        case 10: x_Phonon__ObjectDescriptionData::x_10(args);	break;
        case 11: x_Phonon__ObjectDescriptionData::x_11(args);	break;
        case 12: x_Phonon__ObjectDescriptionData::x_12(args);	break;
        case 13: delete (Phonon::ObjectDescriptionData*)xself;	break;
    }
}

}
