#include #include #include #include #ifndef QT_ONLY #include #include #endif #include #include #include #include #include #include #include "qfile_imp.h" /** * Namespace containing the KJSEmbed library. */ namespace KJSEmbed { TQFileImp::TQFileImp( KJS::ExecState *exec, int mid, bool constructor ) : JSProxyImp(exec), id(mid), cons(constructor) { } TQFileImp::~TQFileImp() { } void TQFileImp::addBindings( KJS::ExecState *exec, KJS::Object &object ) { JSProxy::MethodTable methods[] = { { Method_name_4, "name" }, { Method_setName_5, "setName" }, { Method_exists_6, "exists" }, { Method_remove_7, "remove" }, { Method_open_8, "open" }, { Method_open_9, "open" }, { Method_open_10, "open" }, { Method_close_11, "close" }, { Method_flush_12, "flush" }, { Method_size_13, "size" }, { Method_at_14, "at" }, { Method_at_15, "at" }, { Method_atEnd_16, "atEnd" }, { Method_readBlock_17, "readBlock" }, { Method_writeBlock_18, "writeBlock" }, { Method_writeBlock_19, "writeBlock" }, { Method_readLine_20, "readLine" }, { Method_readLine_21, "readLine" }, { Method_getch_22, "getch" }, { Method_putch_23, "putch" }, { Method_ungetch_24, "ungetch" }, { Method_handle_25, "handle" }, { Method_errorString_26, "errorString" }, { Method_encodeName_27, "encodeName" }, { Method_decodeName_28, "decodeName" }, { Method_setEncodingFunction_29, "setEncodingFunction" }, { Method_setDecodingFunction_30, "setDecodingFunction" }, { Method_exists_31, "exists" }, { Method_remove_32, "remove" }, { 0, 0 } }; int idx = 0; TQCString lastName; do { if ( lastName != methods[idx].name ) { TQFileImp *meth = new TQFileImp( exec, methods[idx].id ); object.put( exec , methods[idx].name, KJS::Object(meth) ); lastName = methods[idx].name; } ++idx; } while( methods[idx].id ); } TQFile *TQFileImp::toTQFile( KJS::Object &self ) { JSObjectProxy *ob = JSProxy::toObjectProxy( self.imp() ); if ( ob ) { TQObject *obj = ob->object(); if ( obj ) return dynamic_cast( obj ); } JSOpaqueProxy *op = JSProxy::toOpaqueProxy( self.imp() ); if ( !op ) return 0; if ( op->typeName() != "TQFile" ) return 0; return op->toNative(); } KJS::Object TQFileImp::construct( KJS::ExecState *exec, const KJS::List &args ) { switch( id ) { case Constructor_QFile_1: return TQFile_1( exec, args ); break; case Constructor_QFile_2: return TQFile_2( exec, args ); break; default: break; } TQString msg = i18n("TQFileCons has no constructor with id '%1'.").arg(id); return throwError(exec, msg,KJS::ReferenceError); } KJS::Object TQFileImp::TQFile_1( KJS::ExecState *exec, const KJS::List &args ) { return KJS::Object(); } KJS::Object TQFileImp::TQFile_2( KJS::ExecState *exec, const KJS::List &args ) { // TODO TQWidget *arg0 = 0L; return KJS::Object(); } KJS::Value TQFileImp::call( KJS::ExecState *exec, KJS::Object &self, const KJS::List &args ) { instance = TQFileImp::toTQFile( self ); switch( id ) { case Method_name_4: return name_4( exec, self, args ); break; case Method_setName_5: return setName_5( exec, self, args ); break; case Method_exists_6: return exists_6( exec, self, args ); break; case Method_remove_7: return remove_7( exec, self, args ); break; case Method_open_8: return open_8( exec, self, args ); break; case Method_open_9: return open_9( exec, self, args ); break; case Method_open_10: return open_10( exec, self, args ); break; case Method_close_11: return close_11( exec, self, args ); break; case Method_flush_12: return flush_12( exec, self, args ); break; case Method_size_13: return size_13( exec, self, args ); break; case Method_at_14: return at_14( exec, self, args ); break; case Method_at_15: return at_15( exec, self, args ); break; case Method_atEnd_16: return atEnd_16( exec, self, args ); break; case Method_readBlock_17: return readBlock_17( exec, self, args ); break; case Method_writeBlock_18: return writeBlock_18( exec, self, args ); break; case Method_writeBlock_19: return writeBlock_19( exec, self, args ); break; case Method_readLine_20: return readLine_20( exec, self, args ); break; case Method_readLine_21: return readLine_21( exec, self, args ); break; case Method_getch_22: return getch_22( exec, self, args ); break; case Method_putch_23: return putch_23( exec, self, args ); break; case Method_ungetch_24: return ungetch_24( exec, self, args ); break; case Method_handle_25: return handle_25( exec, self, args ); break; case Method_errorString_26: return errorString_26( exec, self, args ); break; case Method_encodeName_27: return encodeName_27( exec, self, args ); break; case Method_decodeName_28: return decodeName_28( exec, self, args ); break; case Method_setEncodingFunction_29: return setEncodingFunction_29( exec, self, args ); break; case Method_setDecodingFunction_30: return setDecodingFunction_30( exec, self, args ); break; case Method_exists_31: return exists_31( exec, self, args ); break; case Method_remove_32: return remove_32( exec, self, args ); break; default: break; } TQString msg = i18n( "TQFileImp has no method with id '%1'." ).arg( id ); return throwError(exec, msg, KJS::ReferenceError ); } KJS::Value TQFileImp::name_4( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString ret; ret = instance->name( ); return KJS::String( ret ); } KJS::Value TQFileImp::setName_5( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString arg0 = (args.size() >= 1) ? args[0].toString(exec).qstring() : TQString::null; instance->setName( arg0 ); return KJS::Value(); // Returns void } KJS::Value TQFileImp::exists_6( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { bool ret; ret = instance->exists( ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::remove_7( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { bool ret; ret = instance->remove( ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::open_8( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int arg0 = (args.size() >= 1) ? args[0].toInteger(exec) : -1; bool ret; ret = instance->open( arg0 ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::open_9( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int arg0 = (args.size() >= 1) ? args[0].toInteger(exec) : -1; // Unsupported parameter FILE * return KJS::Value(); FILE * arg1; // Dummy bool ret; ret = instance->open( arg0, arg1 ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::open_10( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int arg0 = (args.size() >= 1) ? args[0].toInteger(exec) : -1; int arg1 = (args.size() >= 2) ? args[1].toInteger(exec) : -1; bool ret; ret = instance->open( arg0, arg1 ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::close_11( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { instance->close( ); return KJS::Value(); // Returns void } KJS::Value TQFileImp::flush_12( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { instance->flush( ); return KJS::Value(); // Returns void } KJS::Value TQFileImp::size_13( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { instance->size( ); return KJS::Value(); // Returns 'Offset' } KJS::Value TQFileImp::at_14( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { instance->at( ); return KJS::Value(); // Returns 'Offset' } KJS::Value TQFileImp::at_15( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQFile::Offset arg0 = 0; // TODO (hack for qfile) bool ret; ret = instance->at( arg0 ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::atEnd_16( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { bool ret; ret = instance->atEnd( ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::readBlock_17( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { // Unsupported parameter char * return KJS::Value(); char * arg0; // Dummy // Unsupported parameter Q_ULONG return KJS::Value(); Q_ULONG arg1; // Dummy instance->readBlock( arg0, arg1 ); return KJS::Value(); // Returns 'Q_LONG' } KJS::Value TQFileImp::writeBlock_18( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { const char *arg0 = (args.size() >= 1) ? args[0].toString(exec).ascii() : 0; // Unsupported parameter Q_ULONG return KJS::Value(); Q_ULONG arg1; // Dummy instance->writeBlock( arg0, arg1 ); return KJS::Value(); // Returns 'Q_LONG' } KJS::Value TQFileImp::writeBlock_19( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQByteArray arg0; // TODO (hack for qfile) instance->writeBlock( arg0 ); return KJS::Value(); // Returns 'Q_LONG' } KJS::Value TQFileImp::readLine_20( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { // Unsupported parameter char * return KJS::Value(); char * arg0; // Dummy // Unsupported parameter Q_ULONG return KJS::Value(); Q_ULONG arg1; // Dummy instance->readLine( arg0, arg1 ); return KJS::Value(); // Returns 'Q_LONG' } KJS::Value TQFileImp::readLine_21( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString arg0 = (args.size() >= 1) ? args[0].toString(exec).qstring() : TQString::null; // Unsupported parameter Q_ULONG return KJS::Value(); Q_ULONG arg1; // Dummy instance->readLine( arg0, arg1 ); return KJS::Value(); // Returns 'Q_LONG' } KJS::Value TQFileImp::getch_22( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int ret; ret = instance->getch( ); return KJS::Number( ret ); } KJS::Value TQFileImp::putch_23( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int arg0 = (args.size() >= 1) ? args[0].toInteger(exec) : -1; int ret; ret = instance->putch( arg0 ); return KJS::Number( ret ); } KJS::Value TQFileImp::ungetch_24( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int arg0 = (args.size() >= 1) ? args[0].toInteger(exec) : -1; int ret; ret = instance->ungetch( arg0 ); return KJS::Number( ret ); } KJS::Value TQFileImp::handle_25( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { int ret; ret = instance->handle( ); return KJS::Number( ret ); } KJS::Value TQFileImp::errorString_26( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString ret; ret = instance->errorString( ); return KJS::String( ret ); } KJS::Value TQFileImp::encodeName_27( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString arg0 = (args.size() >= 1) ? args[0].toString(exec).qstring() : TQString::null; instance->encodeName( arg0 ); return KJS::Value(); // Returns 'TQCString' } KJS::Value TQFileImp::decodeName_28( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { const TQCString arg0 = (args.size() >= 1) ? args[0].toString(exec).ascii() : 0; TQString ret; ret = instance->decodeName( arg0 ); return KJS::String( ret ); } KJS::Value TQFileImp::setEncodingFunction_29( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQFile::EncoderFn arg0 = 0; // TODO (hack for qfile) instance->setEncodingFunction( arg0 ); return KJS::Value(); // Returns void } KJS::Value TQFileImp::setDecodingFunction_30( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQFile::DecoderFn arg0 = 0; // TODO (hack for qfile) instance->setDecodingFunction( arg0 ); return KJS::Value(); // Returns void } KJS::Value TQFileImp::exists_31( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString arg0 = (args.size() >= 1) ? args[0].toString(exec).qstring() : TQString::null; bool ret; ret = instance->exists( arg0 ); return KJS::Boolean( ret ); } KJS::Value TQFileImp::remove_32( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ) { TQString arg0 = (args.size() >= 1) ? args[0].toString(exec).qstring() : TQString::null; bool ret; ret = instance->remove( arg0 ); return KJS::Boolean( ret ); } } // namespace KJSEmbed // Local Variables: // c-basic-offset: 4 // End: