2004-09-10 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / System / System.Diagnostics / ChangeLog
1 2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * EventLogPermission.cs: Fixed initialization (TagNames and
4         PermissionAccessType).
5         * EventLogPermissionAccess.cs: Added new enums for NET_2_0 and added 
6         [Obsolete] to some existing elements.
7         * EventLogPermissionAttribute.cs: Added missing validation to property
8         MachineName. Fixed changes for NET_2_0.
9         * PerformanceCounterPermission.cs: Fixed initialization (TagNames and
10         PermissionAccessType).
11         * PerformanceCounterPermissionAccess.cs: Added new enums for NET_2_0
12         and added [Obsolete] to some existing elements.
13         * PerformanceCounterPermissionAttribute.cs: Added missing validations
14         to properties (Path, MachineName). Fixed changes for NET_2_0.
15
16 2004-09-07  Dick Porter  <dick@ximian.com>
17
18         * Process.cs: Throw documented exceptions when getting stdin,
19         stdout or stderr and they haven't been redirected.  Check that
20         CreatePipe didn't fail, throw exceptions if it did.  Close
21         redirected streams when the process is disposed, rather than rely
22         on the GC disposing them later.  Makes timeline much happier,
23         because it could run out of file descriptors between GC
24         collections.
25
26 2004-09-06  Dick Porter  <dick@ximian.com>
27
28         * Process.cs: Make Dispose() actually dispose things.
29
30 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
31
32         * Process.cs : quick fix for UseShellExecute=false on windows. See
33           the code comment.
34
35 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
36
37         * Process.cs: Added missing check in HasExited property.
38
39 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
40
41         * EventLogPermissionAttribute.cs:
42         * PerformanceCounterPermissionAttribute.cs: adjust AllowMultiple
43         and Inherited to match .NET
44
45 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * Process.cs: separate the command and the arguments when calling
48         Start_internal.
49
50 2004-05-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
51
52         * Process.cs: redirecting I/O is not permitted if UseShellExecute is
53         true. Also throw if FileName is null.
54
55 2004-04-06  Lluis Sanchez Gual  <lluis@ximian.com>
56
57         * DiagnosticsConfigurationHandler.cs: If initializeData is provided,
58         use the constructor that only takes one string as parameter to
59         construct the listener. The name is set using the Name property, not the
60         constructor.
61         
62         * TextWriterTraceListener.cs: In Write*, do nothing if no writer was 
63         provided.
64
65 2004-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
66
67         * Process.cs: use the ISynchronizeInvoke object to invoke the event.
68         Implemented Close, CloseMainWindow and Kill.
69
70 2004-03-23 Ben Maurer  <bmaurer@users.sourceforge.net>
71
72         * Switch.cs: Don't throw when there is no switches section.
73
74 2004-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
75
76         * Process.cs: support EnableRaisingEvents + Exited event.
77
78 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
79
80         * Process.cs: patch by Gert Driesen that fixes WaitForExit when the
81         timeout is int.MaxValue.
82
83 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
84
85         * Process.cs: added environment variables setting support and also
86         send useShellExecute to the runtime.
87
88         * ProcessStartInfo.cs: support EnvironmentVariables.  MS uses
89         StringDictionary, which turns keys into lowercase. We don't do that.
90
91 2004-02-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
92
93         * Process.cs: ExitCode and ExitTime check that the process is finished.
94
95 2003-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
96
97         * Process.cs: if there's an error when starting the process, the 'pid'
98         field contains the GetLastError code. Use that for the Win32Exception.
99
100 2003-12-06  Martin Baulig  <martin@ximian.com>
101
102         * DefaultTraceListener: Don't use `where' in variable names.
103
104 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
105
106         * ICollectData.cs: Fixed signature
107
108 2003-11-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
109
110         * ICollectData.cs: Added missing attribute
111
112 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
113
114         * SRDescriptionAttribute.cs: Moved to System directory
115
116 2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
117
118         * EventLog.cs: Implementation handling
119         * EventLogImpl.cs: Added, contains an platform independent empty implementation
120         for EventLog
121
122 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
123
124         * AlphabeticalEnumConverter.cs: Added
125         * EventLogEntry.cs: Implemented
126         * EventLogPermissionEntryCollection.cs: Fixed signature and implementation of indexer
127         * EventLogTraceListener.cs: Fixed signature
128         * PerformanceCounter.cs: Added missing attribute
129         * PerformanceCounterType.cs: Added missing attribute
130         * SRDescriptionAttribute.cs: Added and implemented
131
132 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
133
134         * CounterCreationData.cs:
135         * EventLog.cs:
136         * EventLogEntry.cs:
137         * PerformanceCounter.cs:
138         * Process.cs:
139         * ProcessModule.cs:
140         * ProcessStartInfo.cs:
141         * ProcessThread.cs: Reworked attributes based on the new Consts scheme
142
143 2003-07-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
144
145         * PerformanceCounterCategory.cs: Fixed signatures
146
147 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
148
149         * PerformanceCounter.cs: Implemented or implementation added
150
151 2003-07-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
152
153         * DiagnosticsConfigurationHandler.cs: Removed a never used variable
154         * EventLog.cs: Small update to prevent a warning
155         * EventLogPermission.cs: Implemented or implementation added
156         * EventLogPermissionAttribute.cs: Implemented or implementation added
157         * EventLogPermissionEntry.cs: Implemented or implementation added
158         * EventLogPermissionEntryCollection.cs: Implemented or implementation added
159         * EventLogTraceListener.cs: Implemented or implementation added
160         * PerformanceCounterManager.cs: Implemented or implementation added
161         * PerformanceCounterInstaller.cs: Made internal
162         * PerformanceCounterCategory.cs: Implemented few members
163         * PerformanceCounterPermission.cs: Implemented or implementation added
164         * PerformanceCounterPermissionAttribute.cs: Implemented or implementation added
165         * PerformanceCounterPermissionEntry.cs: Implemented or implementation added
166         * PerformanceCounterPermissionEntryCollection.cs: Implemented or implementation added
167         
168 2003-07-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
169
170         * EventLog.cs: Removed unneccesary attribute according to corecompare
171         * EventLogEntry.cs: Removed unneccesary attribute according to corecompare
172         * Process.cs: Removed unneccesary attributes according to corecompare, added attribute
173         * ProcessModule.cs: Removed unneccesary attribute according to corecompare
174         * ProcessStartInfo.cs: Removed unneccesary attribute according to corecompare
175         * ProcessThread.cs: Removed unneccesary attribute according to corecompare, fixed signature
176
177 2003-07-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
178
179         * InstanceDataCollectionCollection.cs: Corrected wrong signature
180         * EventLog.cs: Missing attributes added, redirected some class members
181         * EventLogEntry.cs: Missing attributes added
182         * EventLogInstaller.cs: Made internal
183         
184 2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
185
186         * CounterCreationData.cs: Added missing attributes
187         * CounterSample.cs: Implemented missing rest, fixed signature
188         * CounterSampleCalculator.cs: Added private constructor, redirected function
189         * Process.cs: Added attributes, added event mechanism
190         * ProcessModule.cs: Added missing attributes
191         * ProcessModuleCollection.cs: Redone using the already inherited-from ArrayList. Simplifies this a LOT
192         * ProcessStartInfo.cs: Added missing attributes, moved internal fields to the begining of the file, restyling
193         * ProcessThread.cs: Added missing attributes, added pseudo constructor
194         * ProcessThreadCollection.cs: Implemented
195         * PerformanceCounterPermission.cs: Fixed typo in class name
196         * PerformanceCounterPermissionAccess.cs: Added attributes, fixed wrong member
197         
198 2003-03-19  Dick Porter  <dick@ximian.com>
199
200         * Process.cs: Implement HasExited, fixes bug 39267
201
202 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
203
204         * Process.cs: throw an exception when the executable cannot be found.
205
206 2002-12-20  Jonathan Pryor <jonpryor@vt.edu>
207         * DiagnosticsConfigurationHandler.cs: 
208           - Don't assume that optional attributes are always present
209           - <assert/> can't have any child nodes
210           - Change in semantics: if the attribute isn't present,
211             GetAttribute() returns null, not "".  This allows us to
212             differentiate between an attribute not being present and an
213             attribute with an empty value.
214           - Translate exceptions if a TraceListener type is invalid
215
216 2002-12-19  Jonathan Pryor <jonpryor@vt.edu>
217         * TraceListenerCollection.cs: IndentLevel and IndentSize shouldn't be 
218           hardcoded; they should be set to whatever TraceImpl is using (which
219           in turn may have been set by the .config file, so we should get the
220           user-specified values in added listeners).
221         * TraceListener.cs: Make sure that indents are initially written.  This 
222           allows code that uses Trace.Indent() before a Trace.WriteLine() to be 
223           indented properly.
224         * TraceImpl.cs: provide a static constructor to explicitly specify the
225           ordering of initialization, in particular the ordering of
226           TraceImpl.Listeners and the reading of the .config file (by
227           accessing DiagnosticsConfiguration.Settings).  This (hopefully)
228           ensures that the Listeners collection is initialized before the
229           .config file is read in, as the DiagnosticsConfigurationHandler will
230           directly modify the listeners collection.
231           The DiagnosticsConfigurationHandler assumes this so that it can
232           <add/> and <remove/> trace listeners and set the logfile for the
233           DefaultTraceListener.
234
235
236 2002-12-18  Jonathan Pryor <jonpryor@vt.edu>
237         * BooleanSwitch.cs: Complete re-write.  It works now.
238         * DefaultTraceListener.cs:
239           - Use `const' strings, so I don't worry about copy/paste errors
240           - Give `AssertUiEnabled' an actual backing member
241         * DiagnosticsConfigurationHandler.cs: To avoid race conditions, let the
242           configuration handler set .config-specified properties on
243           DefaultTraceListener (AssertUiEnabled, LogFileName) and TraceImpl
244           (AutoFlush, IndentSize).
245         * Switch.cs: Near complete re-write.  Actually works, and is (should be)
246           comformant with .NET behavior.  Changed member names because they
247           were confusing me.  (Yes, that doesn't say much about my memory.)
248         * TextWriterTraceListener.cs: Append text to already existing files,
249           don't overwrite them.
250         * TraceImpl.cs:
251           - Added private destructor, to ensure no instances are created.
252           - Move members declarations to be closer to each other.
253         * TraceSwitch.cs: Complete re-write.  It works now.
254
255 2002-12-17  Jonathan Pryor <jonpryor@vt.edu>
256         * DiagnosticsConfigurationHandler.cs: Implement so that .config files
257         support <system.diagnostics> sections.
258
259 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
260
261         * DefaultTraceListener.cs: now OutputDebugStringW is called from an
262         internal call (update your runtime!). No more warnings in linux.
263
264 2002-10-31  Dick Porter  <dick@ximian.com>
265
266         * Process.cs: MonoIO methods now have an error parameter
267
268 2002-10-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
269
270         * DefaultTraceListener.cs: changed OutputDebugString to
271         OutputDebugStringW (no more warnings under windows). Also a few style
272         fixes.
273
274 2002-10-23  Dick Porter  <dick@ximian.com>
275
276         * Process.cs: Redirected standard input needs to have AutoFlush set
277
278 2002-09-27  Dick Porter  <dick@ximian.com>
279
280         * Process.cs: Implemented {get_,set_}{Min,Max}WorkingSet,
281         ProcessName, GetProcessById, GetProcesses, GetProcessesByName.
282         Pass the working directory to Start.  Pass the program and args in
283         one string to be used with the second arg of CreateProcess, so it
284         will search the path.
285
286 2002-09-19  Nick Drochak <ndrochak@gol.com>
287
288         * TraceImpl.cs: Remove debug prints
289
290 2002-09-19  Nick Drochak <ndrochak@gol.com>
291
292         * TraceListenerCollection.cs: Set Indet level and size to default 
293         values.  The values from TraceImpl might have been changed.
294
295 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
296
297         * Process.cs:
298         * TextWriterTraceListener.cs: IDisposable fixes.
299
300 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
301
302         * Process.cs: class status based fixes.
303
304 2002-07-20  Dick Porter  <dick@ximian.com>
305
306         * Process.cs: Implement file handle redirection
307
308 2002-07-13  Jonathan Pryor <jonpryor@vt.edu>
309         * CounterCreationData.cs: Implemented
310         * CounterCreationDataCollection.cs: Implemented
311         * CounterSample.cs: Stubbed Out
312         * CounterSampleCalculator.cs: Stubbed Out
313         * InstanceData.cs: Implemented
314         * InstanceDataCollection.cs: Implemented
315         * InstanceDataCollectionCollection.cs: Implemented
316         * MonitoringDescriptionAttribute.cs: Implemented
317         * PerformanceCounter.cs: Stubbed Out
318         * PerformanceCounterCategory.cs: Stubbed Out
319         * PerformanceCounterInstaller.cs: Stubbed Out
320         * PerformanceCounterManager.cs: Stubbed Out
321         * PerformanceCounterPermission.cs: Stubbed Out
322         * PerformanceCounterPermissionAccess.cs: Implemented
323         * PerformanceCounterPermissionAttribute.cs: Stubbed Out
324         * PerformanceCounterPermissionEntry.cs: Stubbed Out
325         * PerformanceCounterPermissionEntryCollection.cs: Implemented
326         * PerformanceCounterType.cs: Implemented
327
328
329 2002-06-25  Dick Porter  <dick@ximian.com>
330
331         * Process.cs: Process forking and waiting, and some support functions
332
333         * ProcessStartInfo.cs: Implemented the bits needed for basic
334         Process forking
335
336         * ProcessModule.cs: Implemented
337
338         * ProcessModuleCollection.cs: Mostly implemented
339
340         * FileVersionInfo.cs: Implemented
341
342 2002-06-16  Jonathan Pryor <jonpryor@vt.edu>
343         * ICollectData.cs: Implemented
344         * TraceImpl.cs: Setting IndentLevel, IndentSize should change the
345                 corresponding properties on all current TraceListeners.
346                 Also, to answer the FIXME message: Yes, the properties in TraceListener
347                 need to be [ThreadStatic] as well.
348         * TraceListenerCollection.cs: When adding a TraceListener, the TraceListener
349                 should have its properties set to the current TraceImpl property values.
350         * TraceListener.cs: Make indentSize, lndentLevel [ThreadStatic].
351
352 2002-06-09  Jonathan Pryor <jonpryor@vt.edu>
353         * EntryWrittenEventArgs.cs: Implemented
354         * EntryWrittenEventHandler.cs: Implemented
355         * EventLog.cs: Stubbed out
356         * EventLogEntry.cs: Stubbed out
357         * EventLogEntryCOllection.cs: Implemented.
358         * EventLogEntryType.cs: Implemented
359         * EventLogInstaller.cs: Stubbed out
360         * EventLogPermission.cs: Stubbed out
361         * EventLogPermissionAccess.cs: Implemented
362         * EventLogPermissionAttribute.cs: Stubbed out
363         * EventLogPermissionEntry.cs: Stubbed out
364         * EventLogPermissionEntryCollection.cs: Stubbed out
365         * EventLogTraceListener.cs: Stubbed out
366
367 2002-05-29  Jonathan Pryor <jonpryor@vt.edu>
368   * DefaultTraceListener.cs: Implemented MONO_TRACE support
369
370 2002-05-27  Jonathan Pryor <jonpryor@vt.edu>
371   * Moved public API documentation for the following files to the
372     /mcs/docs/apidocs/xml/en/System.Diagnostics directory:
373     - Debug.cs
374     - DefaultTraceListener.cs
375     - DiagnosticsConfigurationHandler.cs
376     - Switch.cs
377     - TextWriterTraceListener.cs
378     - Trace.cs
379     - TraceLevel.cs
380     - TraceListener.cs
381     - TraceListenerCollection.cs
382     - TraceSwitch.cs
383
384 2002-04-10  Jonathan Pryor <jonpryor@vt.edu>
385
386         * TraceListenerCollection.cs: Corrected indexer property to provide the
387                 correct return value and implement the IList indexer property correctly.
388
389 2002-04-07  Jonathan Pryor <jonpryor@vt.edu>
390
391         * TraceListener.cs: Fix stack overflow bug
392         * DefaultTraceListener.cs: Implement log file support
393
394 2002-04-04  Dick Porter  <dick@ximian.com>
395
396         * ThreadWaitReason.cs:
397         * ThreadState.cs:
398         * ThreadPriorityLevel.cs:
399         * ProcessWindowStyle.cs:
400         * ProcessThreadCollection.cs
401         * ProcessThread.cs:
402         * ProcessStartInfo.cs:
403         * ProcessModuleCollection.cs: Stub out more classes needed for Process
404
405 2002-03-31  Dick Porter  <dick@ximian.com>
406
407         * Process.cs: 
408         * ProcessPriorityClass.cs: 
409         * ProcessModule.cs: 
410         * FileVersionInfo.cs: Stub out classes needed for Process
411
412 2002-03-08  Jonathan Pryor <jonpryor@vt.edu>
413
414         * Debug.cs: Clean up (lots of code can be shared with Trace.cs, which 
415                 is why TraceImpl.cs is introduced), "DEBUG" conditional support
416         * TraceListener.cs: Proper implementation of Dispose pattern;
417                 implementatino of non-abstract methods in terms of abstract methods
418         * TraceListenerCollection.cs: check 'object' types before adding
419         * TextWriterTraceListener.cs: properly implement Dispose pattern;
420                 handle NeedIndent and WriteIndent
421         * Trace.cs: new file; provides Trace functionality, "TRACE" conditional
422                 support
423         * DefaultTraceListener.cs: new file; the default trace listener
424
425 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
426         * TraceListenerCollection.cs: Remove Warnings.
427
428 2002-01-06  Ravi Pratap  <ravi@ximian.com>
429         * Switch.cs, TraceListenerCollection.cs : Decorate incomplete bits
430         with the MonoTODO attribute.
431
432 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
433         * Added Debug.cs to the build.
434
435 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
436         * Added preliminary TraceListenerCollection.cs to the build.
437
438 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
439         * Added TraceListener.cs, TextWriterTraceListener.cs, and
440         DefaultTraceListener.cs to the build and moved them into the
441         proper assembly.
442
443 2002-01-04  John R. Hicks <angryjohn69@nc.rr.com>
444         * Added DiagnosticsConfigurationHandler.cs to the build.
445
446 2001-09-09  Nick Drochak <ndrochak@gol.com>
447         * BooleanSwitch.cs: Make this class use it's parent class's features.  Namely, use SwitchSetting
448         so that we can get OnSwitchSettingChanged() to fire for free.
449
450 2001-09-09  Nick Drochak <ndrochak@gol.com>
451         * ChangeLog: added this file
452         * Switch.cs: call OnSwitchSettingChanged() when the switch setting is, yes you gessed it, changed.