../www/inc/db/db_mysql.php \
../www/inc/db/db_scheme.php \
../www/inc/db/db.php \
+../www/inc/db/autoload.php \
../www/inc/wob/wt_cart_ticket.php \
../www/inc/wob/wt_users.php \
../www/inc/wob/wt_cart.php \
../www/inc/wob/wt_room.php \
../www/inc/wob/wt_moneylog.php \
../www/inc/wob/wt_customer.php \
+../www/inc/wob/wtr_Login.php \
../www/inc/wob/wo_CartVoucher.php \
../www/inc/wob/wt_webuser.php \
../www/inc/wob/wt_shipping.php \
../www/inc/wob/autoload.php \
../www/inc/wob/wt_session.php \
../www/inc/wob/wo_Order.php \
+../www/inc/wob/transaction.php \
../www/inc/wob/wt_template.php \
../www/inc/wob/wt_userhosts.php \
../www/inc/wob/wo_User.php \
../www/inc/wob/wo_Ticket.php \
../www/inc/wob/wo_CartTicket.php \
../www/inc/wob/wt_cart_voucher.php \
+../www/inc/wob/wtr_GetMyRoles.php \
+../www/inc/wob/wtr_GetTicket.php \
+../www/inc/wob/wtr_ServerInfo.php \
../www/inc/wob/wt_config.php \
../www/inc/wob/schema.php \
../www/inc/wob/wt_ticket.php \
../www/inc/wbase/exception.php \
../www/inc/wbase/object.php \
../www/inc/wbase/autoload.php \
+../www/inc/wbase/transaction.php \
../www/inc/wbase/table.php \
../www/inc/wbase/schema.php \
../www/inc/loader_nonadmin.php \
../www/inc/machine/version.php \
../www/inc/machine/host.php \
../www/inc/machine/cauth_mhash.php \
+../www/inc/machine/autoload.php \
../www/inc/machine/session.php \
../www/inc/machine/template.php \
../www/inc/machine/cauth_string.php \
../www/inc/classes/cart.php \
../www/inc/classes/room.php \
../www/inc/classes/voucher.php \
+../www/inc/classes/autoload.php \
../www/inc/classes/websession.php \
../www/inc/classes/error.php \
../www/test.php \
../www/config.php \
../www/machine.php \
../www/index.php \
-../www/info.php \
+../www/wob.php \
//create interface class
QString pn=WocProcessor::instance()->projectName();
+ m_iface.setFileName(m_basedir+"/"+m_subdir+"/"+m_prefix+"Interface.cpp");
+ if(!m_iface.open(QIODevice::WriteOnly|QIODevice::Truncate)){
+ qDebug("Error: cannot create Qt interface file %s.",m_iface.fileName().toAscii().data());
+ emit errorFound();
+ return;
+ }
+ m_iface.write(QByteArray(SRCSTART).replace('%',m_prefix+"Interface"));
+ m_iface.write(SRCEND);
+ m_iface.close();
m_iface.setFileName(m_basedir+"/"+m_subdir+"/"+m_prefix+"Interface.h");
if(!m_iface.open(QIODevice::WriteOnly|QIODevice::Truncate)){
qDebug("Error: cannot create Qt interface file %s.",m_iface.fileName().toAscii().data());
}
m_iface.write(QByteArray(HDRSTART).replace("%",m_prefix.toAscii()+"INTERFACE_H"));
m_iface.write(QByteArray("#include \""+m_prefix.toAscii()+"Include.h\"\n#include \"WInterface.h\"\n"));
- m_iface.write(QString("class "+m_prefix+"Interface:public WInterface\n{\n").toAscii());
+ m_iface.write(QString("class "+m_prefix+"Interface:public WInterface\n{\n Q_OBJECT\n").toAscii());
m_iface.write(QString(" public:\n "+m_prefix+"Interface(QString name=\""+pn+"\"):WInterface(name){}\n").toAscii());
- m_iface.write(QString(" static "+pn+"Interface*instance(QString name=\""+pn+"\"){qobject_cast<"+m_prefix+"Interface*>(WInterface::instance(name));}\n").toAscii());
+ m_iface.write(QString(" static "+m_prefix+"Interface*instance(QString name=\""+pn+"\")\n\t{return qobject_cast<"+m_prefix+"Interface*>(WInterface::instance(name));}\n\n").toAscii());
//create all includer
m_hdr.setFileName(m_basedir+"/"+m_subdir+"/"+m_prefix+"Include.h");
return;
}
m_hdr.write(QByteArray(HDRSTART).replace("%",m_prefix.toAscii()+"INCLUDE_H"));
- m_hdr.write(QByteArray("#include \""+m_prefix.toAscii()+"Interface.h\"\n"));
-
+ addFile(m_prefix.toAscii()+"Interface");
}
WocQtClientOut::~WocQtClientOut(){}
inlist+="const "+qttype(trn,in[i],In)+"&a"+in[i];
clist+="a"+in[i];
}
- if(inlist!="")inlist+=",";
- inlist+="QString iface";
- if(clist!="")clist+=",";
- clist+="iface";
for(int i=0;i<out.size();i++)
hcd+="\t"+qttype(trn,out[i],Out)+"out_"+out[i]+";\n";
hdr.write(hcd.toAscii());
+
+ //interface code
+ QString sif=" "+cn+" query"+trn.name()+"("+inlist+")\n\t";
+ sif+="{return "+cn+"::query("+clist+(clist!=""?",":"")+"name());}\n";
+ sif+=" "+cn+" queryWeb"+trn.name()+"("+inlist+")\n\t";
+ sif+="{return "+cn+"::queryWeb("+clist+(clist!=""?",":"")+"name());}\n\n";
+ m_iface.write(sif.toAscii());
//create constructor
+ if(inlist!="")inlist+=",";
+ inlist+="QString iface";
+ if(clist!="")clist+=",";
+ clist+="iface";
QString defparm="=\""+WocProcessor::instance()->projectName()+"\"";
hcd="\t"+cn+"("+inlist+defparm+");\n";
scd+=cn+"::"+cn+"("+inlist+")\n\t:WTransaction(iface)\n{\n";
scd+="\tin_"+in[i]+"=a"+in[i]+";\n";
}
scd+="}\n\n";
- hcd+="\t"+cn+"(const "+cn+"&);\n";
scd+=cn+"::"+cn+"(const "+cn+"&t)\n\t:WTransaction(t)\n{\n";
for(int i=0;i<in.size();i++){
scd+="\tin_"+in[i]+"=t.in_"+in[i]+";\n";
src.write(scd.toAscii());
- //create queries
+ //create copy constructor
hcd=" public:\n";
+ hcd+="\t"+cn+"(const "+cn+"&);\n";
+ //create queries
scd="";
//TODO: query should optimize between local & web
hcd+="\tstatic "+cn+" query("+inlist+defparm+"){return queryWeb("+clist+");}\n";
hdr.write(QByteArray("\n};\n"));
hdr.write(QByteArray(HDREND).replace("%",cn.toAscii()));
src.write(QByteArray(SRCEND).replace("%",cn.toAscii()));
-
- //TODO:interface
}
QString WocQtClientOut::qttype(const WocTransaction&trn,QString v,InOut io)