1 2008-09-09 Jonathan Pryor <jpryor@novell.com>
4 - Remove the "lock-free" code, which (come to think of it) would be
5 faulty in a multithreaded environment anyway because the "other"
6 threads won't wait (block) until initialization is complete...
7 - Add InitOnce() calls to all public properties, so that
8 `Debug.AutoFlush=true' will cause InitOnce() to be loaded, lest
9 a `Debug.AutoFlush=true; Debug.Listeners.Add(...)` sequence cause
10 .AutoFlush=true to be ignored as the InitOnce implied by .Add()
11 will "overwrite" the .AutoFlush.
12 - Split up TraceListenerCollection creation from DefaultTraceListener
13 addition, as TraceListenerCollection.Add() calls back into
14 TraceImpl, so if these aren't separate we get an infinite loop
15 and never actually initialize anything.
17 * TraceListenerCollection.cs: Add a TraceListenerCollection(bool)
18 constructor, which provides a way to NOT add the
19 DefaultTraceListener (needed by TraceImpl; see above).
21 2008-08-06 Sebastien Pouliot <sebastien@ximian.com>
23 * Debug_2_1.cs: Add missing [Conditional] attributes.
25 2008-08-02 Gert Driesen <drieseng@users.sourceforge.net>
27 * DelimitedTraceListener.cs: Changed accessibility of
28 GetSupportedAttributes to protected internal.
29 * DiagnosticsConfigurationHandler.cs: Use GetSupportedAttributes to
30 allow custom attributes on tracelisteners. Fixes bug #413203.
31 * TraceListener.cs: Changed accessibility of GetSupportedAttributes
32 to protected internal. Removed MonoTODO on GetSupportedAttributes and
33 Attributes. Fixed line endings.
35 2008-08-01 Paolo Molaro <lupus@ximian.com>
37 * CounterCreationData.cs, PerformanceCounterCategory.cs: more
38 checks and default type fix.
40 2008-07-28 Dick Porter <dick@ximian.com>
42 * Process.cs: When passing handle references around, it needs to
43 be duplicated and freed so the OS doesn't close it. Makes the
44 testcase in 410743 work again now the underlying bug has been
47 2008-07-27 Zoltan Varga <vargaz@gmail.com>
49 * Process.cs (SetExitCallbackIfNeeded): Avoid a race condition by not
50 checking for HashExited.
52 2008-06-27 Atsushi Enomoto <atsushi@ximian.com>
54 * DiagnosticsConfigurationHandler.cs: quick build fix (hopefully).
56 2008-06-26 Gert Driesen <drieseng@users.sourceforge.net>
58 * DiagnosticsConfigurationHandler.cs: On 2.0 profile, throw
59 ConfigurationErrorsException when any attribute other than 'Name'
60 is found when referencing a shared listener. Fixes bug #404054.
61 Added support for the traceOutputOptions attribute on 2.0 profile.
64 2008-06-21 Robert Jordan <robertj@gmx.net>
66 * Process.cs (Start_common): UserName may be null or empty.
69 2008-06-19 Dick Porter <dick@ximian.com>
71 * Process.cs: Match the buffer sizes of StreamReader and
72 MonoSyncFileStream for redirected stdout and stderr. Fixes bug
75 2008-05-02 Zoltan Varga <vargaz@gmail.com>
77 * TraceImpl.cs: Update the IndentLevel property of this class when Indent ()
78 or Unindent () are called. Fixes #385666.
80 2008-03-26 Dick Porter <dick@ximian.com>
82 * FileVersionInfo.cs: Patch from Gert Driesen
83 (gert.driesen@pandora.be) for bug 355717.
85 2008-03-19 Zoltan Varga <vargaz@gmail.com>
87 * Stopwatch.cs: Fix visibility of GetTimestamp () method.
89 Thu Feb 28 19:52:30 CET 2008 Paolo Molaro <lupus@ximian.com>
91 * CounterCreationData.cs, PerformanceCounterCategory.cs,
92 PerformanceCounter.cs: bugfixes, icalls for categories,
93 more methods implemented.
95 Wed Feb 27 20:00:04 CET 2008 Paolo Molaro <lupus@ximian.com>
97 * CounterSample.cs, CounterSampleCalculator.cs, PerformanceCounter.cs,
98 PerformanceCounterCategory.cs, PerformanceCounterCategoryType.cs:
99 beginning of the performance counter implementation.
101 Tue Feb 26 18:37:13 CET 2008 Paolo Molaro <lupus@ximian.com>
103 * Stopwatch.cs: use an hires monotonic clock.
105 2008-01-23 Gert Driesen <drieseng@users.sourceforge.net>
107 * FileVersionInfo.cs (GetVersionInfo): Resolve filename to absolute
108 path, and throw FileNotFoundException if it does not exist.
110 2007-12-22 Gert Driesen <drieseng@users.sourceforge.net>
112 * Process.cs: In PriorityClass setter, first check whether value is
113 valid and remove LAMESPEC since the documentation has been corrected
114 for .NET 3.5. Code formatting.
116 2007-12-19 Dick Porter <dick@ximian.com>
118 * Process.cs: Check that the process has been started before
119 getting or setting the priority class. Fixes bug 348415.
121 2007-12-10 Miguel de Icaza <miguel@novell.com>
123 * DefaultTraceListener.cs: By default set the AssertUiEnabled to
124 false, as this is what we had previously and some broken
125 applications (Tomboy) are too trigger happy with Debug.Assert.
127 Also, we now load the Windows.Forms code on demand, instead of
128 preloading it on the static ctor to reduce memory usage.
130 2007-12-08 Gert Driesen <drieseng@users.sourceforge.net>
132 * LocalFileEventLog.cs: To allow entry to be fully written before
133 attempting to read it, added small sleep period in the Created event
136 2007-12-04 Gert Driesen <drieseng@users.sourceforge.net>
138 * Process.cs: Modified StartInfo to throw ArgumentNullException when
139 value is set to null, instead of ArgumentException. Remove check if
140 file name is rooted and exists when UseShellExecute is false, and let
141 runtime handle this. Fixes bug #3455655. When a process cannot be
142 started, do not access ProcessStartInfo.EnvironmentVariables since that
143 would not allow us to re-use the instance when changing
144 UseShellExecute. Added argument check in Start (ProcessStartInfo).
147 2007-11-16 Jb Evain <jbevain@novell.com>
149 * Debug_2_1.cs: simply write debug messages to the
152 2007-11-15 Dick Porter <dick@ximian.com>
154 * Process.cs: Pass the process handle to GetModules_internal();
156 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
158 * Process.cs : ... and it exposed some missing attributes.
160 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
162 * Process.cs : oops, SessionId was int.
164 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
166 * Process.cs : added missing SessionId (NIE).
168 2007-10-30 Robert Jordan <robertj@gmx.net>
170 * Process.cs: Wrap the redirected streams with a stream
171 that provides real async Begin/Read|Write operations.
174 2007-09-25 Miguel de Icaza <miguel@novell.com>
176 * Process.cs: Return an empty collection to prevent crashes;
179 Tue Sep 25 18:03:37 CEST 2007 Paolo Molaro <lupus@ximian.com>
181 * Process.cs: eliminate the console encoding logic which was
182 duplicated from System.Console and just use Console.Out.Encoding
185 2007-09-21 Gert Driesen <drieseng@users.sourceforge.net>
187 * DiagnosticsConfigurationHandler.cs: Rename ValidateIntegralValue
188 to GetSwitchValue. On 2.0 profile, leave the type conversion to
189 Switch implementations. Minor corrections to exception messages to
191 * Switch.cs: Avoid unnecessary inits. On 2.0 profile, catch and
192 rethrow exceptions in setter for Value. Do not hide exceptions thrown
193 in GetConfigFileSetting. Only set value from config file if switch is
195 * SourceSwitch.cs: Use SwitchSetting for getting/storing value instead
196 of new field. In OnValueChanged, parse enum value.
197 * TraceSwitch.cs: If SwitchSetting is changed to value > 4, then set
198 it to Verbose. In OnValueChanged, parse value case-insensitively, and
199 assign it to SwitchSetting (to allow other integral values).
201 2007-09-05 Atsushi Enomoto <atsushi@ximian.com>
203 * EventLog.cs : added cosmetic 2.0 attributes on newly added members.
205 2007-09-05 Atsushi Enomoto <atsushi@ximian.com>
207 * EventLog.cs, EventLogImpl.cs, LocalFileEventLog.cs, NullEventLog.cs,
208 Win32EventLog.cs : added missing members, will be left unsupported
209 in non-Win32 impl and left unimplemented in Win32.
210 * CounterCreationDataCollection.cs : in 2.0 OnValidate() is overriden
211 instad of OnInsert().
212 * Process.cs : removed StandardErrorEncoding and
213 StandardOutputEncoding. They do not exist anymore.
215 2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
217 * ProcessStartInfo.cs : Implemented Verbs. It is done.
219 2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
221 * Process.cs, ProcessStartInfo.cs : user info support (on windows).
223 2007-08-23 Robert Jordan <robertj@gmx.net>
225 * Process.cs: implement PriorityClass. Fixes #81756.
227 Mon Aug 20 12:41:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
229 * Process.cs: implemented icall for system/user times.
231 2007-08-14 Gert Driesen <drieseng@users.sourceforge.net>
233 * EventLog.cs: Do not allow all whitespace machine name. Do nothing
234 when setting the same value for EnableRaisingEvents, and only modify
235 value of field when enable/disable succeeded. Treats log name case
236 insensitively on all platforms, and perform reset when the log name
237 is changed. Validate new machine name in property, and treat it
238 case-insensitively. Perform reset when source is modified, and log
239 name was not explicitly set. When EventLog is closed, also disable
241 * LocalEventLog.cs: In Close, clean-up the FileSystemWatcher. Add
242 locking to Created eventhandler to avoid duplicate notifications.
243 * Win32EventLog.cs: Cache handle for reading from eventlog. In Close,
244 close the read handle. Implement support for watching win32 eventlog.
247 2007-08-08 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
249 * Process.cs: added StandardOutputEncoding and StandardErrorEncoding
250 properties. Bug #82262 fixed.
252 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
254 * Process.cs, ProcessStartInfo.cs : added StandardOutputEncoding
255 and StandardErrorEncoding.
257 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
259 * PerformanceCounterCategory.cs PerformanceCounter.cs :
260 added missing 2.0 stuff (unimplemented, where things are anyways
261 unimplemented in 1.x layer).
263 2007-08-06 Atsushi Enomoto <atsushi@ximian.com>
265 * PerformanceCounterInstanceLifetime.cs
266 PerformanceCounterCategoryType.cs : new.
267 * ICollectData.cs ProcessStartInfo.cs
268 InstanceDataCollectionCollection.cs PerformanceCounter.cs
269 InstanceDataCollection.cs Process.cs :
270 cosmetic attributes cleanup.
272 2007-08-03 Jb Evain <jbevain@novell.com>
274 * FileVersionInfo.cs: force the use of the params
275 AppendFormat method of StringBuilder as it is the only
276 one accessible in 2.1 and in the previous versions.
278 2007-08-03 Jb Evain <jbevain@novell.com>
280 * FileVersionInfo.cs: remove CAS checks for 2.1.
282 2007-08-03 Jb Evain <jbevain@novell.com>
284 * Process.cs: disable StartExistCallbackIfNeeded in 2.1.
286 2007-08-03 Jb Evain <jbevain@novell.com>
288 * ProcessThreadCollection.cs
289 ProcessModuleCollection.cs: use our own collection base
290 for the 2.1 profile, as ReadOnlyCollectionBase does not exist
291 in 2.1, and they are internalized by the linker.
293 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
295 * EventLogTraceListener.cs : fixed wrong 2.0 dependency in 1.x.
297 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
299 * EventLogTraceListener.cs : implemented.
301 2007-08-02 Atsushi Enomoto <atsushi@ximian.com>
305 LocalFileEventLog.cs : Implemented EntryWritten event support.
306 * Win32EventLog.cs, NullEventLog.cs : they need stub overrides.
307 * EventLogEntry.cs : [MonitoringDescription].
308 * DiagnosticsConfigurationHandler.cs : [Obsolete]
310 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
312 * DefaultTraceListener.cs : implemented AssertUiEnabled using MWF.
314 2007-08-01 Atsushi Enomoto <atsushi@ximian.com>
316 * CounterSample.cs : implemented missing 2.0 equality stuff.
317 * CounterSampleCalculator.cs : static in 2.0.
319 2007-07-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
321 * Process.cs: use the default encoding or the windows input/output
322 encodings for the process input/output/error streams. Bug #80838 fixed.
324 2007-07-14 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
326 * Process.cs: don't send empty lines that are not in the input. Fixes
329 2007-07-11 Ankit Jain <jankit@novell.com>
331 * ProcessStartInfo.cs (WorkingDirectory.set): Don't set
332 working_directory to null.
334 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
336 * TraceSourceInfo.cs : new class for storing configuration data.
337 * TraceSource.cs : TraceEventCache arguments should be null (they are
338 nullable). Use TraceSourceInfo above.
339 * DiagnosticsConfigurationHandler.cs : removed hack to store listeners
340 in named sources, not traceimpl. Create TraceSource objects from
343 2007-05-18 Marek Safar <marek.safar@gmail.com>
345 * DiagnosticsConfigurationHandler.cs: Fixed 1.1 build.
347 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
349 * XmlWriterTraceListener.cs : open file in shared r/w mode.
350 * DiagnosticsConfigurationHandler.cs : process <sharedListeners>
351 elements first, so that named listeners work fine.
352 * EventLogTraceListener.cs : added 2.0 stubs.
353 * CorrelationManager.cs : removed todo.
355 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
357 * TraceListener.cs : in TraceTransfer(), use TraceEvent() (some
358 derived classes depend on this change).
359 * DelimitedListTraceListener.cs : implemented.
361 2007-05-18 Atsushi Enomoto <atsushi@ximian.com>
363 * EventLogPermissionAccess.cs ProcessPriorityClass.cs
364 ProcessWindowStyle.cs ThreadWaitReason.cs TraceImpl.cs
365 Trace.cs ThreadPriorityLevel.cs EventLogEntryType.cs
366 PerformanceCounterPermissionAccess.cs PerformanceCounterType.cs
367 TraceListener.cs ThreadState.cs : cosmetic API fixes.
368 * SwitchAttribute.cs : implemented GetAll().
370 2007-05-17 Atsushi Enomoto <atsushi@ximian.com>
372 * TraceOptions.cs : new enum.
373 * TraceListener.cs : support TraceOutputOptions. Fixed missing
374 NET_2_0 condition in TARGET_JVM section.
375 * TraceSwitch.cs, BooleanSwitch.cs :
376 Added missing constructors and OnValueChanged().
377 * Trace.cs, TraceImpl.cs :
378 Added CorrelationManager and UseGlobalLock.
379 * TraceEventCache.cs : initialize property values at construction.
380 * Switch.cs : added XmlIgnore on Attributes.
382 2007-05-15 Adar Wesley <adarw@mainsoft.com>
384 * Trace.cs: added missing method Refresh.
386 2007-05-14 Atsushi Enomoto <atsushi@ximian.com>
391 SwitchLevelAttribute.cs
392 DelimitedListTraceListener.cs
393 SwitchAttribute.cs : new files in 2.0.
394 * DiagnosticsConfigurationHandler.cs : partial support for named
396 * XmlWriterTraceListener.cs : cosmetic corcompare fixes. Added
398 * TraceListener.cs : added missing 2.0 stuff. Implemented Filter.
399 * DefaultTraceListener.cs : trivial ComVisible fix.
401 2007-05-10 Atsushi Enomoto <atsushi@ximian.com>
403 * TextWriterTraceListener.cs : open log file in readwrite share mode.
404 This fixes bug #81296.
406 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
410 for TARGET_JVM used Thread Local Storage istead
411 Thread-Relative Static Fields
413 2007-05-02 Jonathan Chambers <joncham@gmail.com>
415 * Stopwatch.cs : Implement high performance stopwatch on windows.
417 2007-04-19 Atsushi Enomoto <atsushi@ximian.com>
419 * XmlWriterTraceListener.cs : new file, implementated.
420 * TraceListener.cs : implemented 2.0 members.
422 2007-03-04 Vladimir Krasnov <vlaimdirk@mainsoft.com>
424 * DiagnosticsConfigurationHandler.cs: removed configuration init in
425 TARGET_JVM since not supported
427 2007-02-02 Gert Driesen <drieseng@users.sourceforge.net>
429 * EventLogImpl.cs: When no log name is specified, return zero-length
430 string for LogDisplayName.
432 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
434 * TraceEventCache.jvm.cs: added as a stub class.
436 Tue Jan 23 17:19:13 CET 2007 Paolo Molaro <lupus@ximian.com>
438 * ProcessStartInfo.cs: put the fields in the order expected
441 2007-01-18 Atsushi Enomoto <atsushi@ximian.com>
443 * Switch.cs : added missing .ctor(), Attributes, Value,
444 GetSupportedAttributes() and OnValueChanged().
445 * DiagnosticsConfigurationHandler.cs : added some hacky handler for
446 new "sources" element. Don't wrap another ConfigurationException.
447 * TraceListener.cs : added missing trace methods.
448 * TraceSource.cs, SourceLevels.cs, CorrelationManager.cs,
449 TraceEventCache.cs, TraceEventType.cs, SourceSwitch.cs:
450 added missing 2.0 stuff, mostly just stubs.
452 2007-01-12 Miguel de Icaza <miguel@novell.com>
454 * Trace.cs: Add a number of 2.0 overloads.
456 2007-01-02 Gert Driesen <drieseng@users.sourceforge.net>
458 * Process.cs: Allow GetProcesses and GetProcessById overloads with
459 machine name to work for local machine.
461 2006-12-29 Robert Jordan <robertj@gmx.net>
463 * TraceImpl.cs (Assert): Include line numbers in the stack trace
464 emitted by Assert (). Fixes bug #80400.
466 Thu Dec 14 20:24:09 CET 2006 Paolo Molaro <lupus@ximian.com>
468 * Process.cs: if a process object is restarted, close the
469 previous process handle (bug #80143).
471 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
473 * Process.cs: the Process returned by the static Start method never had
474 the right ProcessStartInfo. Fixes bug #80019.
476 2006-10-13 Atsushi Enomoto <atsushi@ximian.com>
478 * DiagnosticsConfigurationHandler.cs : be more skeptic on
479 broken configuration file.
481 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
483 * DefaultTraceListener.cs: TARGET_JVM
485 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
487 * Process.cs: fix operation number to be 8. The other one was working
488 because the default is to wait for input on the file descriptor.
490 2006-09-05 Gert Driesen <drieseng@users.sourceforge.net>
492 * Win32EventLog.cs: Removed workarounds for bug #79152 and bug #79117
493 now that these have been fixed. Release unmanaged memory that was
494 allocated for replacement strings.
496 2006-08-27 Gert Driesen <drieseng@users.sourceforge.net>
498 * NullEventLog.cs: Added dummy GetLogNames implementation.
499 * EventLogImpl.cs: Moved GetEventLogs implementation to base class.
500 Added abstract GetLogNames method. Added ValidateCustomerLogName
501 method which should be called by eventlog providers when creating a
502 new log to ensure the significant part of the log name is unique, does
503 not match any of the special log names and does not match an exist event
505 * Win32EventLog.cs: Validate customer log name when creating new log.
506 Moved GetEventLogs implementation to base class. Added GetLogNames
508 * LocalFileEventLog.cs: Merged CreateLogStore into CreateEventSource.
509 Validate customer log name when creating new log. Moved GetEventLogs
510 implementation to base class. Added GetLogNames method.
512 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
514 * Win32EventLog.cs: Fixed error messages. Use RegisterEventSource
515 pinvoke when opening eventlog for writing entries.
517 2006-08-26 Gert Driesen <drieseng@users.sourceforge.net>
519 * Win32EventLog.cs: Added and documented workarounds for bug #79117
522 2006-08-25 Gert Driesen <drieseng@users.sourceforge.net>
524 * LocalFileEventLog.cs: When event log store does not exist, then we
525 do not need to perform a case-insensitive lookup of the log name.
527 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
529 * EventLog.cs: Removed namespace import.
530 * EventInstance.cs: Added range checks and check whether specified
531 entry type is defined.
533 2006-08-20 Gert Driesen <drieseng@users.sourceforge.net>
535 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
536 Obsolete attribute to correct property.
537 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
538 set log name to "Application" if value is null or zero-length string.
539 * EventLogImpl.cs: EventImpl now acts as base class for event log
541 * NullEventLog.cs: Modified to implement new abstract methods of base
542 class. Removed factory class.
543 * EventLog.cs: EventLog implementation that delegates just about
544 everything to individual eventlog providers. To specify the event log
545 implementation to use, the MONO_EVENTLOG_TYPE environment variable can
546 be used. Possible values are:
547 - win32 : read/write entries using the native win32 eventlog
548 - local[:path] : read/write entries as files to a local directory
549 - null : silently ignore all entries
550 The default is "null" on unix (and versions of Windows before NT,
551 meaning Windows 98, ...), and "win32" on Windows NT (and higher).
552 When "the local" implementation is used, the directory in which to
553 store the event logs, event sources and entries can be specified as
554 part of MONO_EVENTLOG_TYPE environment variable using the syntax
555 "local:<path>" (eg. local:/home/myuser/mono/eventlog).
556 * LocalFileEventLog.cs: Event log implementation which uses a local
557 file store. The directory to use for persistence can be specified
558 as part of the MONO_EVENTLOG_TYPE environment variable (see above).
559 If that directory is not explicitly set, then the following directory
560 will be used for storing eventlog entries:
561 - windows : %APPDATA%\mono\eventlog
562 - unix : /var/lib/mono/eventlog
563 On unix, the directory permission for individual eventlog log
564 directories will be set to 777 (with +t bit) allowing everyone to
565 read and write eventlog entries while only allowing entries to be
566 deleted by the user(s) that created them.
567 Format of log files was modified to allow it contain all necessary
568 information for an event log entry.
569 * Win32EventLog.cs: Event log implementation for Windows NT and
570 higher which uses the Win32 native event log for reading/writing
571 eventlog entries, and which uses the registry to store event log and
572 event source registration information.
573 * EventLogEntryCollection.cs: Delegate implementation to event log
574 implementation. Use lazy init for enumerating entries. Cache current
577 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
579 * LocalFileEventLog.cs : change lengthy environment variable name.
580 MONO_LOCAL_EVENTLOG_PATH -> MONO_EVENTLOG_PATH.
582 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
584 * EventLogImpl.cs, EventLogEntryCollection.cs, EventLog.cs :
585 some rework to support actual event log implementations.
586 * NullEventLog.cs, LocalFileEventLog.cs :
587 new files. The former (default) implementation does nothing for
588 any event log features. The latter implements local file based
591 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
593 * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
594 EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
596 Reverted previous two changes that does not work at all.
598 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
600 * EventLog.cs: For now, Use null implementation.
602 2006-08-11 Gert Driesen <drieseng@users.sourceforge.net>
604 * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
605 Obsolete attribute to correct property.
606 * EventSourceCreationData.cs: Updated copyright. For internal ctor,
607 set log name to "Application" if value is null or zero-length string.
608 * EventLogImpl.cs: EventImpl now acts as base class for event log
609 implemenations. Added NullEventLog implementation, which is not used
611 * EventLog.cs: EventLog implementation that uses registry for
612 keeping track of logs and sources to match .NET (and Windows). When
613 running on Windows NT (and higher), event entries are written to
614 the native win32 event log. Reading event entries is not yet working
615 for Windows. On linux, we use a local file store (based on patch by
617 * UnixEventLog.cs: Event log implementation for linux which uses a
619 * Win32EventLog.cs: Event log implementation for Windows NT and
620 higher which uses the Win32 native event log.
621 * EventLogEntryCollection.cs: Delegate implementation to event log
622 implemenation. Use lazy init for enumerating entries.
624 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
626 * Process.cs: reset the 'start' time if we wait for stdout reading to
629 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
631 * Process.cs: add support for 2.0 asynchronous reads on stdout and
634 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
636 * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
637 Throw ArgumentOutOfRangeException if negative value for CategoryCount
640 2006-08-09 Gert Driesen <drieseng@users.sourceforge.net>
642 * EventInstance.cs: Added 2.0 class.
643 * EventSourceCreationData.cs: Added 2.0 class.
644 * OverflowAction.cs: Added 2.0 enum.
646 2006-07-31 Sebastien Pouliot <sebastien@ximian.com>
648 * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
649 * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
650 * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
651 an imperative demand for FileIOPermission.Read on GetVersionInfo
652 method. Change ToString method to use a StringBuilder.
653 * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
655 * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on
656 class. Add [Obsolete] for NET_2_0 profile.
657 * Process.cs: Add a linkdemand and an inheritancedemand for
658 unrestricted on class.
659 * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
661 2006-07-16 Andrew Skiba <andrews@mainsoft.com>
663 * Process.cs: throw FileNotFoundException earlier; give more
666 2006-05-16 Dick Porter <dick@ximian.com>
668 * Process.cs: Dispose the handle from a destructor too
670 2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
673 Zoltan was quicker to add it, here I put my implementation ;-)
675 Added some missing long members (not implemented anyways).
676 * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
679 2006-04-01 Zoltan Varga <vargaz@gmail.com>
681 * Stopwatch.cs: New file.
683 2006-03-31 Zoltan Varga <vargaz@gmail.com>
685 * Debug.cs: Add net 2.0 Print methods.
687 2006-03-03 Dick Porter <dick@ximian.com>
689 * Process.cs: Close redirected pipes on errors. Fixes bug 77514.
691 2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu>
693 * ConsoleTraceListener.cs: New 2.0 class
695 2005-11-17 Dick Porter <dick@ximian.com>
697 * Process.cs: Split Start_common into Start_shell and
698 Start_noshell, which call ShellExecuteEx and CreateProcess
699 respectively. Fixes bug 76670.
701 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
703 * Process.cs: deal with the fact that someone can enable raising events
704 and/or registed a Exited delegate before and *after* Start is called for
705 the process. Only queue the exit callback in the threadpool when it's
706 possible and requested. Fixes bug #76129.
708 2005-08-09 Gert Driesen <drieseng@users.sourceforge.net>
710 * EventLog.cs: Fixed Designer attribute to match MS.NET.
711 * ICollectData.cs: Added marshalling attribute to match MS.NET.
712 * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
713 * Process.cs: Fixed Designer attribute to match MS.NET, modified
714 * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
715 * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
716 DesignerSerializationVisibility on StartInfo to match MS.NET, changed
717 Category attribute on Exited event to match MS.NET.
719 2005-06-09 Gert Driesen <drieseng@users.sourceforge.net>
721 * TraceImpl.cs: Adjust internal indentlevel and indentsize before
722 passing on to listeners. Fixes some test failures.
724 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
726 * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
727 runtime uses MONO_TRACE too...
729 2005-05-31 Sebastien Pouliot <sebastien@ximian.com>
731 * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
732 machine names and PerformanceCounterPermissionAccess.
734 2005-02-22 Jonathan Pryor <jonpryor@vt.edu>
736 * TraceImpl.cs: More Thread-safety fixes. I have to lock on
737 Listeners.SyncRoot as we're traversing the collection and can't let the
738 collection change from underneath us while we're iterating over it
739 (alternately, we could clone the collection and iterate over the clone
740 without having locking issues -- assuming we had a lock-free clone --
741 but this would kill the GC). Fixes 69964. Only define lock_ if we're
742 using the lock-free initialization routine; it's not used otherwise.
744 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
746 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration):
747 Use a lock-free algorithm for creating the settings information.
748 * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
749 listeners collection and initializing the world.
751 2005-01-18 Jonathan Pryor <jonpryor@vt.edu>
753 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't
754 read the .config file from the static ctor (again), as if it fails we'll
755 get a TypeLoadException -- bad! Instead, lazy-read the .config file.
756 * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler):
757 Require that the /switch/add/@value attribute contains only numeric values.
758 * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
759 fails (due to an invalid .confg file) we get a TypeLoadException, while
760 .NET generates a ConfigurationException. Instead, initialize everything
761 the first time the Listeners property is accessed, which allows the static
762 ctor to run without chance of failure, avoiding the TypeLoadException.
763 * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
764 from a static member of TraceImpl (available through the public Debug and
766 * Switch.cs: Leave the original switch value alone. If it isn't valid
767 (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
769 2005-01-17 Jonathan Pryor <jonpryor@vt.edu>
771 * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute
772 isn't optional under .NET 1.1, so make sure it exists.
774 2005-01-13 Jonathan Pryor <jonpryor@vt.edu>
776 * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
777 thread-safe (double-checked locking isn't thread safe on .NET without
778 using a volatile variable, and setting the variable in the static
779 constructor is easier anyway).
780 * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
781 attribute value to the string "0". This is apparently what .NET 1.1 does,
782 and allows the SwitchTest NUnit test to work w/o failures.
784 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
786 * Process.cs: always pass the same arguments to the runtime.
788 2004-09-11 Sebastien Pouliot <sebastien@ximian.com>
790 * EventLogPermission.cs: Completed implementation.
791 * EventLogPermissionAccess.cs: Fixed enum values.
792 * EventLogPermissionEntry.cs: Added validation for machine names.
793 * EventLogPermissionEntryCollection.cs: Added synchronization
794 of entries with the base permission class.
795 * PerformanceCounterPermission.cs: Completed implementation.
796 * PerformanceCounterPermissionAccess.cs: Fixed enum values.
797 * PerformanceCounterPermissionEntry.cs: Added validations for machine
799 * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
800 of entries with the base permission class.
802 2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
804 * EventLogPermission.cs: Fixed initialization (TagNames and
805 PermissionAccessType).
806 * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added
807 [Obsolete] to some existing elements.
808 * EventLogPermissionAttribute.cs: Added missing validation to property
809 MachineName. Fixed changes for NET_2_0.
810 * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
811 PermissionAccessType).
812 * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
813 and added [Obsolete] to some existing elements.
814 * PerformanceCounterPermissionAttribute.cs: Added missing validations
815 to properties (Path, MachineName). Fixed changes for NET_2_0.
817 2004-09-07 Dick Porter <dick@ximian.com>
819 * Process.cs: Throw documented exceptions when getting stdin,
820 stdout or stderr and they haven't been redirected. Check that
821 CreatePipe didn't fail, throw exceptions if it did. Close
822 redirected streams when the process is disposed, rather than rely
823 on the GC disposing them later. Makes timeline much happier,
824 because it could run out of file descriptors between GC
827 2004-09-06 Dick Porter <dick@ximian.com>
829 * Process.cs: Make Dispose() actually dispose things.
831 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
833 * Process.cs : quick fix for UseShellExecute=false on windows. See
836 2004-06-17 Lluis Sanchez Gual <lluis@ximian.com>
838 * Process.cs: Added missing check in HasExited property.
840 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
842 * EventLogPermissionAttribute.cs:
843 * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
844 and Inherited to match .NET
846 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
848 * Process.cs: separate the command and the arguments when calling
851 2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
853 * Process.cs: redirecting I/O is not permitted if UseShellExecute is
854 true. Also throw if FileName is null.
856 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
858 * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
859 use the constructor that only takes one string as parameter to
860 construct the listener. The name is set using the Name property, not the
863 * TextWriterTraceListener.cs: In Write*, do nothing if no writer was
866 2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
868 * Process.cs: use the ISynchronizeInvoke object to invoke the event.
869 Implemented Close, CloseMainWindow and Kill.
871 2004-03-23 Ben Maurer <bmaurer@users.sourceforge.net>
873 * Switch.cs: Don't throw when there is no switches section.
875 2004-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
877 * Process.cs: support EnableRaisingEvents + Exited event.
879 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
881 * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
882 timeout is int.MaxValue.
884 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
886 * Process.cs: added environment variables setting support and also
887 send useShellExecute to the runtime.
889 * ProcessStartInfo.cs: support EnvironmentVariables. MS uses
890 StringDictionary, which turns keys into lowercase. We don't do that.
892 2004-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
894 * Process.cs: ExitCode and ExitTime check that the process is finished.
896 2003-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
898 * Process.cs: if there's an error when starting the process, the 'pid'
899 field contains the GetLastError code. Use that for the Win32Exception.
901 2003-12-06 Martin Baulig <martin@ximian.com>
903 * DefaultTraceListener: Don't use `where' in variable names.
905 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
907 * ICollectData.cs: Fixed signature
909 2003-11-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
911 * ICollectData.cs: Added missing attribute
913 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
915 * SRDescriptionAttribute.cs: Moved to System directory
917 2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
919 * EventLog.cs: Implementation handling
920 * EventLogImpl.cs: Added, contains an platform independent empty implementation
923 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
925 * AlphabeticalEnumConverter.cs: Added
926 * EventLogEntry.cs: Implemented
927 * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
928 * EventLogTraceListener.cs: Fixed signature
929 * PerformanceCounter.cs: Added missing attribute
930 * PerformanceCounterType.cs: Added missing attribute
931 * SRDescriptionAttribute.cs: Added and implemented
933 2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
935 * CounterCreationData.cs:
938 * PerformanceCounter.cs:
941 * ProcessStartInfo.cs:
942 * ProcessThread.cs: Reworked attributes based on the new Consts scheme
944 2003-07-14 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
946 * PerformanceCounterCategory.cs: Fixed signatures
948 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
950 * PerformanceCounter.cs: Implemented or implementation added
952 2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
954 * DiagnosticsConfigurationHandler.cs: Removed a never used variable
955 * EventLog.cs: Small update to prevent a warning
956 * EventLogPermission.cs: Implemented or implementation added
957 * EventLogPermissionAttribute.cs: Implemented or implementation added
958 * EventLogPermissionEntry.cs: Implemented or implementation added
959 * EventLogPermissionEntryCollection.cs: Implemented or implementation added
960 * EventLogTraceListener.cs: Implemented or implementation added
961 * PerformanceCounterManager.cs: Implemented or implementation added
962 * PerformanceCounterInstaller.cs: Made internal
963 * PerformanceCounterCategory.cs: Implemented few members
964 * PerformanceCounterPermission.cs: Implemented or implementation added
965 * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
966 * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
967 * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
969 2003-07-07 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
971 * EventLog.cs: Removed unneccesary attribute according to corecompare
972 * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
973 * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
974 * ProcessModule.cs: Removed unneccesary attribute according to corecompare
975 * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
976 * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
978 2003-07-05 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
980 * InstanceDataCollectionCollection.cs: Corrected wrong signature
981 * EventLog.cs: Missing attributes added, redirected some class members
982 * EventLogEntry.cs: Missing attributes added
983 * EventLogInstaller.cs: Made internal
985 2003-07-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
987 * CounterCreationData.cs: Added missing attributes
988 * CounterSample.cs: Implemented missing rest, fixed signature
989 * CounterSampleCalculator.cs: Added private constructor, redirected function
990 * Process.cs: Added attributes, added event mechanism
991 * ProcessModule.cs: Added missing attributes
992 * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
993 * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
994 * ProcessThread.cs: Added missing attributes, added pseudo constructor
995 * ProcessThreadCollection.cs: Implemented
996 * PerformanceCounterPermission.cs: Fixed typo in class name
997 * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
999 2003-03-19 Dick Porter <dick@ximian.com>
1001 * Process.cs: Implement HasExited, fixes bug 39267
1003 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1005 * Process.cs: throw an exception when the executable cannot be found.
1007 2002-12-20 Jonathan Pryor <jonpryor@vt.edu>
1008 * DiagnosticsConfigurationHandler.cs:
1009 - Don't assume that optional attributes are always present
1010 - <assert/> can't have any child nodes
1011 - Change in semantics: if the attribute isn't present,
1012 GetAttribute() returns null, not "". This allows us to
1013 differentiate between an attribute not being present and an
1014 attribute with an empty value.
1015 - Translate exceptions if a TraceListener type is invalid
1017 2002-12-19 Jonathan Pryor <jonpryor@vt.edu>
1018 * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be
1019 hardcoded; they should be set to whatever TraceImpl is using (which
1020 in turn may have been set by the .config file, so we should get the
1021 user-specified values in added listeners).
1022 * TraceListener.cs: Make sure that indents are initially written. This
1023 allows code that uses Trace.Indent() before a Trace.WriteLine() to be
1025 * TraceImpl.cs: provide a static constructor to explicitly specify the
1026 ordering of initialization, in particular the ordering of
1027 TraceImpl.Listeners and the reading of the .config file (by
1028 accessing DiagnosticsConfiguration.Settings). This (hopefully)
1029 ensures that the Listeners collection is initialized before the
1030 .config file is read in, as the DiagnosticsConfigurationHandler will
1031 directly modify the listeners collection.
1032 The DiagnosticsConfigurationHandler assumes this so that it can
1033 <add/> and <remove/> trace listeners and set the logfile for the
1034 DefaultTraceListener.
1037 2002-12-18 Jonathan Pryor <jonpryor@vt.edu>
1038 * BooleanSwitch.cs: Complete re-write. It works now.
1039 * DefaultTraceListener.cs:
1040 - Use `const' strings, so I don't worry about copy/paste errors
1041 - Give `AssertUiEnabled' an actual backing member
1042 * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
1043 configuration handler set .config-specified properties on
1044 DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
1045 (AutoFlush, IndentSize).
1046 * Switch.cs: Near complete re-write. Actually works, and is (should be)
1047 comformant with .NET behavior. Changed member names because they
1048 were confusing me. (Yes, that doesn't say much about my memory.)
1049 * TextWriterTraceListener.cs: Append text to already existing files,
1050 don't overwrite them.
1052 - Added private destructor, to ensure no instances are created.
1053 - Move members declarations to be closer to each other.
1054 * TraceSwitch.cs: Complete re-write. It works now.
1056 2002-12-17 Jonathan Pryor <jonpryor@vt.edu>
1057 * DiagnosticsConfigurationHandler.cs: Implement so that .config files
1058 support <system.diagnostics> sections.
1060 2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1062 * DefaultTraceListener.cs: now OutputDebugStringW is called from an
1063 internal call (update your runtime!). No more warnings in linux.
1065 2002-10-31 Dick Porter <dick@ximian.com>
1067 * Process.cs: MonoIO methods now have an error parameter
1069 2002-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1071 * DefaultTraceListener.cs: changed OutputDebugString to
1072 OutputDebugStringW (no more warnings under windows). Also a few style
1075 2002-10-23 Dick Porter <dick@ximian.com>
1077 * Process.cs: Redirected standard input needs to have AutoFlush set
1079 2002-09-27 Dick Porter <dick@ximian.com>
1081 * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
1082 ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
1083 Pass the working directory to Start. Pass the program and args in
1084 one string to be used with the second arg of CreateProcess, so it
1085 will search the path.
1087 2002-09-19 Nick Drochak <ndrochak@gol.com>
1089 * TraceImpl.cs: Remove debug prints
1091 2002-09-19 Nick Drochak <ndrochak@gol.com>
1093 * TraceListenerCollection.cs: Set Indet level and size to default
1094 values. The values from TraceImpl might have been changed.
1096 2002-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1099 * TextWriterTraceListener.cs: IDisposable fixes.
1101 2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1103 * Process.cs: class status based fixes.
1105 2002-07-20 Dick Porter <dick@ximian.com>
1107 * Process.cs: Implement file handle redirection
1109 2002-07-13 Jonathan Pryor <jonpryor@vt.edu>
1110 * CounterCreationData.cs: Implemented
1111 * CounterCreationDataCollection.cs: Implemented
1112 * CounterSample.cs: Stubbed Out
1113 * CounterSampleCalculator.cs: Stubbed Out
1114 * InstanceData.cs: Implemented
1115 * InstanceDataCollection.cs: Implemented
1116 * InstanceDataCollectionCollection.cs: Implemented
1117 * MonitoringDescriptionAttribute.cs: Implemented
1118 * PerformanceCounter.cs: Stubbed Out
1119 * PerformanceCounterCategory.cs: Stubbed Out
1120 * PerformanceCounterInstaller.cs: Stubbed Out
1121 * PerformanceCounterManager.cs: Stubbed Out
1122 * PerformanceCounterPermission.cs: Stubbed Out
1123 * PerformanceCounterPermissionAccess.cs: Implemented
1124 * PerformanceCounterPermissionAttribute.cs: Stubbed Out
1125 * PerformanceCounterPermissionEntry.cs: Stubbed Out
1126 * PerformanceCounterPermissionEntryCollection.cs: Implemented
1127 * PerformanceCounterType.cs: Implemented
1130 2002-06-25 Dick Porter <dick@ximian.com>
1132 * Process.cs: Process forking and waiting, and some support functions
1134 * ProcessStartInfo.cs: Implemented the bits needed for basic
1137 * ProcessModule.cs: Implemented
1139 * ProcessModuleCollection.cs: Mostly implemented
1141 * FileVersionInfo.cs: Implemented
1143 2002-06-16 Jonathan Pryor <jonpryor@vt.edu>
1144 * ICollectData.cs: Implemented
1145 * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
1146 corresponding properties on all current TraceListeners.
1147 Also, to answer the FIXME message: Yes, the properties in TraceListener
1148 need to be [ThreadStatic] as well.
1149 * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
1150 should have its properties set to the current TraceImpl property values.
1151 * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
1153 2002-06-09 Jonathan Pryor <jonpryor@vt.edu>
1154 * EntryWrittenEventArgs.cs: Implemented
1155 * EntryWrittenEventHandler.cs: Implemented
1156 * EventLog.cs: Stubbed out
1157 * EventLogEntry.cs: Stubbed out
1158 * EventLogEntryCOllection.cs: Implemented.
1159 * EventLogEntryType.cs: Implemented
1160 * EventLogInstaller.cs: Stubbed out
1161 * EventLogPermission.cs: Stubbed out
1162 * EventLogPermissionAccess.cs: Implemented
1163 * EventLogPermissionAttribute.cs: Stubbed out
1164 * EventLogPermissionEntry.cs: Stubbed out
1165 * EventLogPermissionEntryCollection.cs: Stubbed out
1166 * EventLogTraceListener.cs: Stubbed out
1168 2002-05-29 Jonathan Pryor <jonpryor@vt.edu>
1169 * DefaultTraceListener.cs: Implemented MONO_TRACE support
1171 2002-05-27 Jonathan Pryor <jonpryor@vt.edu>
1172 * Moved public API documentation for the following files to the
1173 /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
1175 - DefaultTraceListener.cs
1176 - DiagnosticsConfigurationHandler.cs
1178 - TextWriterTraceListener.cs
1182 - TraceListenerCollection.cs
1185 2002-04-10 Jonathan Pryor <jonpryor@vt.edu>
1187 * TraceListenerCollection.cs: Corrected indexer property to provide the
1188 correct return value and implement the IList indexer property correctly.
1190 2002-04-07 Jonathan Pryor <jonpryor@vt.edu>
1192 * TraceListener.cs: Fix stack overflow bug
1193 * DefaultTraceListener.cs: Implement log file support
1195 2002-04-04 Dick Porter <dick@ximian.com>
1197 * ThreadWaitReason.cs:
1199 * ThreadPriorityLevel.cs:
1200 * ProcessWindowStyle.cs:
1201 * ProcessThreadCollection.cs
1203 * ProcessStartInfo.cs:
1204 * ProcessModuleCollection.cs: Stub out more classes needed for Process
1206 2002-03-31 Dick Porter <dick@ximian.com>
1209 * ProcessPriorityClass.cs:
1211 * FileVersionInfo.cs: Stub out classes needed for Process
1213 2002-03-08 Jonathan Pryor <jonpryor@vt.edu>
1215 * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which
1216 is why TraceImpl.cs is introduced), "DEBUG" conditional support
1217 * TraceListener.cs: Proper implementation of Dispose pattern;
1218 implementatino of non-abstract methods in terms of abstract methods
1219 * TraceListenerCollection.cs: check 'object' types before adding
1220 * TextWriterTraceListener.cs: properly implement Dispose pattern;
1221 handle NeedIndent and WriteIndent
1222 * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
1224 * DefaultTraceListener.cs: new file; the default trace listener
1226 2002-01-17 Miguel de Icaza <miguel@ximian.com>
1227 * TraceListenerCollection.cs: Remove Warnings.
1229 2002-01-06 Ravi Pratap <ravi@ximian.com>
1230 * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
1231 with the MonoTODO attribute.
1233 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1234 * Added Debug.cs to the build.
1236 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1237 * Added preliminary TraceListenerCollection.cs to the build.
1239 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1240 * Added TraceListener.cs, TextWriterTraceListener.cs, and
1241 DefaultTraceListener.cs to the build and moved them into the
1244 2002-01-04 John R. Hicks <angryjohn69@nc.rr.com>
1245 * Added DiagnosticsConfigurationHandler.cs to the build.
1247 2001-09-09 Nick Drochak <ndrochak@gol.com>
1248 * BooleanSwitch.cs: Make this class use it's parent class's features. Namely, use SwitchSetting
1249 so that we can get OnSwitchSettingChanged() to fire for free.
1251 2001-09-09 Nick Drochak <ndrochak@gol.com>
1252 * ChangeLog: added this file
1253 * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.