func init // adds using namespace sys.add_use('System.ServiceProcess') sys.reference_add('System.ServiceProcess') // initialize instance params = this.props('Constructor').value if(params == 'None') sys.add_var(this.name, 'ServiceController') else if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("ServiceName") elseif(params == 'Constructor3') params = '' + d("ServiceName") + ', ' + d("MachineName") end sys.add_object(this.codename, 'ServiceController', params) // initialize properties sys.set_typed_field(2, 'DisplayName') sys.set_typed_field(2, 'ServiceName') end // makes implementation methods for properties sys._prop_init('CanPauseAndContinue', 1, 0, 104) sys._prop_init('CanShutdown', 1, 0, 104) sys._prop_init('CanStop', 1, 0, 104) sys._prop_init('DependentServices', 1, 0, 0) sys._prop_init('DisplayName', 1, 1, 2) sys._prop_init('MachineName', 0, 1, 2) sys._prop_init('ServiceHandle', 1, 0, 0) sys._prop_init('ServiceName', 0, 1, 2) sys._prop_init('ServicesDependedOn', 1, 0, 0) sys._prop_init('ServiceType', 1, 0, 0) sys._prop_init('Status', 1, 0, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('ServiceController') // makes implementation of simple methods sys._method_init('Close') // initialize common events and properties include("Component-init") end func doConstructor() blk.println(this.codename, ' = new ServiceController();') this.set_props() end func doConstructor2(data) blk.println(this.codename, ' = new ServiceController(', d("ServiceName"), ');') this.set_props() end func doConstructor3(data) blk.println(this.codename, ' = new ServiceController(', d("ServiceName"), ', ', d("MachineName"), ');') this.set_props() end func GetDevices return('ServiceController.GetDevices()') end func doGetDevices2(data) if(linked("onGetDevices")) event("onGetDevices", 'ServiceController.GetDevices(' + d("MachineName") + ')') else blk.println('ServiceController.GetDevices(', d("MachineName"), ');') end end func GetServices return('ServiceController.GetServices()') end func doGetServices2(data) if(linked("onGetServices")) event("onGetServices", 'ServiceController.GetServices(' + d("MachineName") + ')') else blk.println('ServiceController.GetServices(', d("MachineName"), ');') end end func set_props() sys.set_typed_field(2, 'DisplayName', '', '', blk) sys.set_typed_field(2, 'ServiceName', '', '', blk) end