1 2006-03-03 Dick Porter <dick@ximian.com>
3 * Process.cs: Close redirected pipes on errors. Fixes bug 77514.
5 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
7 * ConsoleTraceListener.cs: New 2.0 class
9 2005-11-17 Dick Porter <dick@ximian.com>
11 * Process.cs: Split Start_common into Start_shell and
12 Start_noshell, which call ShellExecuteEx and CreateProcess
13 respectively. Fixes bug 76670.
15 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
17 * Process.cs: deal with the fact that someone can enable raising events
18 and/or registed a Exited delegate before and *after* Start is called for
19 the process. Only queue the exit callback in the threadpool when it's
20 possible and requested. Fixes bug #76129.
22 2005-08-09 Gert Driesen <drieseng@users.sourceforge.net>
24 * EventLog.cs: Fixed Designer attribute to match MS.NET.
25 * ICollectData.cs: Added marshalling attribute to match MS.NET.
26 * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
27 * Process.cs: Fixed Designer attribute to match MS.NET, modified
28 * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
29 * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
30 DesignerSerializationVisibility on StartInfo to match MS.NET, changed
31 Category attribute on Exited event to match MS.NET.
33 2005-06-09 Gert Driesen <drieseng@users.sourceforge.net>
35 * TraceImpl.cs: Adjust internal indentlevel and indentsize before
36 passing on to listeners. Fixes some test failures.
38 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
40 * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
41 runtime uses MONO_TRACE too...
43 2005-05-31 Sebastien Pouliot <sebastien@ximian.com>
45 * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
46 machine names and PerformanceCounterPermissionAccess.
48 2005-02-22 Jonathan Pryor <jonpryor@vt.edu>
50 * TraceImpl.cs: More Thread-safety fixes. I have to lock on
51 Listeners.SyncRoot as we're traversing the collection and can't let the
52 collection change from underneath us while we're iterating over it
53 (alternately, we could clone the collection and iterate over the clone
54 without having locking issues -- assuming we had a lock-free clone --
55 but this would kill the GC). Fixes 69964. Only define lock_ if we're
56 using the lock-free initialization routine; it's not used otherwise.
58 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
60 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration):
61 Use a lock-free algorithm for creating the settings information.
62 * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
63 listeners collection and initializing the world.
65 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
67 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't
68 read the .config file from the static ctor (again), as if it fails we'll
69 get a TypeLoadException -- bad! Instead, lazy-read the .config file.
70 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler):
71 Require that the /switch/add/@value attribute contains only numeric values.
72 * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
73 fails (due to an invalid .confg file) we get a TypeLoadException, while
74 .NET generates a ConfigurationException. Instead, initialize everything
75 the first time the Listeners property is accessed, which allows the static
76 ctor to run without chance of failure, avoiding the TypeLoadException.
77 * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
78 from a static member of TraceImpl (available through the public Debug and
80 * Switch.cs: Leave the original switch value alone. If it isn't valid
81 (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
83 2005-01-17 Jonathan Pryor <jonpryor@vt.edu>
85 * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute
86 isn't optional under .NET 1.1, so make sure it exists.
88 2005-01-13 Jonathan Pryor <jonpryor@vt.edu>
90 * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
91 thread-safe (double-checked locking isn't thread safe on .NET without
92 using a volatile variable, and setting the variable in the static
93 constructor is easier anyway).
94 * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
95 attribute value to the string "0". This is apparently what .NET 1.1 does,
96 and allows the SwitchTest NUnit test to work w/o failures.
98 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
100 * Process.cs: always pass the same arguments to the runtime.
102 2004-09-11 Sebastien Pouliot <sebastien@ximian.com>
104 * EventLogPermission.cs: Completed implementation.
105 * EventLogPermissionAccess.cs: Fixed enum values.
106 * EventLogPermissionEntry.cs: Added validation for machine names.
107 * EventLogPermissionEntryCollection.cs: Added synchronization
108 of entries with the base permission class.
109 * PerformanceCounterPermission.cs: Completed implementation.
110 * PerformanceCounterPermissionAccess.cs: Fixed enum values.
111 * PerformanceCounterPermissionEntry.cs: Added validations for machine
113 * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
114 of entries with the base permission class.
116 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
118 * EventLogPermission.cs: Fixed initialization (TagNames and
119 PermissionAccessType).
120 * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added
121 [Obsolete] to some existing elements.
122 * EventLogPermissionAttribute.cs: Added missing validation to property
123 MachineName. Fixed changes for NET_2_0.
124 * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
125 PermissionAccessType).
126 * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
127 and added [Obsolete] to some existing elements.
128 * PerformanceCounterPermissionAttribute.cs: Added missing validations
129 to properties (Path, MachineName). Fixed changes for NET_2_0.
131 2004-09-07 Dick Porter <dick@ximian.com>
133 * Process.cs: Throw documented exceptions when getting stdin,
134 stdout or stderr and they haven't been redirected. Check that
135 CreatePipe didn't fail, throw exceptions if it did. Close
136 redirected streams when the process is disposed, rather than rely
137 on the GC disposing them later. Makes timeline much happier,
138 because it could run out of file descriptors between GC
141 2004-09-06 Dick Porter <dick@ximian.com>
143 * Process.cs: Make Dispose() actually dispose things.
145 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
147 * Process.cs : quick fix for UseShellExecute=false on windows. See
150 2004-06-17 Lluis Sanchez Gual <lluis@ximian.com>
152 * Process.cs: Added missing check in HasExited property.
154 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
156 * EventLogPermissionAttribute.cs:
157 * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
158 and Inherited to match .NET
160 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
162 * Process.cs: separate the command and the arguments when calling
165 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
167 * Process.cs: redirecting I/O is not permitted if UseShellExecute is
168 true. Also throw if FileName is null.
170 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
172 * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
173 use the constructor that only takes one string as parameter to
174 construct the listener. The name is set using the Name property, not the
177 * TextWriterTraceListener.cs: In Write*, do nothing if no writer was
180 2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
182 * Process.cs: use the ISynchronizeInvoke object to invoke the event.
183 Implemented Close, CloseMainWindow and Kill.
185 2004-03-23 Ben Maurer <bmaurer@users.sourceforge.net>
187 * Switch.cs: Don't throw when there is no switches section.
189 2004-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
191 * Process.cs: support EnableRaisingEvents + Exited event.
193 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
195 * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
196 timeout is int.MaxValue.
198 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
200 * Process.cs: added environment variables setting support and also
201 send useShellExecute to the runtime.
203 * ProcessStartInfo.cs: support EnvironmentVariables. MS uses
204 StringDictionary, which turns keys into lowercase. We don't do that.
206 2004-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
208 * Process.cs: ExitCode and ExitTime check that the process is finished.
210 2003-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
212 * Process.cs: if there's an error when starting the process, the 'pid'
213 field contains the GetLastError code. Use that for the Win32Exception.
215 2003-12-06 Martin Baulig <martin@ximian.com>
217 * DefaultTraceListener: Don't use `where' in variable names.
219 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
221 * ICollectData.cs: Fixed signature
223 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
225 * ICollectData.cs: Added missing attribute
227 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
229 * SRDescriptionAttribute.cs: Moved to System directory
231 2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
233 * EventLog.cs: Implementation handling
234 * EventLogImpl.cs: Added, contains an platform independent empty implementation
237 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
239 * AlphabeticalEnumConverter.cs: Added
240 * EventLogEntry.cs: Implemented
241 * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
242 * EventLogTraceListener.cs: Fixed signature
243 * PerformanceCounter.cs: Added missing attribute
244 * PerformanceCounterType.cs: Added missing attribute
245 * SRDescriptionAttribute.cs: Added and implemented
247 2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
249 * CounterCreationData.cs:
252 * PerformanceCounter.cs:
255 * ProcessStartInfo.cs:
256 * ProcessThread.cs: Reworked attributes based on the new Consts scheme
258 2003-07-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
260 * PerformanceCounterCategory.cs: Fixed signatures
262 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
264 * PerformanceCounter.cs: Implemented or implementation added
266 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
268 * DiagnosticsConfigurationHandler.cs: Removed a never used variable
269 * EventLog.cs: Small update to prevent a warning
270 * EventLogPermission.cs: Implemented or implementation added
271 * EventLogPermissionAttribute.cs: Implemented or implementation added
272 * EventLogPermissionEntry.cs: Implemented or implementation added
273 * EventLogPermissionEntryCollection.cs: Implemented or implementation added
274 * EventLogTraceListener.cs: Implemented or implementation added
275 * PerformanceCounterManager.cs: Implemented or implementation added
276 * PerformanceCounterInstaller.cs: Made internal
277 * PerformanceCounterCategory.cs: Implemented few members
278 * PerformanceCounterPermission.cs: Implemented or implementation added
279 * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
280 * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
281 * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
283 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
285 * EventLog.cs: Removed unneccesary attribute according to corecompare
286 * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
287 * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
288 * ProcessModule.cs: Removed unneccesary attribute according to corecompare
289 * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
290 * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
292 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
294 * InstanceDataCollectionCollection.cs: Corrected wrong signature
295 * EventLog.cs: Missing attributes added, redirected some class members
296 * EventLogEntry.cs: Missing attributes added
297 * EventLogInstaller.cs: Made internal
299 2003-07-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
301 * CounterCreationData.cs: Added missing attributes
302 * CounterSample.cs: Implemented missing rest, fixed signature
303 * CounterSampleCalculator.cs: Added private constructor, redirected function
304 * Process.cs: Added attributes, added event mechanism
305 * ProcessModule.cs: Added missing attributes
306 * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
307 * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
308 * ProcessThread.cs: Added missing attributes, added pseudo constructor
309 * ProcessThreadCollection.cs: Implemented
310 * PerformanceCounterPermission.cs: Fixed typo in class name
311 * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
313 2003-03-19 Dick Porter <dick@ximian.com>
315 * Process.cs: Implement HasExited, fixes bug 39267
317 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
319 * Process.cs: throw an exception when the executable cannot be found.
321 2002-12-20 Jonathan Pryor <jonpryor@vt.edu>
322 * DiagnosticsConfigurationHandler.cs:
323 - Don't assume that optional attributes are always present
324 - <assert/> can't have any child nodes
325 - Change in semantics: if the attribute isn't present,
326 GetAttribute() returns null, not "". This allows us to
327 differentiate between an attribute not being present and an
328 attribute with an empty value.
329 - Translate exceptions if a TraceListener type is invalid
331 2002-12-19 Jonathan Pryor <jonpryor@vt.edu>
332 * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be
333 hardcoded; they should be set to whatever TraceImpl is using (which
334 in turn may have been set by the .config file, so we should get the
335 user-specified values in added listeners).
336 * TraceListener.cs: Make sure that indents are initially written. This
337 allows code that uses Trace.Indent() before a Trace.WriteLine() to be
339 * TraceImpl.cs: provide a static constructor to explicitly specify the
340 ordering of initialization, in particular the ordering of
341 TraceImpl.Listeners and the reading of the .config file (by
342 accessing DiagnosticsConfiguration.Settings). This (hopefully)
343 ensures that the Listeners collection is initialized before the
344 .config file is read in, as the DiagnosticsConfigurationHandler will
345 directly modify the listeners collection.
346 The DiagnosticsConfigurationHandler assumes this so that it can
347 <add/> and <remove/> trace listeners and set the logfile for the
348 DefaultTraceListener.
351 2002-12-18 Jonathan Pryor <jonpryor@vt.edu>
352 * BooleanSwitch.cs: Complete re-write. It works now.
353 * DefaultTraceListener.cs:
354 - Use `const' strings, so I don't worry about copy/paste errors
355 - Give `AssertUiEnabled' an actual backing member
356 * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
357 configuration handler set .config-specified properties on
358 DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
359 (AutoFlush, IndentSize).
360 * Switch.cs: Near complete re-write. Actually works, and is (should be)
361 comformant with .NET behavior. Changed member names because they
362 were confusing me. (Yes, that doesn't say much about my memory.)
363 * TextWriterTraceListener.cs: Append text to already existing files,
364 don't overwrite them.
366 - Added private destructor, to ensure no instances are created.
367 - Move members declarations to be closer to each other.
368 * TraceSwitch.cs: Complete re-write. It works now.
370 2002-12-17 Jonathan Pryor <jonpryor@vt.edu>
371 * DiagnosticsConfigurationHandler.cs: Implement so that .config files
372 support <system.diagnostics> sections.
374 2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
376 * DefaultTraceListener.cs: now OutputDebugStringW is called from an
377 internal call (update your runtime!). No more warnings in linux.
379 2002-10-31 Dick Porter <dick@ximian.com>
381 * Process.cs: MonoIO methods now have an error parameter
383 2002-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
385 * DefaultTraceListener.cs: changed OutputDebugString to
386 OutputDebugStringW (no more warnings under windows). Also a few style
389 2002-10-23 Dick Porter <dick@ximian.com>
391 * Process.cs: Redirected standard input needs to have AutoFlush set
393 2002-09-27 Dick Porter <dick@ximian.com>
395 * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
396 ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
397 Pass the working directory to Start. Pass the program and args in
398 one string to be used with the second arg of CreateProcess, so it
399 will search the path.
401 2002-09-19 Nick Drochak <ndrochak@gol.com>
403 * TraceImpl.cs: Remove debug prints
405 2002-09-19 Nick Drochak <ndrochak@gol.com>
407 * TraceListenerCollection.cs: Set Indet level and size to default
408 values. The values from TraceImpl might have been changed.
410 2002-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
413 * TextWriterTraceListener.cs: IDisposable fixes.
415 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417 * Process.cs: class status based fixes.
419 2002-07-20 Dick Porter <dick@ximian.com>
421 * Process.cs: Implement file handle redirection
423 2002-07-13 Jonathan Pryor <jonpryor@vt.edu>
424 * CounterCreationData.cs: Implemented
425 * CounterCreationDataCollection.cs: Implemented
426 * CounterSample.cs: Stubbed Out
427 * CounterSampleCalculator.cs: Stubbed Out
428 * InstanceData.cs: Implemented
429 * InstanceDataCollection.cs: Implemented
430 * InstanceDataCollectionCollection.cs: Implemented
431 * MonitoringDescriptionAttribute.cs: Implemented
432 * PerformanceCounter.cs: Stubbed Out
433 * PerformanceCounterCategory.cs: Stubbed Out
434 * PerformanceCounterInstaller.cs: Stubbed Out
435 * PerformanceCounterManager.cs: Stubbed Out
436 * PerformanceCounterPermission.cs: Stubbed Out
437 * PerformanceCounterPermissionAccess.cs: Implemented
438 * PerformanceCounterPermissionAttribute.cs: Stubbed Out
439 * PerformanceCounterPermissionEntry.cs: Stubbed Out
440 * PerformanceCounterPermissionEntryCollection.cs: Implemented
441 * PerformanceCounterType.cs: Implemented
444 2002-06-25 Dick Porter <dick@ximian.com>
446 * Process.cs: Process forking and waiting, and some support functions
448 * ProcessStartInfo.cs: Implemented the bits needed for basic
451 * ProcessModule.cs: Implemented
453 * ProcessModuleCollection.cs: Mostly implemented
455 * FileVersionInfo.cs: Implemented
457 2002-06-16 Jonathan Pryor <jonpryor@vt.edu>
458 * ICollectData.cs: Implemented
459 * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
460 corresponding properties on all current TraceListeners.
461 Also, to answer the FIXME message: Yes, the properties in TraceListener
462 need to be [ThreadStatic] as well.
463 * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
464 should have its properties set to the current TraceImpl property values.
465 * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
467 2002-06-09 Jonathan Pryor <jonpryor@vt.edu>
468 * EntryWrittenEventArgs.cs: Implemented
469 * EntryWrittenEventHandler.cs: Implemented
470 * EventLog.cs: Stubbed out
471 * EventLogEntry.cs: Stubbed out
472 * EventLogEntryCOllection.cs: Implemented.
473 * EventLogEntryType.cs: Implemented
474 * EventLogInstaller.cs: Stubbed out
475 * EventLogPermission.cs: Stubbed out
476 * EventLogPermissionAccess.cs: Implemented
477 * EventLogPermissionAttribute.cs: Stubbed out
478 * EventLogPermissionEntry.cs: Stubbed out
479 * EventLogPermissionEntryCollection.cs: Stubbed out
480 * EventLogTraceListener.cs: Stubbed out
482 2002-05-29 Jonathan Pryor <jonpryor@vt.edu>
483 * DefaultTraceListener.cs: Implemented MONO_TRACE support
485 2002-05-27 Jonathan Pryor <jonpryor@vt.edu>
486 * Moved public API documentation for the following files to the
487 /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
489 - DefaultTraceListener.cs
490 - DiagnosticsConfigurationHandler.cs
492 - TextWriterTraceListener.cs
496 - TraceListenerCollection.cs
499 2002-04-10 Jonathan Pryor <jonpryor@vt.edu>
501 * TraceListenerCollection.cs: Corrected indexer property to provide the
502 correct return value and implement the IList indexer property correctly.
504 2002-04-07 Jonathan Pryor <jonpryor@vt.edu>
506 * TraceListener.cs: Fix stack overflow bug
507 * DefaultTraceListener.cs: Implement log file support
509 2002-04-04 Dick Porter <dick@ximian.com>
511 * ThreadWaitReason.cs:
513 * ThreadPriorityLevel.cs:
514 * ProcessWindowStyle.cs:
515 * ProcessThreadCollection.cs
517 * ProcessStartInfo.cs:
518 * ProcessModuleCollection.cs: Stub out more classes needed for Process
520 2002-03-31 Dick Porter <dick@ximian.com>
523 * ProcessPriorityClass.cs:
525 * FileVersionInfo.cs: Stub out classes needed for Process
527 2002-03-08 Jonathan Pryor <jonpryor@vt.edu>
529 * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which
530 is why TraceImpl.cs is introduced), "DEBUG" conditional support
531 * TraceListener.cs: Proper implementation of Dispose pattern;
532 implementatino of non-abstract methods in terms of abstract methods
533 * TraceListenerCollection.cs: check 'object' types before adding
534 * TextWriterTraceListener.cs: properly implement Dispose pattern;
535 handle NeedIndent and WriteIndent
536 * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
538 * DefaultTraceListener.cs: new file; the default trace listener
540 2002-01-17 Miguel de Icaza <miguel@ximian.com>
541 * TraceListenerCollection.cs: Remove Warnings.
543 2002-01-06 Ravi Pratap <ravi@ximian.com>
544 * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
545 with the MonoTODO attribute.
547 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
548 * Added Debug.cs to the build.
550 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
551 * Added preliminary TraceListenerCollection.cs to the build.
553 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
554 * Added TraceListener.cs, TextWriterTraceListener.cs, and
555 DefaultTraceListener.cs to the build and moved them into the
558 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
559 * Added DiagnosticsConfigurationHandler.cs to the build.
561 2001-09-09 Nick Drochak <ndrochak@gol.com>
562 * BooleanSwitch.cs: Make this class use it's parent class's features. Namely, use SwitchSetting
563 so that we can get OnSwitchSettingChanged() to fire for free.
565 2001-09-09 Nick Drochak <ndrochak@gol.com>
566 * ChangeLog: added this file
567 * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.