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