func init // adds using namespace sys.add_use('System.Diagnostics') // initialize instance params = this.props('Constructor').value if(params == 'None') sys.add_var(this.name, 'EventLog') else if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("Log") elseif(params == 'Constructor3') params = '' + d("Log") + ', ' + d("MachineName") elseif(params == 'Constructor4') params = '' + d("Log") + ', ' + d("MachineName") + ', ' + d("Source") end sys.add_object(this.codename, 'EventLog', params) // initialize properties sys.set_typed_field(2, 'Log') sys.set_typed_field(2, 'MachineName') sys.set_typed_field(2, 'Source') // initialize event sys.event_add('onEntryWritten', 'EntryWrittenEventHandler') end // makes implementation methods for properties sys._prop_init('EnableRaisingEvents', 1, 0, 104) sys._prop_init('Entries', 1, 0, 0) sys._prop_init('Log', 0, 1, 2) sys._prop_init('LogDisplayName', 1, 0, 2) sys._prop_init('MachineName', 0, 1, 2) sys._prop_init('MaximumKilobytes', 1, 1, 105) sys._prop_init('MinimumRetentionDays', 1, 0, 1) sys._prop_init('OverflowAction', 1, 0, 0) sys._prop_init('Source', 0, 1, 2) sys._prop_init('SynchronizingObject', 1, 1, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('EventLog') // initialize events sys.event_imp('onEntryWritten', '', 'args.Entry', '', 'Object sender, EntryWrittenEventArgs args') // initialize common events and properties include("Component-init") end func doConstructor() blk.println(this.codename, ' = new EventLog();') this.make_props() end func doConstructor2(data) blk.println(this.codename, ' = new EventLog(', d("Log"), ');') this.make_props() end func doConstructor3(data) blk.println(this.codename, ' = new EventLog(', d("Log"), ', ', d("MachineName"), ');') this.make_props() end func doConstructor4(data) blk.println(this.codename, ' = new EventLog(', d("Log"), ', ', d("MachineName"), ', ', d("Source"), ');') this.make_props() end func GetEventLogs return('EventLog.GetEventLogs()') end func make_props() sys.set_typed_field(2, 'Log', '', '', blk) sys.set_typed_field(2, 'MachineName', '', '', blk) sys.set_typed_field(2, 'Source', '', '', blk) sys.event_add('onEntryWritten', 'EntryWrittenEventHandler', '', '', '', blk) end