func init // adds using namespace sys.add_use('System.IO') // initialize instance if(linked("FileStream")) this.setfield('fs', d("FileStream")) elseif(isdef("FileStream")) error(this.name + ' - property FileStream does not defined') else this.setfield('fs', sys.get_undef_manager("FileStream")) end if(linked("doRead")) sys.add_var('buf', 'byte[]') if(linked("Result")) sys.add_var(this.name, 1) end end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end end func doPosition(data) blk.println(this.fs, '.Position = ', d("pos"), ';') end func doFlush2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.Flush(', d("flushToDisk"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doLock(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.Lock(', d("pos"), ', ', sys.get_typed_field(data, 'NumBytes', 105), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doRead(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.buf, ' = new byte[', d("Count"),']', ';') if(linked("Result")) blk.println(this.codename, ' = ', this.make_read(data), ';') event("onRead", this.buf) else blk.println(this.make_read(data), ';') event("onRead", this.buf) end if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doSeek(data) linked("onError") ? blk.println('try {').inc() : '' if(linked("onSeek")) event("onSeek", this.fs + '.Seek(' + d("pos") + ', ' + (linked("origin") ? d("origin") : 'SeekOrigin.' + this.props("Origin").value) + ')') else blk.println(this.fs, '.Seek(', d("pos"), ', ', linked("origin") ? d("origin") : 'SeekOrigin.' + this.props("Origin").value, ');') end if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doSetAccessControl(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.SetAccessControl(', linked("security") ? d("security") : sys.get_undef_manager("Security"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doSetLength(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.SetLength(', sys.get_typed_field(data, 'NumBytes', 105), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doUnlock(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.Unlock(', d("pos"), ', ', sys.get_typed_field(data, 'NumBytes', 105), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doWrite(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.Write(', d("array"), ', ', d("offset"), ', ', d("count"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doWriteByte(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.fs, '.WriteByte(', d("value"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doFlush() blk.println(this.fs, '.Flush();') end func Length return(this.fs + '.Length') end func Position return(this.fs + '.Position') end func ReadByte() return(this.fs + '.ReadByte()') end func Result return(this.codename) end func make_read(data) return(this.fs + '.Read(' + this.buf + ', ' + d("Offset") + ', ' + d("Count") + ')') end