func init // adds using namespace sys.add_use('System.Data.Odbc') // initialize instance params = this.props('Constructor').value if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("ConnectionStr") end sys.add_object(this.codename, 'OdbcConnection', params) // initialize properties sys.set_undef_field('ConnectionString', 'ConnectionStr') sys.set_undef_field('ConnectionTimeout') // makes implementation methods for properties sys._prop_init('ConnectionString', 1, 0, 2) sys._prop_init('ConnectionTimeout', 1, 1, 1) sys._prop_init('Database', 1, 0, 2) sys._prop_init('DataSource', 1, 0, 2) sys._prop_init('Driver', 1, 0, 2) sys._prop_init('ServerVersion', 1, 0, 2) sys._prop_init('State', 1, 0, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('OdbcConnection') sys._mtd_as_prop_init('BeginTransaction()') sys._mtd_as_prop_init('CreateCommand()') sys._mtd_as_prop_init('GetSchema()') // makes implementation of simple methods sys._method_init('Close') sys._method_init('Open') sys._method_init('ReleaseObjectPool') // initialize events sys.add_event_type('onInfoMessage', 'InfoMessage', 'OdbcInfoMessageEvent', 'args') // initialize common events and properties include("DbConnection-init") include("Component-init") include("MarshalByRefObject-init") include("Object-init") end func doConstructor() blk.println(this.codename, ' = new OdbcConnection();') end func doConstructor2(ConnectionStr) blk.println(this.codename, ' = new OdbcConnection(', d("ConnectionStr"), ');') end func doConnectionStr(ConnectionStr) blk.println(this.codename, '.ConnectionString = ', d("ConnectionStr"), ';') end func doBeginTransaction2(isolevel) if(linked("onBeginTransaction")) event("onBeginTransaction", this.codename + '.BeginTransaction(' + d("isolevel") + ')') else blk.println(this.codename, '.BeginTransaction(', d("isolevel"), ');') end end func doChangeDatabase(databaseName) blk.println(this.codename, '.ChangeDatabase(', d("databaseName"), ');') end func doEnlistDistributedTransaction(transaction) blk.println(this.codename, '.EnlistDistributedTransaction(', d("transaction"), ');') end func doEnlistTransaction(transaction) blk.println(this.codename, '.EnlistTransaction(', d("transaction"), ');') end func doGetSchema2(collectionName) if(linked("onGetSchema")) event("onGetSchema", this.codename + '.GetSchema(' + d("collectionName") + ')') else blk.println(this.codename, '.GetSchema(', d("collectionName"), ');') end end func doGetSchema3(collectionName, restrictionValues) if(linked("onGetSchema")) event("onGetSchema", this.codename + '.GetSchema(' + d("collectionName") + ', ' + d("restrictionValues") + ')') else blk.println(this.codename, '.GetSchema(', d("collectionName"), ', ', d("restrictionValues"), ');') end end include("DbConnection")