//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__Battery : public Solid::Battery, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__Battery*)this)->Solid::Battery::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::Battery::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::Battery::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::Battery::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::Battery::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::Battery::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::Battery::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::Battery::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool isPlugged() const
        bool xret = ((const x_Solid__Battery*)this)->Solid::Battery::isPlugged();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isPowerSupply() const
        bool xret = ((const x_Solid__Battery*)this)->Solid::Battery::isPowerSupply();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // Solid::Battery::BatteryType type() const
        Solid::Battery::BatteryType xret = ((const x_Solid__Battery*)this)->Solid::Battery::type();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // int chargePercent() const
        int xret = ((const x_Solid__Battery*)this)->Solid::Battery::chargePercent();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // int capacity() const
        int xret = ((const x_Solid__Battery*)this)->Solid::Battery::capacity();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool isRechargeable() const
        bool xret = ((const x_Solid__Battery*)this)->Solid::Battery::isRechargeable();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // Solid::Battery::ChargeState chargeState() const
        Solid::Battery::ChargeState xret = ((const x_Solid__Battery*)this)->Solid::Battery::chargeState();
        x[0].s_enum = xret;
    }
    void x_16(Smoke::Stack x) {
        // void chargePercentChanged(int, const QString&)
        this->Solid::Battery::chargePercentChanged((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void capacityChanged(int, const QString&)
        this->Solid::Battery::capacityChanged((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void chargeStateChanged(int, const QString&)
        this->Solid::Battery::chargeStateChanged((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void plugStateChanged(bool, const QString&)
        this->Solid::Battery::plugStateChanged((bool)x[1].s_bool,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void powerSupplyStateChanged(bool, const QString&)
        this->Solid::Battery::powerSupplyStateChanged((bool)x[1].s_bool,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_21(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Solid::Battery::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Solid::Battery::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Solid::Battery::staticMetaObject;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::UnknownBattery;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::PdaBattery;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::UpsBattery;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::PrimaryBattery;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::MouseBattery;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::KeyboardBattery;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::KeyboardMouseBattery;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::CameraBattery;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::PhoneBattery;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::MonitorBattery;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::NoCharge;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::Charging;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Solid::Battery::Discharging;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 97: //Solid::Battery::BatteryType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Solid::Battery::BatteryType;
                    break;
                case Smoke::EnumDelete:
                    delete (Solid::Battery::BatteryType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Solid::Battery::BatteryType*)xdata = (Solid::Battery::BatteryType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Solid::Battery::BatteryType*)xdata;
                    break;
            }
            break;
        case 98: //Solid::Battery::ChargeState
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Solid::Battery::ChargeState;
                    break;
                case Smoke::EnumDelete:
                    delete (Solid::Battery::ChargeState*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Solid::Battery::ChargeState*)xdata = (Solid::Battery::ChargeState)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Solid::Battery::ChargeState*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_Solid__Battery(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Solid__Battery::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Solid__Battery(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__Battery *xself = (x_Solid__Battery*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__Battery::x_3(args);	break;
        case 4: x_Solid__Battery::x_4(args);	break;
        case 5: x_Solid__Battery::x_5(args);	break;
        case 6: x_Solid__Battery::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__Battery::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: x_Solid__Battery::x_21(args);	break;
        case 22: x_Solid__Battery::x_22(args);	break;
        case 23: x_Solid__Battery::x_23(args);	break;
        case 24: x_Solid__Battery::x_24(args);	break;
        case 25: x_Solid__Battery::x_25(args);	break;
        case 26: x_Solid__Battery::x_26(args);	break;
        case 27: x_Solid__Battery::x_27(args);	break;
        case 28: x_Solid__Battery::x_28(args);	break;
        case 29: x_Solid__Battery::x_29(args);	break;
        case 30: x_Solid__Battery::x_30(args);	break;
        case 31: x_Solid__Battery::x_31(args);	break;
        case 32: x_Solid__Battery::x_32(args);	break;
        case 33: x_Solid__Battery::x_33(args);	break;
        case 34: x_Solid__Battery::x_34(args);	break;
        case 35: x_Solid__Battery::x_35(args);	break;
        case 36: x_Solid__Battery::x_36(args);	break;
        case 37: delete (Solid::Battery*)xself;	break;
    }
}
class x_Solid__Block : public Solid::Block, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Solid__Block*)this)->Solid::Block::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Solid::Block::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::Block::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::Block::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::Block::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::Block::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::Block::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::Block::deviceInterfaceType();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // int deviceMajor() const
        int xret = ((const x_Solid__Block*)this)->Solid::Block::deviceMajor();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int deviceMinor() const
        int xret = ((const x_Solid__Block*)this)->Solid::Block::deviceMinor();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // QString device() const
        QString xret = ((const x_Solid__Block*)this)->Solid::Block::device();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Solid::Block::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::Block::trUtf8((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 const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Solid::Block::staticMetaObject;
    }
};
void xcall_Solid__Block(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Solid__Block *xself = (x_Solid__Block*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Solid__Block::x_3(args);	break;
        case 4: x_Solid__Block::x_4(args);	break;
        case 5: x_Solid__Block::x_5(args);	break;
        case 6: x_Solid__Block::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Solid__Block::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__Block::x_12(args);	break;
        case 13: x_Solid__Block::x_13(args);	break;
        case 14: x_Solid__Block::x_14(args);	break;
        case 15: delete (Solid::Block*)xself;	break;
    }
}

}
