//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__Button : public Solid::Button, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__Button*)this)->Solid::Button::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::Button::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::Button::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::Button::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::Button::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::Button::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::Button::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::Button::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // Solid::Button::ButtonType type() const
        Solid::Button::ButtonType xret = ((const x_Solid__Button*)this)->Solid::Button::type();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool hasState() const
        bool xret = ((const x_Solid__Button*)this)->Solid::Button::hasState();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool stateValue() const
        bool xret = ((const x_Solid__Button*)this)->Solid::Button::stateValue();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void pressed(Solid::Button::ButtonType, const QString&)
        this->Solid::Button::pressed((Solid::Button::ButtonType)x[1].s_enum,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Solid::Button::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Solid::Button::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Solid::Button::staticMetaObject;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Button::LidButton;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Button::PowerButton;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Button::SleepButton;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Button::UnknownButtonType;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Button::TabletButton;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 99: //Solid::Button::ButtonType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Solid::Button::ButtonType;
                    break;
                case Smoke::EnumDelete:
                    delete (Solid::Button::ButtonType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Solid::Button::ButtonType*)xdata = (Solid::Button::ButtonType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Solid::Button::ButtonType*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_Solid__Button(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Solid__Button::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Solid__Button(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__Button *xself = (x_Solid__Button*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__Button::x_3(args);	break;
        case 4: x_Solid__Button::x_4(args);	break;
        case 5: x_Solid__Button::x_5(args);	break;
        case 6: x_Solid__Button::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__Button::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: x_Solid__Button::x_13(args);	break;
        case 14: x_Solid__Button::x_14(args);	break;
        case 15: x_Solid__Button::x_15(args);	break;
        case 16: x_Solid__Button::x_16(args);	break;
        case 17: x_Solid__Button::x_17(args);	break;
        case 18: x_Solid__Button::x_18(args);	break;
        case 19: x_Solid__Button::x_19(args);	break;
        case 20: x_Solid__Button::x_20(args);	break;
        case 21: delete (Solid::Button*)xself;	break;
    }
}
class x_Solid__Camera : public Solid::Camera, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__Camera*)this)->Solid::Camera::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::Camera::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::Camera::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::Camera::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::Camera::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::Camera::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::Camera::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::Camera::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // QStringList supportedProtocols() const
        QStringList xret = ((const x_Solid__Camera*)this)->Solid::Camera::supportedProtocols();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // QStringList supportedDrivers(QString) const
        QStringList xret = ((const x_Solid__Camera*)this)->Solid::Camera::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__Camera*)this)->Solid::Camera::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::Camera::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::Camera::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__Camera*)this)->Solid::Camera::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::Camera::staticMetaObject;
    }
};
void xcall_Solid__Camera(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__Camera *xself = (x_Solid__Camera*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__Camera::x_3(args);	break;
        case 4: x_Solid__Camera::x_4(args);	break;
        case 5: x_Solid__Camera::x_5(args);	break;
        case 6: x_Solid__Camera::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__Camera::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__Camera::x_12(args);	break;
        case 13: x_Solid__Camera::x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: x_Solid__Camera::x_15(args);	break;
        case 16: delete (Solid::Camera*)xself;	break;
    }
}

}
