func init // adds using namespace sys.add_use('System.Threading') // initialize instance params = this.props('Constructor').value if(params == 'None') sys.add_var(this.name, 'Mutex') else if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("Owned") elseif(params == 'Constructor3') params = '' + d("Owned") + ', ' + d("Name") elseif(params == 'Constructor4') params = '' + d("Owned") + ', ' + d("Name") + ', out ' + d("createdNew") elseif(params == 'Constructor5') params = '' + d("Owned") + ', ' + d("Name") + ', out ' + d("createdNew") + ', ' + d("mutexSecurity") end sys.add_object(this.codename, 'Mutex', params) end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end // makes implementation of methods as properties sys._mtd_as_prop_init('GetAccessControl()') sys._mtd_as_prop_init('Mutex') // makes implementation of simple methods sys._method_init('ReleaseMutex') // initialize common events and properties include("WaitHandle-init") end func doConstructor() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = new Mutex();') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doConstructor2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = new Mutex(', d("Owned"), ');') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doConstructor3(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = new Mutex(', d("Owned"), ', ', d("Name"), ');') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doConstructor4(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = new Mutex(', d("Owned"), ', ', d("Name"), ', out ', d("createdNew"), ');') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doConstructor5(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = new Mutex(', d("Owned"), ', ', d("Name"), ', out ', d("createdNew"), ', ', d("mutexSecurity"), ');') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doOpenExisting(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = Mutex.OpenExisting(', d("Name"), ');') event("onMutex", this.codename) if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doOpenExisting2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = Mutex.OpenExisting(', d("Name"), ', ', d("rights"), ');') event("onMutex", this.codename) 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.codename, '.SetAccessControl(', d("mutexSecurity"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doWaitOne() if(linked("onWaitOne")) event("onWaitOne", this.codename + '.WaitOne()') else blk.println(this.codename, '.WaitOne();') end end include("WaitHandle")