2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System / System.Diagnostics / ChangeLog
1 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * EventLogImpl.cs, EventLogEntryCollection.cs, EventLog.cs :
4           some rework to support actual event log implementations.
5         * NullEventLog.cs, LocalFileEventLog.cs :
6           new files. The former (default) implementation does nothing for
7           any event log features. The latter implements local file based
8           event logs.
9
10 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
11
12         * UnixEventLog.cs, EventLogEntry.cs, EventSourceCreationData.cs,
13           EventLogImpl.cs, Win32EventLog.cs, EventLogEntryCollection.cs,
14           EventLog.cs:
15           Reverted previous two changes that does not work at all.
16
17 2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
18
19         * EventLog.cs: For now, Use null implementation.
20
21 2006-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
22
23         * EventLogEntry.cs: Added InstanceId property (2.0 only). Moved
24         Obsolete attribute to correct property.
25         * EventSourceCreationData.cs: Updated copyright. For internal ctor,
26         set log name to "Application" if value is null or zero-length string.
27         * EventLogImpl.cs: EventImpl now acts as base class for event log 
28         implemenations. Added NullEventLog implementation, which is not used
29         at the moment.
30         * EventLog.cs: EventLog implementation that uses registry for
31         keeping track of logs and sources to match .NET (and Windows). When
32         running on Windows NT (and higher), event entries are written to
33         the native win32 event log.  Reading event entries is not yet working
34         for Windows. On linux, we use a local file store (based on patch by 
35         Atsushi).
36         * UnixEventLog.cs: Event log implementation for linux which uses a
37         local file store.
38         * Win32EventLog.cs: Event log implementation for Windows NT and 
39         higher which uses the Win32 native event log.
40         * EventLogEntryCollection.cs: Delegate implementation to event log
41         implemenation. Use lazy init for enumerating entries.
42
43 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
44
45         * Process.cs: reset the 'start' time if we wait for stdout reading to
46         be completed.
47
48 2006-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
49
50         * Process.cs: add support for 2.0 asynchronous reads on stdout and
51         stderr.
52
53 2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
54
55         * EventSourceCreationData.cs: Marked ctor internal, and removed ctor.
56         Throw ArgumentOutOfRangeException if negative value for CategoryCount
57         is set.
58
59 2006-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
60
61         * EventInstance.cs: Added 2.0 class.
62         * EventSourceCreationData.cs: Added 2.0 class.
63         * OverflowAction.cs: Added 2.0 enum.
64
65 2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>
66
67         * EventLogEntry.cs: Add a linkdemand for unrestricted on class.
68         * EventLogTraceListener.cs: Add a linkdemand for unrestricted on class
69         * FileVersionInfo.cs: Add a linkdemand for unrestricted on class. Add
70         an imperative demand for FileIOPermission.Read on GetVersionInfo 
71         method. Change ToString method to use a StringBuilder.
72         * PerformanceCounterCategory.cs: Add a linkdemand for unrestricted on
73         class.
74         * PerformanceCounterManager.cs: Add a linkdemand for unrestricted on 
75         class. Add [Obsolete] for NET_2_0 profile.
76         * Process.cs: Add a linkdemand and an inheritancedemand for 
77         unrestricted on class.
78         * ProcessStartInfo.cs: Add a linkdemand for unrestricted on class.
79
80 2006-07-16  Andrew Skiba <andrews@mainsoft.com>
81
82         * Process.cs: throw FileNotFoundException earlier; give more
83         diagnostics.
84
85 2006-05-16  Dick Porter  <dick@ximian.com>
86
87         * Process.cs: Dispose the handle from a destructor too
88
89 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
90
91         * Stopwatch.cs:
92           Zoltan was quicker to add it, here I put my implementation ;-)
93         * Process.cs :
94           Added some missing long members (not implemented anyways).
95         * DataReceivedEventHandler.cs DataReceivedEventArgs.cs :
96           added new 2.0 types.
97
98 2006-04-01  Zoltan Varga  <vargaz@gmail.com>
99
100         * Stopwatch.cs: New file.
101
102 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
103
104         * Debug.cs: Add net 2.0 Print methods.
105
106 2006-03-03  Dick Porter  <dick@ximian.com>
107
108         * Process.cs: Close redirected pipes on errors.  Fixes bug 77514.
109
110 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
111
112         * ConsoleTraceListener.cs: New 2.0 class
113
114 2005-11-17  Dick Porter  <dick@ximian.com>
115
116         * Process.cs: Split Start_common into Start_shell and
117         Start_noshell, which call ShellExecuteEx and CreateProcess
118         respectively.  Fixes bug 76670.
119
120 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
121
122         * Process.cs: deal with the fact that someone can enable raising events
123         and/or registed a Exited delegate before and *after* Start is called for
124         the process. Only queue the exit callback in the threadpool when it's
125         possible and requested. Fixes bug #76129.
126
127 2005-08-09  Gert Driesen <drieseng@users.sourceforge.net>
128
129         * EventLog.cs: Fixed Designer attribute to match MS.NET.
130         * ICollectData.cs: Added marshalling attribute to match MS.NET.
131         * PerformanceCounter.cs: Fixed Designer attribute to match MS.NET.
132         * Process.cs: Fixed Designer attribute to match MS.NET, modified
133         * ProcessModule.cs: Fixed Designer attribute to match MS.NET.
134         * ProcessThread.cs: Fixed Designer attribute to match MS.NET.
135         DesignerSerializationVisibility on StartInfo to match MS.NET, changed
136         Category attribute on Exited event to match MS.NET.
137
138 2005-06-09  Gert Driesen <drieseng@users.sourceforge.net>
139
140         * TraceImpl.cs: Adjust internal indentlevel and indentsize before 
141         passing on to listeners. Fixes some test failures.
142
143 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
144
145         * DefaultTraceListener.cs: s/MONO_TRACE/MONO_TRACE_LISTENER/. The
146         runtime uses MONO_TRACE too...
147
148 2005-05-31  Sebastien Pouliot  <sebastien@ximian.com>
149
150         * PerformanceCounterPermissionEntry.cs: Added more 2.0 validations for
151         machine names and PerformanceCounterPermissionAccess.
152
153 2005-02-22 Jonathan Pryor  <jonpryor@vt.edu>
154
155         * TraceImpl.cs: More Thread-safety fixes.  I have to lock on
156           Listeners.SyncRoot as we're traversing the collection and can't let the
157           collection change from underneath us while we're iterating over it
158           (alternately, we could clone the collection and iterate over the clone
159           without having locking issues -- assuming we had a lock-free clone -- 
160           but this would kill the GC).  Fixes 69964.  Only define lock_ if we're 
161           using the lock-free initialization routine; it's not used otherwise.
162
163 2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
164
165         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): 
166           Use a lock-free algorithm for creating the settings information.
167         * TraceImpl.cs (InitOnce): Use a lock-free algorithm for creating the
168           listeners collection and initializing the world.
169
170 2005-01-18 Jonathan Pryor  <jonpryor@vt.edu>
171
172         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfiguration): Don't 
173           read the .config file from the static ctor (again), as if it fails we'll 
174           get a TypeLoadException -- bad!  Instead, lazy-read the .config file.
175         * DiagnosticsConfigurationHandler.cs (DiagnosticsConfigurationHandler): 
176           Require that the /switch/add/@value attribute contains only numeric values.
177         * TraceImpl.cs: Don't initialize everything in the static ctor, as if it
178           fails (due to an invalid .confg file) we get a TypeLoadException, while
179           .NET generates a ConfigurationException.  Instead, initialize everything
180           the first time the Listeners property is accessed, which allows the static
181           ctor to run without chance of failure, avoiding the TypeLoadException.
182         * TraceListenerCollection.cs: This should be thread-safe, as it's accessible
183           from a static member of TraceImpl (available through the public Debug and 
184           Trace classes).
185         * Switch.cs: Leave the original switch value alone.  If it isn't valid 
186           (i.e. numeric), the DiagnosticsConfigurationHandler will catch it.
187
188 2005-01-17 Jonathan Pryor  <jonpryor@vt.edu>
189
190         * DiagnosticsConfigurationHandler.cs: The /switch/add/@value attribute 
191           isn't optional under .NET 1.1, so make sure it exists.
192
193 2005-01-13 Jonathan Pryor  <jonpryor@vt.edu>
194
195         * DiagnosticsConfigurationHandler.cs: Make DiagnosticsConfiguration.Settings
196           thread-safe (double-checked locking isn't thread safe on .NET without
197           using a volatile variable, and setting the variable in the static
198           constructor is easier anyway).
199         * Switch.cs (GetConfigFileSetting): If the setting is non-numeric, set the
200           attribute value to the string "0".  This is apparently what .NET 1.1 does,
201           and allows the SwitchTest NUnit test to work w/o failures.
202
203 2004-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
204
205         * Process.cs: always pass the same arguments to the runtime.
206
207 2004-09-11  Sebastien Pouliot  <sebastien@ximian.com>
208
209         * EventLogPermission.cs: Completed implementation.
210         * EventLogPermissionAccess.cs: Fixed enum values.
211         * EventLogPermissionEntry.cs: Added validation for machine names.
212         * EventLogPermissionEntryCollection.cs: Added synchronization
213         of entries with the base permission class.
214         * PerformanceCounterPermission.cs: Completed implementation.
215         * PerformanceCounterPermissionAccess.cs: Fixed enum values.
216         * PerformanceCounterPermissionEntry.cs: Added validations for machine
217         and category names.
218         * PerformanceCounterPermissionEntryCollection.cs: Added synchronization
219         of entries with the base permission class.
220
221 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
222
223         * EventLogPermission.cs: Fixed initialization (TagNames and
224         PermissionAccessType).
225         * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added 
226         [Obsolete] to some existing elements.
227         * EventLogPermissionAttribute.cs: Added missing validation to property
228         MachineName. Fixed changes for NET_2_0.
229         * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
230         PermissionAccessType).
231         * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
232         and added [Obsolete] to some existing elements.
233         * PerformanceCounterPermissionAttribute.cs: Added missing validations
234         to properties (Path, MachineName). Fixed changes for NET_2_0.
235
236 2004-09-07  Dick Porter  <dick@ximian.com>
237
238         * Process.cs: Throw documented exceptions when getting stdin,
239         stdout or stderr and they haven't been redirected.  Check that
240         CreatePipe didn't fail, throw exceptions if it did.  Close
241         redirected streams when the process is disposed, rather than rely
242         on the GC disposing them later.  Makes timeline much happier,
243         because it could run out of file descriptors between GC
244         collections.
245
246 2004-09-06  Dick Porter  <dick@ximian.com>
247
248         * Process.cs: Make Dispose() actually dispose things.
249
250 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
251
252         * Process.cs : quick fix for UseShellExecute=false on windows. See
253           the code comment.
254
255 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
256
257         * Process.cs: Added missing check in HasExited property.
258
259 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
260
261         * EventLogPermissionAttribute.cs:
262         * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
263         and Inherited to match .NET
264
265 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
266
267         * Process.cs: separate the command and the arguments when calling
268         Start_internal.
269
270 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * Process.cs: redirecting I/O is not permitted if UseShellExecute is
273         true. Also throw if FileName is null.
274
275 2004-04-06  Lluis Sanchez Gual  <lluis@ximian.com>
276
277         * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
278         use the constructor that only takes one string as parameter to
279         construct the listener. The name is set using the Name property, not the
280         constructor.
281         
282         * TextWriterTraceListener.cs: In Write*, do nothing if no writer was 
283         provided.
284
285 2004-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
286
287         * Process.cs: use the ISynchronizeInvoke object to invoke the event.
288         Implemented Close, CloseMainWindow and Kill.
289
290 2004-03-23 Ben Maurer  <bmaurer@users.sourceforge.net>
291
292         * Switch.cs: Don't throw when there is no switches section.
293
294 2004-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
295
296         * Process.cs: support EnableRaisingEvents + Exited event.
297
298 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
299
300         * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
301         timeout is int.MaxValue.
302
303 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
304
305         * Process.cs: added environment variables setting support and also
306         send useShellExecute to the runtime.
307
308         * ProcessStartInfo.cs: support EnvironmentVariables.  MS uses
309         StringDictionary, which turns keys into lowercase. We don't do that.
310
311 2004-02-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
312
313         * Process.cs: ExitCode and ExitTime check that the process is finished.
314
315 2003-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
316
317         * Process.cs: if there's an error when starting the process, the 'pid'
318         field contains the GetLastError code. Use that for the Win32Exception.
319
320 2003-12-06  Martin Baulig  <martin@ximian.com>
321
322         * DefaultTraceListener: Don't use `where' in variable names.
323
324 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
325
326         * ICollectData.cs: Fixed signature
327
328 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
329
330         * ICollectData.cs: Added missing attribute
331
332 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
333
334         * SRDescriptionAttribute.cs: Moved to System directory
335
336 2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
337
338         * EventLog.cs: Implementation handling
339         * EventLogImpl.cs: Added, contains an platform independent empty implementation
340         for EventLog
341
342 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
343
344         * AlphabeticalEnumConverter.cs: Added
345         * EventLogEntry.cs: Implemented
346         * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
347         * EventLogTraceListener.cs: Fixed signature
348         * PerformanceCounter.cs: Added missing attribute
349         * PerformanceCounterType.cs: Added missing attribute
350         * SRDescriptionAttribute.cs: Added and implemented
351
352 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
353
354         * CounterCreationData.cs:
355         * EventLog.cs:
356         * EventLogEntry.cs:
357         * PerformanceCounter.cs:
358         * Process.cs:
359         * ProcessModule.cs:
360         * ProcessStartInfo.cs:
361         * ProcessThread.cs: Reworked attributes based on the new Consts scheme
362
363 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
364
365         * PerformanceCounterCategory.cs: Fixed signatures
366
367 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
368
369         * PerformanceCounter.cs: Implemented or implementation added
370
371 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
372
373         * DiagnosticsConfigurationHandler.cs: Removed a never used variable
374         * EventLog.cs: Small update to prevent a warning
375         * EventLogPermission.cs: Implemented or implementation added
376         * EventLogPermissionAttribute.cs: Implemented or implementation added
377         * EventLogPermissionEntry.cs: Implemented or implementation added
378         * EventLogPermissionEntryCollection.cs: Implemented or implementation added
379         * EventLogTraceListener.cs: Implemented or implementation added
380         * PerformanceCounterManager.cs: Implemented or implementation added
381         * PerformanceCounterInstaller.cs: Made internal
382         * PerformanceCounterCategory.cs: Implemented few members
383         * PerformanceCounterPermission.cs: Implemented or implementation added
384         * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
385         * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
386         * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
387         
388 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
389
390         * EventLog.cs: Removed unneccesary attribute according to corecompare
391         * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
392         * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
393         * ProcessModule.cs: Removed unneccesary attribute according to corecompare
394         * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
395         * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
396
397 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
398
399         * InstanceDataCollectionCollection.cs: Corrected wrong signature
400         * EventLog.cs: Missing attributes added, redirected some class members
401         * EventLogEntry.cs: Missing attributes added
402         * EventLogInstaller.cs: Made internal
403         
404 2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
405
406         * CounterCreationData.cs: Added missing attributes
407         * CounterSample.cs: Implemented missing rest, fixed signature
408         * CounterSampleCalculator.cs: Added private constructor, redirected function
409         * Process.cs: Added attributes, added event mechanism
410         * ProcessModule.cs: Added missing attributes
411         * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
412         * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
413         * ProcessThread.cs: Added missing attributes, added pseudo constructor
414         * ProcessThreadCollection.cs: Implemented
415         * PerformanceCounterPermission.cs: Fixed typo in class name
416         * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
417         
418 2003-03-19  Dick Porter  <dick@ximian.com>
419
420         * Process.cs: Implement HasExited, fixes bug 39267
421
422 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
423
424         * Process.cs: throw an exception when the executable cannot be found.
425
426 2002-12-20  Jonathan Pryor <jonpryor@vt.edu>
427         * DiagnosticsConfigurationHandler.cs: 
428           - Don't assume that optional attributes are always present
429           - <assert/> can't have any child nodes
430           - Change in semantics: if the attribute isn't present,
431             GetAttribute() returns null, not "".  This allows us to
432             differentiate between an attribute not being present and an
433             attribute with an empty value.
434           - Translate exceptions if a TraceListener type is invalid
435
436 2002-12-19  Jonathan Pryor <jonpryor@vt.edu>
437         * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be 
438           hardcoded; they should be set to whatever TraceImpl is using (which
439           in turn may have been set by the .config file, so we should get the
440           user-specified values in added listeners).
441         * TraceListener.cs: Make sure that indents are initially written.  This 
442           allows code that uses Trace.Indent() before a Trace.WriteLine() to be 
443           indented properly.
444         * TraceImpl.cs: provide a static constructor to explicitly specify the
445           ordering of initialization, in particular the ordering of
446           TraceImpl.Listeners and the reading of the .config file (by
447           accessing DiagnosticsConfiguration.Settings).  This (hopefully)
448           ensures that the Listeners collection is initialized before the
449           .config file is read in, as the DiagnosticsConfigurationHandler will
450           directly modify the listeners collection.
451           The DiagnosticsConfigurationHandler assumes this so that it can
452           <add/> and <remove/> trace listeners and set the logfile for the
453           DefaultTraceListener.
454
455
456 2002-12-18  Jonathan Pryor <jonpryor@vt.edu>
457         * BooleanSwitch.cs: Complete re-write.  It works now.
458         * DefaultTraceListener.cs:
459           - Use `const' strings, so I don't worry about copy/paste errors
460           - Give `AssertUiEnabled' an actual backing member
461         * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
462           configuration handler set .config-specified properties on
463           DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
464           (AutoFlush, IndentSize).
465         * Switch.cs: Near complete re-write.  Actually works, and is (should be)
466           comformant with .NET behavior.  Changed member names because they
467           were confusing me.  (Yes, that doesn't say much about my memory.)
468         * TextWriterTraceListener.cs: Append text to already existing files,
469           don't overwrite them.
470         * TraceImpl.cs:
471           - Added private destructor, to ensure no instances are created.
472           - Move members declarations to be closer to each other.
473         * TraceSwitch.cs: Complete re-write.  It works now.
474
475 2002-12-17  Jonathan Pryor <jonpryor@vt.edu>
476         * DiagnosticsConfigurationHandler.cs: Implement so that .config files
477         support <system.diagnostics> sections.
478
479 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
480
481         * DefaultTraceListener.cs: now OutputDebugStringW is called from an
482         internal call (update your runtime!). No more warnings in linux.
483
484 2002-10-31  Dick Porter  <dick@ximian.com>
485
486         * Process.cs: MonoIO methods now have an error parameter
487
488 2002-10-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
489
490         * DefaultTraceListener.cs: changed OutputDebugString to
491         OutputDebugStringW (no more warnings under windows). Also a few style
492         fixes.
493
494 2002-10-23  Dick Porter  <dick@ximian.com>
495
496         * Process.cs: Redirected standard input needs to have AutoFlush set
497
498 2002-09-27  Dick Porter  <dick@ximian.com>
499
500         * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
501         ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
502         Pass the working directory to Start.  Pass the program and args in
503         one string to be used with the second arg of CreateProcess, so it
504         will search the path.
505
506 2002-09-19  Nick Drochak <ndrochak@gol.com>
507
508         * TraceImpl.cs: Remove debug prints
509
510 2002-09-19  Nick Drochak <ndrochak@gol.com>
511
512         * TraceListenerCollection.cs: Set Indet level and size to default 
513         values.  The values from TraceImpl might have been changed.
514
515 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
516
517         * Process.cs:
518         * TextWriterTraceListener.cs: IDisposable fixes.
519
520 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
521
522         * Process.cs: class status based fixes.
523
524 2002-07-20  Dick Porter  <dick@ximian.com>
525
526         * Process.cs: Implement file handle redirection
527
528 2002-07-13  Jonathan Pryor <jonpryor@vt.edu>
529         * CounterCreationData.cs: Implemented
530         * CounterCreationDataCollection.cs: Implemented
531         * CounterSample.cs: Stubbed Out
532         * CounterSampleCalculator.cs: Stubbed Out
533         * InstanceData.cs: Implemented
534         * InstanceDataCollection.cs: Implemented
535         * InstanceDataCollectionCollection.cs: Implemented
536         * MonitoringDescriptionAttribute.cs: Implemented
537         * PerformanceCounter.cs: Stubbed Out
538         * PerformanceCounterCategory.cs: Stubbed Out
539         * PerformanceCounterInstaller.cs: Stubbed Out
540         * PerformanceCounterManager.cs: Stubbed Out
541         * PerformanceCounterPermission.cs: Stubbed Out
542         * PerformanceCounterPermissionAccess.cs: Implemented
543         * PerformanceCounterPermissionAttribute.cs: Stubbed Out
544         * PerformanceCounterPermissionEntry.cs: Stubbed Out
545         * PerformanceCounterPermissionEntryCollection.cs: Implemented
546         * PerformanceCounterType.cs: Implemented
547
548
549 2002-06-25  Dick Porter  <dick@ximian.com>
550
551         * Process.cs: Process forking and waiting, and some support functions
552
553         * ProcessStartInfo.cs: Implemented the bits needed for basic
554         Process forking
555
556         * ProcessModule.cs: Implemented
557
558         * ProcessModuleCollection.cs: Mostly implemented
559
560         * FileVersionInfo.cs: Implemented
561
562 2002-06-16  Jonathan Pryor <jonpryor@vt.edu>
563         * ICollectData.cs: Implemented
564         * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
565                 corresponding properties on all current TraceListeners.
566                 Also, to answer the FIXME message: Yes, the properties in TraceListener
567                 need to be [ThreadStatic] as well.
568         * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
569                 should have its properties set to the current TraceImpl property values.
570         * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
571
572 2002-06-09  Jonathan Pryor <jonpryor@vt.edu>
573         * EntryWrittenEventArgs.cs: Implemented
574         * EntryWrittenEventHandler.cs: Implemented
575         * EventLog.cs: Stubbed out
576         * EventLogEntry.cs: Stubbed out
577         * EventLogEntryCOllection.cs: Implemented.
578         * EventLogEntryType.cs: Implemented
579         * EventLogInstaller.cs: Stubbed out
580         * EventLogPermission.cs: Stubbed out
581         * EventLogPermissionAccess.cs: Implemented
582         * EventLogPermissionAttribute.cs: Stubbed out
583         * EventLogPermissionEntry.cs: Stubbed out
584         * EventLogPermissionEntryCollection.cs: Stubbed out
585         * EventLogTraceListener.cs: Stubbed out
586
587 2002-05-29  Jonathan Pryor <jonpryor@vt.edu>
588   * DefaultTraceListener.cs: Implemented MONO_TRACE support
589
590 2002-05-27  Jonathan Pryor <jonpryor@vt.edu>
591   * Moved public API documentation for the following files to the
592     /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
593     - Debug.cs
594     - DefaultTraceListener.cs
595     - DiagnosticsConfigurationHandler.cs
596     - Switch.cs
597     - TextWriterTraceListener.cs
598     - Trace.cs
599     - TraceLevel.cs
600     - TraceListener.cs
601     - TraceListenerCollection.cs
602     - TraceSwitch.cs
603
604 2002-04-10  Jonathan Pryor <jonpryor@vt.edu>
605
606         * TraceListenerCollection.cs: Corrected indexer property to provide the
607                 correct return value and implement the IList indexer property correctly.
608
609 2002-04-07  Jonathan Pryor <jonpryor@vt.edu>
610
611         * TraceListener.cs: Fix stack overflow bug
612         * DefaultTraceListener.cs: Implement log file support
613
614 2002-04-04  Dick Porter  <dick@ximian.com>
615
616         * ThreadWaitReason.cs:
617         * ThreadState.cs:
618         * ThreadPriorityLevel.cs:
619         * ProcessWindowStyle.cs:
620         * ProcessThreadCollection.cs
621         * ProcessThread.cs:
622         * ProcessStartInfo.cs:
623         * ProcessModuleCollection.cs: Stub out more classes needed for Process
624
625 2002-03-31  Dick Porter  <dick@ximian.com>
626
627         * Process.cs: 
628         * ProcessPriorityClass.cs: 
629         * ProcessModule.cs: 
630         * FileVersionInfo.cs: Stub out classes needed for Process
631
632 2002-03-08  Jonathan Pryor <jonpryor@vt.edu>
633
634         * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which 
635                 is why TraceImpl.cs is introduced), "DEBUG" conditional support
636         * TraceListener.cs: Proper implementation of Dispose pattern;
637                 implementatino of non-abstract methods in terms of abstract methods
638         * TraceListenerCollection.cs: check 'object' types before adding
639         * TextWriterTraceListener.cs: properly implement Dispose pattern;
640                 handle NeedIndent and WriteIndent
641         * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
642                 support
643         * DefaultTraceListener.cs: new file; the default trace listener
644
645 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
646         * TraceListenerCollection.cs: Remove Warnings.
647
648 2002-01-06  Ravi Pratap  <ravi@ximian.com>
649         * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
650         with the MonoTODO attribute.
651
652 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
653         * Added Debug.cs to the build.
654
655 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
656         * Added preliminary TraceListenerCollection.cs to the build.
657
658 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
659         * Added TraceListener.cs, TextWriterTraceListener.cs, and
660         DefaultTraceListener.cs to the build and moved them into the
661         proper assembly.
662
663 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
664         * Added DiagnosticsConfigurationHandler.cs to the build.
665
666 2001-09-09  Nick Drochak <ndrochak@gol.com>
667         * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting
668         so that we can get OnSwitchSettingChanged() to fire for free.
669
670 2001-09-09  Nick Drochak <ndrochak@gol.com>
671         * ChangeLog: added this file
672         * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.