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

#include <smoke.h>
#include <khtml_smoke.h>

class __internal_SmokeClass {};

namespace __smokekhtml {

class x_DOM__CSSImportRule : public DOM::CSSImportRule {
    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) {
        // DOM::CSSImportRule* CSSImportRule()
        x_DOM__CSSImportRule* xret = new x_DOM__CSSImportRule();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSImportRule() : CSSImportRule() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSImportRule* CSSImportRule(const DOM::CSSImportRule&)
        x_DOM__CSSImportRule* xret = new x_DOM__CSSImportRule(*(const DOM::CSSImportRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSImportRule(const DOM::CSSImportRule& x1) : CSSImportRule(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::CSSImportRule* CSSImportRule(const DOM::CSSRule&)
        x_DOM__CSSImportRule* xret = new x_DOM__CSSImportRule(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSImportRule(const DOM::CSSRule& x1) : CSSImportRule(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::CSSImportRule& operator=(const DOM::CSSImportRule&)
        DOM::CSSImportRule& xret = this->DOM::CSSImportRule::operator=(*(const DOM::CSSImportRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::CSSImportRule& operator=(const DOM::CSSRule&)
        DOM::CSSImportRule& xret = this->DOM::CSSImportRule::operator=(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString href() const
        DOM::DOMString xret = ((const x_DOM__CSSImportRule*)this)->DOM::CSSImportRule::href();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // DOM::MediaList media() const
        DOM::MediaList xret = ((const x_DOM__CSSImportRule*)this)->DOM::CSSImportRule::media();
        x[0].s_class = (void*)new DOM::MediaList(xret);
    }
    void x_8(Smoke::Stack x) {
        // DOM::CSSStyleSheet styleSheet() const
        DOM::CSSStyleSheet xret = ((const x_DOM__CSSImportRule*)this)->DOM::CSSImportRule::styleSheet();
        x[0].s_class = (void*)new DOM::CSSStyleSheet(xret);
    }
    ~x_DOM__CSSImportRule() { this->_binding->deleted(8, (void*)this); }
};
void xcall_DOM__CSSImportRule(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSImportRule *xself = (x_DOM__CSSImportRule*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSImportRule::x_1(args);	break;
        case 2: x_DOM__CSSImportRule::x_2(args);	break;
        case 3: x_DOM__CSSImportRule::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: xself->x_8(args);	break;
        case 9: delete (DOM::CSSImportRule*)xself;	break;
    }
}
class x_DOM__CSSMediaRule : public DOM::CSSMediaRule {
    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) {
        // DOM::CSSMediaRule* CSSMediaRule()
        x_DOM__CSSMediaRule* xret = new x_DOM__CSSMediaRule();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSMediaRule() : CSSMediaRule() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSMediaRule* CSSMediaRule(const DOM::CSSMediaRule&)
        x_DOM__CSSMediaRule* xret = new x_DOM__CSSMediaRule(*(const DOM::CSSMediaRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSMediaRule(const DOM::CSSMediaRule& x1) : CSSMediaRule(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::CSSMediaRule* CSSMediaRule(const DOM::CSSRule&)
        x_DOM__CSSMediaRule* xret = new x_DOM__CSSMediaRule(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSMediaRule(const DOM::CSSRule& x1) : CSSMediaRule(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::CSSMediaRule& operator=(const DOM::CSSMediaRule&)
        DOM::CSSMediaRule& xret = this->DOM::CSSMediaRule::operator=(*(const DOM::CSSMediaRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::CSSMediaRule& operator=(const DOM::CSSRule&)
        DOM::CSSMediaRule& xret = this->DOM::CSSMediaRule::operator=(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::MediaList media() const
        DOM::MediaList xret = ((const x_DOM__CSSMediaRule*)this)->DOM::CSSMediaRule::media();
        x[0].s_class = (void*)new DOM::MediaList(xret);
    }
    void x_7(Smoke::Stack x) {
        // DOM::CSSRuleList cssRules() const
        DOM::CSSRuleList xret = ((const x_DOM__CSSMediaRule*)this)->DOM::CSSMediaRule::cssRules();
        x[0].s_class = (void*)new DOM::CSSRuleList(xret);
    }
    void x_8(Smoke::Stack x) {
        // unsigned long insertRule(const DOM::DOMString&, unsigned long)
        unsigned long xret = this->DOM::CSSMediaRule::insertRule(*(const DOM::DOMString*)x[1].s_class,(unsigned long)x[2].s_ulong);
        x[0].s_ulong = xret;
    }
    void x_9(Smoke::Stack x) {
        // void deleteRule(unsigned long)
        this->DOM::CSSMediaRule::deleteRule((unsigned long)x[1].s_ulong);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__CSSMediaRule() { this->_binding->deleted(9, (void*)this); }
};
void xcall_DOM__CSSMediaRule(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSMediaRule *xself = (x_DOM__CSSMediaRule*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSMediaRule::x_1(args);	break;
        case 2: x_DOM__CSSMediaRule::x_2(args);	break;
        case 3: x_DOM__CSSMediaRule::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: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: delete (DOM::CSSMediaRule*)xself;	break;
    }
}
class x_DOM__CSSPageRule : public DOM::CSSPageRule {
    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) {
        // DOM::CSSPageRule* CSSPageRule()
        x_DOM__CSSPageRule* xret = new x_DOM__CSSPageRule();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPageRule() : CSSPageRule() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSPageRule* CSSPageRule(const DOM::CSSPageRule&)
        x_DOM__CSSPageRule* xret = new x_DOM__CSSPageRule(*(const DOM::CSSPageRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPageRule(const DOM::CSSPageRule& x1) : CSSPageRule(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::CSSPageRule* CSSPageRule(const DOM::CSSRule&)
        x_DOM__CSSPageRule* xret = new x_DOM__CSSPageRule(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPageRule(const DOM::CSSRule& x1) : CSSPageRule(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::CSSPageRule& operator=(const DOM::CSSPageRule&)
        DOM::CSSPageRule& xret = this->DOM::CSSPageRule::operator=(*(const DOM::CSSPageRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::CSSPageRule& operator=(const DOM::CSSRule&)
        DOM::CSSPageRule& xret = this->DOM::CSSPageRule::operator=(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString selectorText() const
        DOM::DOMString xret = ((const x_DOM__CSSPageRule*)this)->DOM::CSSPageRule::selectorText();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setSelectorText(const DOM::DOMString&)
        this->DOM::CSSPageRule::setSelectorText(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::CSSStyleDeclaration style() const
        DOM::CSSStyleDeclaration xret = ((const x_DOM__CSSPageRule*)this)->DOM::CSSPageRule::style();
        x[0].s_class = (void*)new DOM::CSSStyleDeclaration(xret);
    }
    ~x_DOM__CSSPageRule() { this->_binding->deleted(10, (void*)this); }
};
void xcall_DOM__CSSPageRule(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSPageRule *xself = (x_DOM__CSSPageRule*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSPageRule::x_1(args);	break;
        case 2: x_DOM__CSSPageRule::x_2(args);	break;
        case 3: x_DOM__CSSPageRule::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: xself->x_8(args);	break;
        case 9: delete (DOM::CSSPageRule*)xself;	break;
    }
}
class x_DOM__CSSPrimitiveValue : public DOM::CSSPrimitiveValue {
    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) {
        // DOM::CSSPrimitiveValue* CSSPrimitiveValue()
        x_DOM__CSSPrimitiveValue* xret = new x_DOM__CSSPrimitiveValue();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPrimitiveValue() : CSSPrimitiveValue() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSPrimitiveValue* CSSPrimitiveValue(const DOM::CSSPrimitiveValue&)
        x_DOM__CSSPrimitiveValue* xret = new x_DOM__CSSPrimitiveValue(*(const DOM::CSSPrimitiveValue*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPrimitiveValue(const DOM::CSSPrimitiveValue& x1) : CSSPrimitiveValue(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::CSSPrimitiveValue* CSSPrimitiveValue(const DOM::CSSValue&)
        x_DOM__CSSPrimitiveValue* xret = new x_DOM__CSSPrimitiveValue(*(const DOM::CSSValue*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSPrimitiveValue(const DOM::CSSValue& x1) : CSSPrimitiveValue(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::CSSPrimitiveValue& operator=(const DOM::CSSPrimitiveValue&)
        DOM::CSSPrimitiveValue& xret = this->DOM::CSSPrimitiveValue::operator=(*(const DOM::CSSPrimitiveValue*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::CSSPrimitiveValue& operator=(const DOM::CSSValue&)
        DOM::CSSPrimitiveValue& xret = this->DOM::CSSPrimitiveValue::operator=(*(const DOM::CSSValue*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // unsigned short primitiveType() const
        unsigned short xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::primitiveType();
        x[0].s_ushort = xret;
    }
    void x_7(Smoke::Stack x) {
        // void setFloatValue(unsigned short, float)
        this->DOM::CSSPrimitiveValue::setFloatValue((unsigned short)x[1].s_ushort,(float)x[2].s_float);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // float getFloatValue(unsigned short) const
        float xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::getFloatValue((unsigned short)x[1].s_ushort);
        x[0].s_float = xret;
    }
    void x_9(Smoke::Stack x) {
        // void setStringValue(unsigned short, const DOM::DOMString&)
        this->DOM::CSSPrimitiveValue::setStringValue((unsigned short)x[1].s_ushort,*(const DOM::DOMString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // DOM::DOMString getStringValue() const
        DOM::DOMString xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::getStringValue();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_11(Smoke::Stack x) {
        // DOM::Counter getCounterValue() const
        DOM::Counter xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::getCounterValue();
        x[0].s_class = (void*)new DOM::Counter(xret);
    }
    void x_12(Smoke::Stack x) {
        // DOM::Rect getRectValue() const
        DOM::Rect xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::getRectValue();
        x[0].s_class = (void*)new DOM::Rect(xret);
    }
    void x_13(Smoke::Stack x) {
        // DOM::RGBColor getRGBColorValue() const
        DOM::RGBColor xret = ((const x_DOM__CSSPrimitiveValue*)this)->DOM::CSSPrimitiveValue::getRGBColorValue();
        x[0].s_class = (void*)new DOM::RGBColor(xret);
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_UNKNOWN;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_NUMBER;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_PERCENTAGE;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_EMS;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_EXS;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_PX;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_CM;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_MM;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_IN;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_PT;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_PC;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_DEG;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_RAD;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_GRAD;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_MS;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_S;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_HZ;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_KHZ;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_DIMENSION;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_STRING;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_URI;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_IDENT;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_ATTR;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_COUNTER;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_RECT;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_RGBCOLOR;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_DPI;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_DPCM;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_PAIR;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSPrimitiveValue::CSS_HTML_RELATIVE;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 26: //DOM::CSSPrimitiveValue::UnitTypes
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new DOM::CSSPrimitiveValue::UnitTypes;
                    break;
                case Smoke::EnumDelete:
                    delete (DOM::CSSPrimitiveValue::UnitTypes*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(DOM::CSSPrimitiveValue::UnitTypes*)xdata = (DOM::CSSPrimitiveValue::UnitTypes)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(DOM::CSSPrimitiveValue::UnitTypes*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_DOM__CSSPrimitiveValue() { this->_binding->deleted(11, (void*)this); }
};
void xenum_DOM__CSSPrimitiveValue(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_DOM__CSSPrimitiveValue::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_DOM__CSSPrimitiveValue(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSPrimitiveValue *xself = (x_DOM__CSSPrimitiveValue*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSPrimitiveValue::x_1(args);	break;
        case 2: x_DOM__CSSPrimitiveValue::x_2(args);	break;
        case 3: x_DOM__CSSPrimitiveValue::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: xself->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: x_DOM__CSSPrimitiveValue::x_14(args);	break;
        case 15: x_DOM__CSSPrimitiveValue::x_15(args);	break;
        case 16: x_DOM__CSSPrimitiveValue::x_16(args);	break;
        case 17: x_DOM__CSSPrimitiveValue::x_17(args);	break;
        case 18: x_DOM__CSSPrimitiveValue::x_18(args);	break;
        case 19: x_DOM__CSSPrimitiveValue::x_19(args);	break;
        case 20: x_DOM__CSSPrimitiveValue::x_20(args);	break;
        case 21: x_DOM__CSSPrimitiveValue::x_21(args);	break;
        case 22: x_DOM__CSSPrimitiveValue::x_22(args);	break;
        case 23: x_DOM__CSSPrimitiveValue::x_23(args);	break;
        case 24: x_DOM__CSSPrimitiveValue::x_24(args);	break;
        case 25: x_DOM__CSSPrimitiveValue::x_25(args);	break;
        case 26: x_DOM__CSSPrimitiveValue::x_26(args);	break;
        case 27: x_DOM__CSSPrimitiveValue::x_27(args);	break;
        case 28: x_DOM__CSSPrimitiveValue::x_28(args);	break;
        case 29: x_DOM__CSSPrimitiveValue::x_29(args);	break;
        case 30: x_DOM__CSSPrimitiveValue::x_30(args);	break;
        case 31: x_DOM__CSSPrimitiveValue::x_31(args);	break;
        case 32: x_DOM__CSSPrimitiveValue::x_32(args);	break;
        case 33: x_DOM__CSSPrimitiveValue::x_33(args);	break;
        case 34: x_DOM__CSSPrimitiveValue::x_34(args);	break;
        case 35: x_DOM__CSSPrimitiveValue::x_35(args);	break;
        case 36: x_DOM__CSSPrimitiveValue::x_36(args);	break;
        case 37: x_DOM__CSSPrimitiveValue::x_37(args);	break;
        case 38: x_DOM__CSSPrimitiveValue::x_38(args);	break;
        case 39: x_DOM__CSSPrimitiveValue::x_39(args);	break;
        case 40: x_DOM__CSSPrimitiveValue::x_40(args);	break;
        case 41: x_DOM__CSSPrimitiveValue::x_41(args);	break;
        case 42: x_DOM__CSSPrimitiveValue::x_42(args);	break;
        case 43: x_DOM__CSSPrimitiveValue::x_43(args);	break;
        case 44: delete (DOM::CSSPrimitiveValue*)xself;	break;
    }
}
class x_DOM__CSSRule : public DOM::CSSRule {
    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) {
        // DOM::CSSRule* CSSRule()
        x_DOM__CSSRule* xret = new x_DOM__CSSRule();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSRule() : CSSRule() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSRule* CSSRule(const DOM::CSSRule&)
        x_DOM__CSSRule* xret = new x_DOM__CSSRule(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSRule(const DOM::CSSRule& x1) : CSSRule(x1) {}
    void x_3(Smoke::Stack x) {
        // DOM::CSSRule& operator=(const DOM::CSSRule&)
        DOM::CSSRule& xret = this->DOM::CSSRule::operator=(*(const DOM::CSSRule*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // unsigned short type() const
        unsigned short xret = ((const x_DOM__CSSRule*)this)->DOM::CSSRule::type();
        x[0].s_ushort = xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::DOMString cssText() const
        DOM::DOMString xret = ((const x_DOM__CSSRule*)this)->DOM::CSSRule::cssText();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_6(Smoke::Stack x) {
        // void setCssText(const DOM::DOMString&)
        this->DOM::CSSRule::setCssText(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // DOM::CSSStyleSheet parentStyleSheet() const
        DOM::CSSStyleSheet xret = ((const x_DOM__CSSRule*)this)->DOM::CSSRule::parentStyleSheet();
        x[0].s_class = (void*)new DOM::CSSStyleSheet(xret);
    }
    void x_8(Smoke::Stack x) {
        // DOM::CSSRule parentRule() const
        DOM::CSSRule xret = ((const x_DOM__CSSRule*)this)->DOM::CSSRule::parentRule();
        x[0].s_class = (void*)new DOM::CSSRule(xret);
    }
    void x_9(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_DOM__CSSRule*)this)->DOM::CSSRule::isNull();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void assignOther(const DOM::CSSRule&, DOM::CSSRule::RuleType)
        this->DOM::CSSRule::assignOther(*(const DOM::CSSRule*)x[1].s_class,(DOM::CSSRule::RuleType)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::UNKNOWN_RULE;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::STYLE_RULE;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::CHARSET_RULE;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::IMPORT_RULE;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::MEDIA_RULE;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::FONT_FACE_RULE;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::PAGE_RULE;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::NAMESPACE_RULE;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::CSSRule::QUIRKS_RULE;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 30: //DOM::CSSRule::RuleType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new DOM::CSSRule::RuleType;
                    break;
                case Smoke::EnumDelete:
                    delete (DOM::CSSRule::RuleType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(DOM::CSSRule::RuleType*)xdata = (DOM::CSSRule::RuleType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(DOM::CSSRule::RuleType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_DOM__CSSRule() { this->_binding->deleted(12, (void*)this); }
};
void xenum_DOM__CSSRule(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_DOM__CSSRule::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_DOM__CSSRule(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSRule *xself = (x_DOM__CSSRule*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSRule::x_1(args);	break;
        case 2: x_DOM__CSSRule::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: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_DOM__CSSRule::x_11(args);	break;
        case 12: x_DOM__CSSRule::x_12(args);	break;
        case 13: x_DOM__CSSRule::x_13(args);	break;
        case 14: x_DOM__CSSRule::x_14(args);	break;
        case 15: x_DOM__CSSRule::x_15(args);	break;
        case 16: x_DOM__CSSRule::x_16(args);	break;
        case 17: x_DOM__CSSRule::x_17(args);	break;
        case 18: x_DOM__CSSRule::x_18(args);	break;
        case 19: x_DOM__CSSRule::x_19(args);	break;
        case 20: delete (DOM::CSSRule*)xself;	break;
    }
}
class x_DOM__CSSRuleList : public DOM::CSSRuleList {
    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) {
        // DOM::CSSRuleList* CSSRuleList()
        x_DOM__CSSRuleList* xret = new x_DOM__CSSRuleList();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSRuleList() : CSSRuleList() {}
    static void x_2(Smoke::Stack x) {
        // DOM::CSSRuleList* CSSRuleList(const DOM::CSSRuleList&)
        x_DOM__CSSRuleList* xret = new x_DOM__CSSRuleList(*(const DOM::CSSRuleList*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__CSSRuleList(const DOM::CSSRuleList& x1) : CSSRuleList(x1) {}
    void x_3(Smoke::Stack x) {
        // DOM::CSSRuleList& operator=(const DOM::CSSRuleList&)
        DOM::CSSRuleList& xret = this->DOM::CSSRuleList::operator=(*(const DOM::CSSRuleList*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // unsigned long length() const
        unsigned long xret = ((const x_DOM__CSSRuleList*)this)->DOM::CSSRuleList::length();
        x[0].s_ulong = xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::CSSRule item(unsigned long)
        DOM::CSSRule xret = this->DOM::CSSRuleList::item((unsigned long)x[1].s_ulong);
        x[0].s_class = (void*)new DOM::CSSRule(xret);
    }
    void x_6(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_DOM__CSSRuleList*)this)->DOM::CSSRuleList::isNull();
        x[0].s_bool = xret;
    }
    ~x_DOM__CSSRuleList() { this->_binding->deleted(13, (void*)this); }
};
void xcall_DOM__CSSRuleList(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__CSSRuleList *xself = (x_DOM__CSSRuleList*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__CSSRuleList::x_1(args);	break;
        case 2: x_DOM__CSSRuleList::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: delete (DOM::CSSRuleList*)xself;	break;
    }
}

}
