//Auto-generated by kalyptus. DO NOT EDIT.
#include <smoke.h>
#include <qt_smoke.h>
#include <qsql.h>

class x_QSql : public QSql {
public:
    static void x_0(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::None;
    }
    static void x_1(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Insert;
    }
    static void x_2(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Update;
    }
    static void x_3(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Delete;
    }
    static void x_4(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::BeforeFirst;
    }
    static void x_5(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::AfterLast;
    }
    static void x_6(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Cancel;
    }
    static void x_7(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::No;
    }
    static void x_8(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Yes;
    }
    static void x_9(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::In;
    }
    static void x_10(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::Out;
    }
    static void x_11(Smoke::Stack x) {
	x[0].s_enum = (long)QSql::InOut;
    }
    static void x_12(Smoke::Stack x) {
	// QSql()
	x_QSql* xret = new x_QSql();
	x[0].s_class = (void*)xret;
    }
    x_QSql() : QSql() {
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
	switch(xtype) {
	  case 549: //QSql::Location
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QSql::Location;
		break;
	      case Smoke::EnumDelete:
		delete (QSql::Location*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QSql::Location*)xdata = (QSql::Location)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QSql::Location*)xdata;
		break;
	    }
	    break;
	  case 550: //QSql::Op
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QSql::Op;
		break;
	      case Smoke::EnumDelete:
		delete (QSql::Op*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QSql::Op*)xdata = (QSql::Op)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QSql::Op*)xdata;
		break;
	    }
	    break;
	  case 551: //QSql::ParameterType
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QSql::ParameterType;
		break;
	      case Smoke::EnumDelete:
		delete (QSql::ParameterType*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QSql::ParameterType*)xdata = (QSql::ParameterType)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QSql::ParameterType*)xdata;
		break;
	    }
	    break;
	  case 548: //QSql::Confirm
	    switch(xop) {
	      case Smoke::EnumNew:
		xdata = (void*)new QSql::Confirm;
		break;
	      case Smoke::EnumDelete:
		delete (QSql::Confirm*)xdata;
		break;
	      case Smoke::EnumFromLong:
		*(QSql::Confirm*)xdata = (QSql::Confirm)xvalue;
		break;
	      case Smoke::EnumToLong:
		xvalue = (long)*(QSql::Confirm*)xdata;
		break;
	    }
	    break;
	}
    }
    ~x_QSql() { qt_Smoke->binding->deleted(277, (void*)this); }
};
void xenum_QSql(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSql::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSql(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSql *xself = (x_QSql*)obj;
    switch(xi) {
	case 0: x_QSql::x_0(args);	break;
	case 1: x_QSql::x_1(args);	break;
	case 2: x_QSql::x_2(args);	break;
	case 3: x_QSql::x_3(args);	break;
	case 4: x_QSql::x_4(args);	break;
	case 5: x_QSql::x_5(args);	break;
	case 6: x_QSql::x_6(args);	break;
	case 7: x_QSql::x_7(args);	break;
	case 8: x_QSql::x_8(args);	break;
	case 9: x_QSql::x_9(args);	break;
	case 10: x_QSql::x_10(args);	break;
	case 11: x_QSql::x_11(args);	break;
	case 12: x_QSql::x_12(args);	break;
	case 13: delete (QSql*)xself;	break;
    }
}
