func init // adds using namespace sys.add_use('System.ServiceProcess') sys.reference_add('System.ServiceProcess') // initialize instance if(linked("ServiceController")) this.setfield('sc', d("ServiceController")) elseif(isdef("ServiceController")) error(this.name + ' - property ServiceController does not defined') else this.setfield('sc', sys.get_undef_manager("ServiceController")) end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end end func doClose() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Close();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doContinue() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Continue();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doPause() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Pause();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doRefresh() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Refresh();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doStart() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Start();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doStop() linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Stop();') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doExecuteCommand(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.ExecuteCommand(', d("Command"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doStart2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.Start(', d("args"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doWaitForStatus(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.WaitForStatus(', d("desiredStatus"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doWaitForStatus2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.sc, '.WaitForStatus(', d("desiredStatus"), ', ', d("timeout"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func CanPauseAndContinue return(this.sc + '.CanPauseAndContinue') end func CanShutdown return(this.sc + '.CanShutdown') end func CanStop return(this.sc + '.CanStop') end func DependentServices return(this.sc + '.DependentServices') end func DisplayName return(this.sc + '.DisplayName') end func MachineName return(this.sc + '.MachineName') end func ServiceHandle return(this.sc + '.ServiceHandle') end func ServiceName return(this.sc + '.ServiceName') end func ServicesDependedOn return(this.sc + '.ServicesDependedOn') end func ServiceType return(this.sc + '.ServiceType') end func Status return(this.sc + '.Status') end