2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Configuration / System.Configuration / ChangeLog
1 2007-08-21  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * ConfigurationManager.cs : To open exe configuration, use 
4           GetEntryAssembly() first, and GetCallingAssembly() only when
5           it was not found. Should fix bug #82071.
6
7 2007-06-21  Atsushi Enomoto  <atsushi@ximian.com>
8
9         * Configuration.cs, InternalConfigurationHost.cs :
10           configuration file to write might be given as an absolute path,
11           where the ancestor directories may not exist.
12
13 2007-06-20  Atsushi Enomoto  <atsushi@ximian.com>
14
15         * ConfigurationManager.cs : in OpenExeConfiguration() and
16           OpenMappedExeConfiguration(), take userLevel into consideration.
17         * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
18           use correct config map file in InitForConfiguration().
19
20 2007-06-18  Atsushi Enomoto  <atsushi@ximian.com>
21
22         * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
23           returns non-null. Patch by Patrick Perry.
24
25 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * ConfigurationElement.cs : SerializeToXmlElement() should be
28           called regardless of HasValues() return value, especially since
29           it could be overriden (e.g. in SettingsValueElement).
30
31 2007-06-13  Atsushi Enomoto  <atsushi@ximian.com>
32
33         * ConfigurationSectionGroup.cs
34           Configuration.cs : ConfigurationSectionGroup must be initialized
35           at least when being added to a collection.
36
37 2007-06-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
38
39         * ConfigurationElement.cs: refactored GetKeyProperties and
40         GetDefaultCollection methods, map should not be used here, Properties
41         will do instead. Refactored ElementMap class
42         * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
43         should not be called here
44         * ElementInformation.cs: fixed Properties, moved to ctor to be thread
45         safe
46         * PropertyInformation.cs: members assigned readonly modifier
47
48 2007-05-30  Marek Habersack  <mhabersack@novell.com>
49
50         * SectionGroupInfo.cs: <location> elements are case-insensitive
51         and the same 'path' attribute may be used only once.
52
53         * ConfigurationLocationCollection.cs: Find should be
54         case-insensitive for all targets, not just TARGET_JVM.
55
56 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
57
58         * Configuration.cs: FilePath implemented according to MSDN:
59         If the value for this FilePath property represents a merged view and 
60         no actual file exists for the application, the path to the parent 
61         configuration file is returned.
62
63 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
64
65         * Configuration.cs:
66         * ConfigurationLocation.cs:
67         implemented EvaluationContext property.         
68
69 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
70
71         * ConfigurationLocationCollection.cs: for TARGET_JVM only:
72         location path is case-insensitive.
73                 
74 2007-05-15  Marek Habersack  <mhabersack@novell.com>
75
76         * ConfigurationElement.cs: added value validation on
77         deserialization from the config file.
78
79 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
80
81         * ConfigurationElement.cs: when attribute value cannot be parsed,
82         ConfigurationErrorException is thrown.
83                 
84 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
85
86         * ConfigurationManager.cs:
87         added MonoLimitation attribute for TARGATE_JVM. 
88                 
89 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
90
91         * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause 
92         property doesn't hide any inherit property.
93
94 2007-04-24  Atsushi Enomoto  <atsushi@ximian.com>
95
96         * InternalConfigurationHost.cs : machine configuration covers all
97           ConfigurationAllowDefinition values.
98
99 2007-04-17  Atsushi Enomoto  <atsushi@ximian.com>
100
101         * ConfigurationSectionCollection.cs : GetEnumerator() should return
102           IEnumerator for the items, not keys.
103         * ConfigurationProperty.cs : more helpful type mismatch message.
104
105 2007-04-16  Marek Habersack  <mhabersack@novell.com>
106
107         * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
108         #81321 and several other related issues that were discovered by
109         the way. Thanks to Atsushi for help with XmlReader!
110
111 2007-04-15  Marek Habersack  <mhabersack@novell.com>
112
113         * SectionGroupInfo.cs: another incarnation of the fix for bug
114         #81321.
115
116 2007-04-12  Marek Habersack  <mhabersack@novell.com>
117
118         * SectionGroupInfo.cs: a better fix for #81321
119
120 2007-04-10  Marek Habersack  <mhabersack@novell.com>
121
122         * SectionGroupInfo.cs: make sure empty sections with the
123         short-circuit tag ends (<section/>) don't make the process loop
124         endlessly. Fixes bug #81321.
125
126 2007-03-22  Konstantin Triger <kostat@mainsoft.com>
127
128         * ConfigInfo.cs: should be able instantiate types with private ctors.
129
130 2007-03-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
131
132         * ConfigurationSectionCollection.cs,
133         * ConfigurationSectionGroupCollection.cs,
134         * PropertyInformationCollection.cs, 
135         * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
136         OrdinalComparer
137
138 2007-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
139
140         * ConfigurationSectionCollection.cs,
141         * ConfigurationSectionGroupCollection.cs,
142         * PropertyInformationCollection.cs, 
143         * SectionGroupInfo.cs: these collections should be based on case
144         insensitive NameObjectCollectionBase
145         * added OrdinalComparer.cs for use in NameObjectCollectionBase
146
147 2007-02-07  Atsushi Enomoto  <atsushi@ximian.com>
148
149         * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
150
151 2007-01-16  Konstantin Triger <kostat@mainsoft.com>
152
153         * ConfigurationElement.cs: ignore properties with null or empty name.
154
155 2007-01-16  Konstantin Triger <kostat@mainsoft.com>
156
157         * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
158                 current element, and only if failed delegate to default collection.
159
160 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
161
162         * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
163         identical element when collection type is not alternate
164
165 2006-12-27  Vladimir Krasnov  <vladimirk@mainsoft.com>
166
167         * ConnectionStringSettingsCollection.cs: made connection string key
168         case insensitive
169
170 2006-12-27  Atsushi Enomoto  <atsushi@ximian.com>
171
172         * ConfigurationElementCollection.cs : fixed BaseAdd() with
173           throwIfExists to not raise an error for identical element
174           but for different element which shares the same key. Fix by
175           Konstantin Triger.
176
177 2006-12-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
178
179         * ConfigurationProperty.cs: fixed DefaultValue of type Enum
180
181 2006-12-10  Konstantin Triger <kostat@mainsoft.com>
182
183         * ConfigurationElement.cs: Delegate parameter checking and default
184                 assigning to Configuratin property.
185         * ConfigurationProperty.cs:
186                 Ensure the TypeConvert and Validator always exist.
187                 Ensure the primitive types are properly initialized.
188
189 2006-12-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
190
191         * ConfigurationElementCollection.cs
192         * ConfigurationRemoveElement.cs: fixed key for <remove> element in
193         ConfigurationRemoveElement class
194
195 2006-11-28  Marek Habersack  <grendello@gmail.com>
196
197         * SectionGroupInfo.cs: Implement merging of section groups with
198         the same names and parents.
199
200         * ConfigInfo.cs: Add an abstract method for merging sections.
201
202         * SectionInfo.cs: Add implementation of an abstract base method
203
204 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
205
206         * SectionInfo.cs: refactoring - remove unneeded bool? usage.
207         
208 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
209
210         * added: ConfigurationRemoveElement.cs, common element for <remove>
211         * ConnectionStringSettingsCollection.cs: reverted last fix for
212         <remove> element
213         * ConfigurationElementCollection.cs: fixed the way that
214         OnDeserializeUnrecognizedElement method handles <remove> element
215
216 2006-11-02  Vladimir Krasnov  <vladimirk@mainsoft.com>
217
218         * ConfigurationElement.cs: typo in DefaultCollectionProperty
219         method
220
221 2006-10-30  Joel Reed <joel.reed@ddiworld.com>
222
223         * NameValueConfigurationCollection.cs: Implement the Properties
224         property. 
225
226 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
227
228         * ConfigurationLocation.cs: do not read root element, correctly close stream.
229         * Configuration.cs: use ReadData for nested content to throw if location
230                 elements are encounterd.
231                 In constructor taking parent Configurqation: do not call Init and so avoid
232                 rereading config file.
233
234 2006-09-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
235
236         * NameValueConfigurationElement.cs: fixed functionality
237         * ConfigurationElementCollection.cs,
238         ConnectionStringSettingsCollection.cs: fixed <remove> element in
239         connectionStrings section
240
241 2006-08-23  Konstantin Triger <kostat@mainsoft.com>
242
243         * ConfigurationSection.cs: for net 1.1 SectionHandlers: return null in case
244                 RawXml is null, as net 1.1 does.
245
246 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
247
248         * ConfigurationFileMap.cs: added TARGET_JVM on not supported members
249         in grasshopper
250
251 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
252
253         * ConfigurationManager.cs : OpenExeConfiguration(null) should still
254           work. This is required for embedded scenario.
255
256 2006-06-10  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * SectionGroupInfo.cs : skip <dllmap> in configuration.
259
260 2006-05-14  Atsushi Enomoto  <atsushi@ximian.com>
261
262         * ConfigurationManager.cs: since ConfigurationSystem is different
263           for web.config, cast from ConfigurationSection to runtime object
264           should be done at GetSection().
265           This really fixed bug #78372.
266
267 2006-05-12  Atsushi Enomoto  <atsushi@ximian.com>
268
269         * Configuration.cs : configPath is null for machine.config, so don't
270           use it. Use streamName instead. To my understanding, this should
271           fix bug #78372.
272
273 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
274
275         * ConnectionStringSettings.cs : it seems that "name" property
276           could be null i.e. there is no StringValidator.
277         * StringValidator.cs : allow null.
278
279 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
280
281         * ConfigurationManager.cs : use GetCallingAssembly() instead of
282           GetEntryAssembly() which possibly returns null (e.g. nunit) in
283           OpenExeConfiguration(). Several nunit test failures are gone.
284
285 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
286
287         * ConnectionStringSettings.cs : oops, this API fix broke standalone
288           test.
289
290 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * ConfigurationElement.cs,
293           ConfigurationErrorsException.cs,
294           ConfigurationUserLevel.cs,
295           ConfigurationPropertyOptions.cs,
296           ConnectionStringSettings.cs : assorted minor corcompare fixes.
297
298 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
299
300         * Configuration.cs : some kind of refactoring is absolutely needed
301           here. Reuse RawXml from parentSection when data was not available
302           on current section. This should fix bug #78353.
303
304 2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * ConfigurationElement.cs,
307           DefaultSection.cs :
308           in some cases RawXml was set null string, so skip such cases.
309         * Configuration.cs : support IConfigurationSectionHandler here.
310         * ConfigurationManager.cs : GetSection() now returns name value
311           collection, not a section.
312         * ConfigurationSection.cs : added SectionHandler for
313           IConfigurationSectionHandler support, and use its Create() in
314           GetRuntimeObject().
315         * ClientConfigurationSystem.cs :
316           use GetRuntimeObject() in GetSection(). Thus now
317           ConfigurationManager.GetSection() returns a runtime object.
318           Fixed bug #78337.
319
320 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
321
322         * SectionGroupInfo.cs :
323           sections which are defined in sectionGroups could be directly
324           referenced, so search corresponding section recursively.
325         * DefaultSection.cs : It does not reject unrecognized contents.
326
327 2006-04-26  Chris Toshok  <toshok@ximian.com>
328
329         * SectionInformation.cs (.ctor): add MonoTODO about the default
330         value for require_permission.
331         (RequirePermission): implement the getter/setter for this so
332         Atsushi's previous commit doesn't break everything :)
333
334 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
335
336         * Configuration.cs,
337           SectionInfo.cs : added support for "requirePermission" attribute
338           in "section" element. This fixes bug #77957.
339
340 2006-04-25  Chris Toshok  <toshok@ximian.com>
341
342         * ConfigurationElementCollection.cs (Reset): it makes no sense to
343         pass the typename to CreateNewElementInternal.  the argument is
344         the elementname. pass null instead.
345         (Unmerge): same.
346
347 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
348
349         * ConfigurationElement.cs : ListErrors() and SetPropertyValue()
350           are protected.
351         * ConfigurationSection.cs : the .ctor() is protected.
352         * ConfigurationElementCollection.cs : CollectionType is public.
353           Count and BaseAdd() are not virtual.
354         * ConfigurationPropertyCollection.cs : Count is not virtual.
355
356 2006-02-01  Chris Toshok  <toshok@ximian.com>
357
358         * ConfigurationElement.cs: revert the patch that stores and writes
359         out xmlns attributes for all elements.
360
361         * ClientConfigurationSystem.cs: SupportsUserConfig == false.
362
363         * AppSettingsSection.cs (GetRuntimeObject): call col.SetReadOnly()
364         only if SupportsUserConfig != true.
365
366         * ConfigurationManager.cs (ConfigurationSystem): add a property
367         like ConfigurationFactory, and use it instead of the private field
368         throughout.
369
370 2006-01-26  Chris Toshok  <toshok@ximian.com>
371
372         * SectionGroupInfo.cs (ReadContent): handle "location" (seemingly)
373         correctly.
374
375         * InternalConfigurationRoot.cs: misc logical additions.  still
376         isn't useful.
377
378         * ConfigurationManager.cs (OpenExeConfigurationInternal): throw an
379         exception if both calling_assembly and exePath are null.  Allow
380         the exePath to be a path to a config file as well, checking to see
381         if it ends in .config before appending.
382         (OpenExeConfiguration): stop blindly passing
383         Assembly.GetCallingAssembly.  I'm assuming this will likely break
384         .dll.config usage.  need to investigate that (and write more unit
385         tests.)
386         (GetSection): call configSystem.GetSection.
387         (RefreshSection): call configSystem.RefreshSection.
388         (ChangeConfigurationSystem): modeled after the
389         ConfigurationSettings System.Web hack - allow
390         WebConfigurationManager to replace the current
391         IInternalConfigSystem.
392
393         * InternalConfigurationHost.cs (InternalConfigurationHost): make
394         abstract, and remove all the NotImplenmentedException's.
395
396         * ConfigurationElement.cs (DeserializeElement): store off the xml
397         namespace if there is one.
398         (SerializeElement): write out the namespace if there was one.
399
400         * ClientConfigurationSystem.cs: new class, based on some stack
401         traces I've seen in tests.  Kinda (well, not *kinda*..) hacky.
402
403         * Configuration.cs (NamespaceDeclared): implement.
404         (Load): don't swallow all exceptions, just the ones raised when we
405         open the stream for reading.
406         (ReadConfigFile): handle xmlns.
407
408 2006-01-25  Chris Toshok  <toshok@ximian.com>
409
410         * ConfigInfo.cs (ThrowException): throw a
411         ConfigurationErrorsException, not a ConfigurationException.
412
413         * SectionGroupInfo.cs (ReadContent): throw an exception
414         unconditionally if we see a <location>.  they aren't valid in
415         section groups.
416
417 2006-01-25  Chris Toshok  <toshok@ximian.com>
418
419         * KeyValueInternalCollection.cs: don't use a nested collection,
420         just defer to our base class.  This fixes usage of
421         ConfigurationManager.AppSettings.Keys.
422
423 2006-01-13  Chris Toshok  <toshok@ximian.com>
424
425         * AppSettingsSection.cs (GetRuntimeObject): only access
426         Settings[key] once per iteration.
427
428 2006-01-09  Chris Toshok  <toshok@ximian.com>
429
430         * ConfigurationManager.cs (AppSettings): just return
431         AppSettingsSection.GetRuntimeObject() here.
432
433         * AppSettingsSection.cs: fix the "file" property to match dumper
434         output.
435         (GetRuntimeObject): this returns a KeyValueInternalCollection in
436         MS's implementation.
437
438 2006-01-09  Chris Toshok  <toshok@ximian.com>
439
440         * ElementInformation.cs (Validator): if propertyInfo == null,
441         return a DefaultValidator instance.
442
443 2006-01-09  Chris Toshok  <toshok@ximian.com>
444
445         * AppSettingsSection.cs (.cctor): specify null for
446         validator/converter.
447
448         * ProtectedProviderSettings.cs (.cctor): specify null for
449         validator/converter.
450
451 2006-01-03  Chris Toshok  <toshok@ximian.com>
452
453         * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
454         can save to a new file.
455         (CreateSection): don't bother to set the section information's
456         Name here.  we'll do it in SectionInfo.CreateInstance.
457
458         * ProtectedConfiguration.cs (Section): new static property so we
459         can remove all the GetSection calls.
460         (GetProvider): load a named provider, optionally throwing an
461         exception if it's not found.
462
463         * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
464         make these private interface implementations, and call
465         protectedSection.{EncryptSection,DecryptSection}.
466
467         * ProtectedConfigurationSection.cs (EncryptSection,
468         DecryptSection): add these two calls.  They really shouldn't be
469         here, but I saw them in an MS stack trace and thought "why not?".
470
471         * ConfigurationSection.cs (SectionInformation): don't set
472         attributes here, that's done in SectionInfo.CreateInstance.
473         (DeserializeSection): shoehorn in the decryption stuff here.  It
474         doesn't belong here, and I've added a MonoTODO about it.  It
475         should live someplace like SectionInfo.ReadData (which would make
476         it similar to the encryption stuff in .WriteData).
477
478         * SectionInformation.cs (IsProtected): remove the special flag,
479         just return true if we have a non-null protection_provider.
480         (ProtectSection): do nothing but try to instantiate the named
481         provider.
482         (UnprotectSection): null out protection_provider.
483
484         * DpapiProtectedConfigurationProvider.cs: move the
485         NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
486         when parsing our machine.config file.
487
488         * RsaProtectedConfigurationProvider.cs: initial implementation.
489         much is missing (OAEP support, key importing, adding/deleting
490         keys), but it can be used.
491
492 2006-01-02  Chris Toshok  <toshok@ximian.com>
493
494         * RsaProtectedConfigurationProvider.cs: implement the
495         CspProviderName and UseOAEP properties..
496
497 2006-01-02  Chris Toshok  <toshok@ximian.com>
498
499         * ProtectedConfigurationSection.cs: flesh this out (and add logic
500         to instantiate providers, based on some of the standalone test
501         exception stack traces.)
502
503         * ProtectedConfiguration.cs: new implementation.
504
505         * ProtectedConfigurationProviderCollection.cs: new
506         implementation.
507
508         * ProtectedProviderSettings.cs: new implementation.
509
510         * ProtectedConfigurationProvider.cs: trim the superclass's name.
511
512         * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
513
514         * DpapiProtectedConfigurationProvider.cs: add stubbed
515         implementation that throws NotSupportedException telling people
516         they should be using RsaProtectedConfigurationProvider.
517
518 2006-01-02  Chris Toshok  <toshok@ximian.com>
519
520         * DefaultSection.cs (Properties): implement.
521
522         * IgnoreSection.cs: move from lazily creating the properties
523         collection to sharing a single one across all instances.
524
525         * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
526
527         * ConfigurationElementCollection.cs (BaseAdd) remove logic to
528         remove an old matching element.
529         (BaseGetKey): throw an exception if @index is out of range.
530
531         * SectionInformation.cs (SectionName): just return name, like Name
532         does.. redundant, but it matches tests.
533         (GetRawXml): implement.
534         (SetRawXml): implement.
535
536         * ConfigurationSection.cs (SectionInformation): fill in
537         sectionInformation.Type before returning.
538         (DeserializeSection): save off the raw xml to our
539         SectionInformation.
540
541         * ConfigurationElement.cs (LockItem): implement.
542         (DeserializeElement): add support for the "lockItem" attribute.
543
544 2005-12-16  Chris Toshok  <toshok@ximian.com>
545
546         * ConfigurationLockCollection.cs (Add): only add the name if it's
547         not already there.
548         (IsReadOnly): always return false for the time being, in the
549         non-exceptional case.
550
551 2005-12-15  Chris Toshok  <toshok@ximian.com>
552
553         * ConfigurationElement.cs (LockAllAttributesExcept): implement.
554         (LockAllElementsExcept): implement.
555         (DeserializeElement): handle the built-in attributes (lock* for
556         the time being).
557
558 2005-12-15  Chris Toshok  <toshok@ximian.com>
559
560         * ConfigurationLockCollection.cs (..ctor): don't call Populate.
561         (Populate): nuke.
562         (CheckName): make sure the passes in name is valid for this type
563         of lock collection.
564         (Add): call CheckName, and set is_modified to true.
565         (Clear): set is_modified.
566         (IsReadOnly): add plausable implementation, including exception in
567         the case where the name isn't found.
568         (Remove): set is_modified.
569         (SetFromList): implement.
570         (get_AttributeList): implement.
571         (set_IsModified): add internal setter so we can clear the modified
572         flag.
573
574 2005-12-12  Chris Toshok  <toshok@ximian.com>
575
576         * AppSettingsSection.cs (DeserializeElement): provide rather naive
577         version of the file="" handling.  It's enough to make our tests
578         pass.
579
580 2005-12-11  Chris Toshok  <toshok@ximian.com>
581
582         * ConnectionStringsSection.cs (..cctor): use "" instead of null
583         for the name of the default collection.
584
585         * AppSettingsSection.cs (..cctor): create a property for the
586         default collection.
587         (DeserializeElement): call base.DeserializeElement.
588         (File): index off the property, not the name.
589         (Settings): don't use an private variable here, use
590         base[_propSettings].
591
592         * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
593         null for new app domains.  so deal with this by calling
594         GetCallingAssembly if it's null.  This is probably still wrong but
595         it doesn't NRE in xsp2.
596         (AppSettings): remove MonoTODO.
597         
598         * KeyValueConfigurationElement.cs (..ctor): new method, create the
599         ConfigurationProperty's and the collection here.
600         (.ctor): add internal arg-less ctor.
601         (Key): use keyProp instead of "key".
602         (Value): use vlaueProp instead of "value".
603         (Properties): return our class's properties.
604
605         * KeyValueConfigurationCollection.cs (CreateNewElement): use the
606         arg-less ctor.
607         (GetElementKey): re-enable the BaseIndexOf test.
608
609 2005-12-02  Chris Toshok  <toshok@ximian.com>
610
611         * Configuration.cs (Save): call WriteStartDocument.
612
613         * ConnectionStringSettingsCollection.cs (CreateNewElement): use
614         parameter-less ctor to keep from generating exceptions when using
615         the collection.
616
617 2005-12-02  Chris Toshok  <toshok@ximian.com>
618
619         * ConnectionStringSettings.cs: tabify, fix default values, and add
620         a string validator for "name".
621
622 2005-12-02  Chris Toshok  <toshok@ximian.com>
623
624         * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
625         the type check away from an exact check for
626         CommaDelimitedStringCollection to an assignable test from
627         StringCollection.  This is due to the fact that AuthorizationRule
628         doesn't create CommaDelimitedStringCollections, for some odd
629         reason.  It uses StringCollections.
630
631         * PropertyInformation.cs (Value): remove the case for
632         IsDefaultCollection - it's not necessary, as the property is an
633         Element.
634
635         * ConnectionStringSettings.cs: fix formatting and remove some
636         #regions.
637
638         * ConnectionStringSettingsCollection.cs: same.
639
640         * ConnectionStringsSection.cs: same.
641
642         * ConfigurationElement.cs (SerializeToXmlElement): don't write the
643         enclosing start/end elements if the elementName is null or "".
644         this fixes the case for the DefaultCollections (at least in the
645         case of connectionStrings).
646
647         * IgnoreSection.cs (Properties): remove the MonoTODO.
648
649         * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
650
651 2005-11-28  Chris Toshok  <toshok@ximian.com>
652
653         * ProviderSettings.cs: use ConfigurationProperty's to implement
654         the properties.
655
656 2005-11-24  Chris Toshok  <toshok@ximian.com>
657
658         * ConfigurationProperty.cs (Validate): add internal method.
659
660 2005-11-24  Chris Toshok  <toshok@ximian.com>
661
662         * ConfigurationElement.cs (ElementProperty): make this protected
663         internal virtual instead of public.
664         (SetPropertyValue): add a validator call and a blurb about the
665         code based on information gleaned from tests.
666         (set_Item (string)): call SetPropertyValue in the setter.
667         
668 2005-11-14  Chris Toshok  <toshok@ximian.com>
669
670         * CommaDelimitedStringCollection.cs: reformat things a bit, and
671         flag ToString() as override.
672
673         * DefaultSection.cs: new stubbed out implementation.
674
675         * CommaDelimitedStringCollectionConverter.cs: new implementation.
676
677 2005-11-10  Chris Toshok  <toshok@ximian.com>
678
679         * AppSettingsSection.cs (DeserializeElement): stop explicitly
680         calling Settings.DeserializeElement, as the DefaultCollection
681         works now.
682
683         * ConfigurationElement.cs (DeserializeElement): rework the loop
684         here so that we actually loop over all the content elements.
685
686 2005-11-09  Chris Toshok  <toshok@ximian.com>
687
688         * ConfigurationElement.cs: Add support for DefaultCollection
689         attributes.
690
691         * PropertyInformation.cs (PropertyInformation.Value): add case for
692         IsDefaultCollection.
693
694         * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
695         a "type" attribute, make sure the cached System.Type is cleared.
696
697 2005-10-25  Chris Toshok  <toshok@ximian.com>
698
699         * InfiniteTimeSpanConverter.cs: new implementation.
700
701         * InfiniteIntConverter.cs: new implementation.
702
703         * GenericEnumConverter.cs: new implementation.
704
705         * Configuration.cs: we don't need to check with "is" after we use
706         "as"..  just check for null-ness.
707
708         * KeyValueConfigurationCollection.cs: GetElementKey should throw
709         NRE if element == null.
710
711         * CommaDelimitedStringCollection.cs: raise the correct exceptions
712         in the read only case, and return null from ToString if there are
713         0 elements.
714
715 2005-10-25  Chris Toshok  <toshok@ximian.com>
716
717         * PositiveTimeSpanValidatorAttribute.cs: new implementation.
718
719         * PositiveTimeSpanValidator.cs: new implementation.
720
721 2005-10-24  Chris Toshok  <toshok@ximian.com>
722
723         * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
724
725         * TypeNameConverter.cs: new implementation.
726
727         * WhiteSpaceTrimStringConverter.cs: new implementation.
728
729 2005-10-24  Chris Toshok  <toshok@ximian.com>
730
731         * AppSettingsSection.cs (DeserializeElement, SerializeSection):
732         split the behavior based on if File == "".  If it is, we do the
733         default.  otherwise we throw NIE.
734
735         * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
736         need this, but we do until the IsDefaultCollection stuff is fixed.
737
738         * ConfigurationElementCollection.cs
739         (OnDeserializeUnrecognizedElement): for clearElementName, make
740         sure we have no attributes.
741
742         * ConnectionStringSettingsCollection.cs (get_Properties): for now
743         just chain up to base.Properties.
744
745         * ConfigurationElement.cs (ReflectProperties): do the default
746         value/property type check in a more robust way, using
747         Convert.ChangeType.
748
749 2005-10-24  Chris Toshok  <toshok@ximian.com>
750
751         * ConfigurationElement.cs: treat
752         ConfigurationProperty.NoDefaultValue the same as null when we're
753         checking the default value's type.  this fixes t13 and 14.
754
755         * ConnectionStringsSection.cs (ConnectionStrings): fix the
756         DefaultValue in the ConfigurationPropertyAttribute.
757
758 2005-10-24  Chris Toshok  <toshok@ximian.com>
759
760         * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
761         one test to get another working.  Return a valid key even if the
762         element is not in this collection.
763         (get_ThrowOnDuplicate): return false.
764
765         * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
766         element with the same key, overwrite the old one (remove the old
767         one after inserting the new one).  Also, re-enable the throwing of
768         exceptions if ThrowOnDuplicate == true.
769
770 2005-10-24  Chris Toshok  <toshok@ximian.com>
771
772         * AppSettingsSection.cs (Settings): fix ConfigurationProperty
773         attribute.
774
775         * ProtectedConfigurationSection.cs (Providers): same.
776
777 2005-10-12  Chris Toshok  <toshok@ximian.com>
778
779         * ConfigurationPermission.cs: flesh out as per tests.
780
781 2005-10-11  Chris Toshok  <toshok@ximian.com>
782
783         * ConfigurationProperty.cs: don't use null to mean no default
784         value, use NoDefaultValue.
785
786 2005-10-11  Chris Toshok  <toshok@ximian.com>
787
788         * KeyValueConfigurationCollection.cs (GetElementKey): duh.
789         BaseGet calls GetElementKey, so we were hitting an infinite
790         recursion here.  Use BaseIndexOf instead.
791
792 2005-10-07  Chris Toshok  <toshok@ximian.com>
793
794         * InternalConfigurationHost.cs: some interface work, adding in the
795         new methods.
796
797         * ConfigurationProperty.cs: remove debug spew.
798
799         * Configuration.cs: add NIE'd NamespaceDeclared property.
800
801         * ElementInformation.cs: add NIE'd Errors property.
802
803         * PropertyInformationCollection.cs: add NIE'd GetObjectData().
804
805         * ConfigurationManager.cs: quite a bit of new work here.  Some
806         definie TODO's still though.
807
808 2005-10-07  Chris Toshok  <toshok@ximian.com>
809
810         * ConfigurationErrorsException.cs (.ctor): for the (string)
811         overload, chain up to the base (string) ctor.
812
813 2005-10-07  Chris Toshok  <toshok@ximian.com>
814
815         * ConfigurationElement.cs (ElementMap.ReflectProperties): make
816         sure the type of the default value is compatible with that of the
817         property itself, and throw ConfigurationErrorsException if they
818         don't match.  Fixes t12.
819
820 2005-10-07  Chris Toshok  <toshok@ximian.com>
821
822         * ConfigHelper.cs: remove some unused code.
823
824         * ConfigurationProperty.cs: disambiguate the ctor we chain to.
825
826         * ConfigurationElement.cs (ElementProperty): implement.
827         (ElementMap.ReflectProperties): make DefaultValidator the default
828         validator, not null.
829
830 2005-10-06  Chris Toshok  <toshok@ximian.com>
831
832         * KeyValueConfigurationElement.cs: uncomment out some stuff.
833         (Properties): just return base.Properties.  Not sure why they
834         override this, as the base class's implementation passes our test.
835
836         * KeyValueConfigurationCollection.cs (Add): for the keyValue
837         overload, call keyValue.Init as the unit test stack traces
838         indicates that'9s where it's called.  For the string,string
839         overload, just call the keyValue overload instead of calling
840         BaseAdd.
841         (CreateNewElement): just use the name/value ctor, and specify ""
842         for each.
843         (GetElementKey): this function always returns "" for elements that
844         haven't been added to the collection.  Once theyre added, it seems
845         to always return keyValue.Key.
846         (Properties): the unit tests show this returns a 0 length
847         collection.
848
849 2005-10-05  Chris Toshok  <toshok@ximian.com>
850
851         * ConfigurationPermissionAttribute.cs: stub out.
852
853 2005-10-05  Chris Toshok  <toshok@ximian.com>
854
855         * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
856         implementation.
857
858 2005-10-05  Chris Toshok  <toshok@ximian.com>
859
860         * TimeSpanSecondsConverter.cs: new implementation.
861
862 2005-10-05  Chris Toshok  <toshok@ximian.com>
863
864         * TimeSpanMinutesConverter.cs: flesh out implementation.
865
866         * ConfigurationConverterBase.cs: make all subclasses work with
867         strings only, since that's what seems to manifest itself in the
868         tests.
869
870 2005-10-05  Chris Toshok  <toshok@ximian.com>
871
872         * ConfigurationLockCollection.cs: add NIE'd AttributeList
873         property.
874
875         * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
876         CanConvertTo methods.
877
878         * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
879
880         * ProtectedConfigurationSection.cs: add NIE'd properties.
881
882         * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
883         and SetReadOnly methods, and have then chain up to the base class.
884
885         * KeyValueConfigurationCollection.cs: add the class level
886         ConfigurationCollectionAttribute, and add a NIE'ed Properties
887         property.
888
889         * ProviderSettingsCollection.cs: add the class level
890         ConfigurationCollectionAttribute, and add a "new" keyword to the
891         this property.  Also, nuke the Provider's property.
892
893         * SectionInformation.cs: add some NEI'd properties.
894
895         * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
896         chain up to base class's method instead of throwing NIE.
897
898         * ConnectionStringSettingsCollection.cs: add the class-level
899         ConfigurationCollectionAttribute, and add the unimplemented
900         Properties property.
901
902         * ConfigurationErrorsException.cs: flesh this out, and add a
903         pragma to disable the obsolete warnings from our base class.
904
905         * ProviderSettings.cs: add unimplemented Properties property.
906
907         * ConfigurationElement.cs: remove unnecessary
908         EvaluationInformation.
909
910         * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
911         property.
912
913         * ConfigurationProperty.cs: add a missing ctor.
914
915         * AppSettingsSection.cs: add missing "override" keyword.
916
917         * ConnectionStringsSection.cs: remove override.
918         
919         * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
920         unimplemented GetObjectData override.
921
922         * ConfigurationSectionGroupCollection.cs: same.
923
924         * ConfigurationCollectionAttribute.cs: add missing CollectionType
925         property.
926
927 2005-10-05  Chris Toshok  <toshok@ximian.com>
928
929         * ConfigurationPermission.cs: new implementation.
930
931         * IgnoreSection.cs: new implementation.
932
933 2005-10-05  Chris Toshok  <toshok@ximian.com>
934
935         * CommaDelimitedStringCollection.cs: new implementation.
936
937 2005-10-05  Chris Toshok  <toshok@ximian.com>
938
939         * NameValueConfigurationCollection.cs: new implementation.
940
941         * NameValueConfigurationElement.cs: new implementation.
942
943 2005-10-05  Chris Toshok  <toshok@ximian.com>
944
945         * ValidatorCallback.cs: new implementation.
946
947         * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
948         implementation.
949
950         * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
951         implementation.
952
953         * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
954         implementation.
955
956         * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
957
958         * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
959         implementation.
960
961         * DefaultValidator.cs: new implementation.
962
963 2005-09-28  Chris Toshok  <toshok@ximian.com>
964
965         * ConfigurationElementCollection.cs: more work on the "<clear />"
966         handling - just skip the element for now.  this causes a failure
967         in one test ('<clear hi="bye" />' doesn't throw an exception when
968         it should), but it succeeds for collections that have required
969         attributes.
970
971         * ConnectionStringSettings.cs: providerName isn't a required
972         attribute.
973
974         * AppSettingsSection.cs (.cctor): initialize our "file" Property.
975         (File): implement.
976         (Properties): fix.
977         (GetRuntimeObject): call the base class method instead of just
978         returning "this".
979
980         * ConnectionStringsSection.cs: Add a hacky DeserializeElement
981         method here (that isn't in MS's) for the time being so we actually
982         deserialize our collection.
983
984 2005-09-28  Chris Toshok  <toshok@ximian.com>
985
986         * KeyValueInternalCollection.cs: found this by way of a stack
987         trace in one of the tests.  A NameValueCollection that wraps a
988         KeyValueConfigurationCollection.
989
990         * Configuration.cs (Init): save off configPath.
991         (EvaluationContext): new, mostly implemented.
992         (GetSectionInstance): use IgnoreSection instead of
993         RuntimeOnlySection.
994         (Load): don't fail when we can't load a file.
995
996         * IgnoreSection.cs: replace RuntimeOnlySection with this new
997         public type.
998
999         * RuntimeOnlySection.cs: nuke.
1000         
1001 2005-09-27  Chris Toshok  <toshok@ximian.com>
1002
1003         * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
1004
1005 2005-09-27  Chris Toshok  <toshok@ximian.com>
1006
1007         * ConfigurationProperty.cs: add IsDefaultCollection property.
1008
1009 2005-09-27  Chris Toshok  <toshok@ximian.com>
1010
1011         * ConfigurationElementProperty.cs: new file.
1012
1013         * ConfigurationLockCollection.cs: new file.
1014
1015         * ConfigurationElementCollection.cs
1016         (OnDeserializeUnrecognizedElement): make sure we consume the
1017         <clear /> element so we don't into an endless loop.
1018
1019         * ConfigurationElement.cs: add a bunch of NIE's properties.
1020
1021         * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
1022
1023 2005-09-23  Chris Toshok  <toshok@ximian.com>
1024
1025         * AppSettingsSection.cs: fix build and add a couple of TODO'ed
1026         properties.
1027
1028 2005-09-23  Chris Toshok  <toshok@ximian.com>
1029
1030         * ProviderSettings.cs (Unmerge): track change to
1031         ConfigurationElement.Unmerge.
1032
1033         * ConfigurationSection.cs: add functions nuked from
1034         ConfigurationElement here.
1035
1036         * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
1037         to the class.
1038         (BaseGetAllKeys): returns object[], not string[].
1039         (BaseGetKey): returns object, not string.
1040         (Unmerge): track change to ConfigurationElement.Unmerge signature.
1041
1042         * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
1043         signature (drop the serializeCollectionKey parameter).
1044         
1045
1046 2005-09-23  Chris Toshok  <toshok@ximian.com>
1047
1048         * StringValidator.cs: throw ArgumentException instead of
1049         ConfigurationErrorsException.
1050
1051 2005-09-23  Chris Toshok  <toshok@ximian.com>
1052
1053         * ConnectionStringsSection.cs: track change to
1054         ConfigurationPropertyOptions.
1055
1056         * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
1057         ProviderSettings.cs: track change to ConfigurationPropertyOptions.
1058
1059         * ConnectionStringSettings.cs: track change to
1060         ConfigurationProprertyOptions, and add some ConfigurationProperty
1061         attributes.
1062         
1063         * ConfigurationPropertyOptions.cs: DefaultCollection ->
1064         IsDefaultCollection, Required -> IsRequired.
1065
1066 2005-09-22  Chris Toshok  <toshok@ximian.com>
1067
1068         * PositiveTimeSpanValidator.cs: this lives in
1069         System.Web.Configuration, not System.Configuration.
1070
1071 2005-09-22  Chris Toshok  <toshok@ximian.com>
1072
1073         * TimeSpanValidator.cs: change to ArgumentException and alter the
1074         messages slightly.
1075
1076 2005-09-22  Chris Toshok  <toshok@ximian.com>
1077
1078         * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
1079
1080 2005-07-01  Lluis Sanchez Gual  <lluis@novell.com>
1081
1082         * ProviderSettings.cs: Implemented properties using property attributes.
1083         * ConfigurationElement.cs: Implemented ElementInformation property and
1084         moved there all value management.
1085         * ProtectedConfigurationProvider.cs: Set the correct base class.
1086         * SectionInformation.cs: Added missing AllowExeDefinition property.
1087         * TimeSpanValidatorAttribute.cs: Implemented.
1088         * StringValidator.cs: Implemented.
1089         * ProviderSettingsCollection.cs: Added missing class attribute.
1090         * ConfigurationSaveMode.cs: Fix enum values.
1091         * ConfigurationElementCollection.cs: Added Init method for initializing
1092         elements from properties.
1093         * StringValidatorAttribute.cs: Implemented.
1094         * ConfigurationLocation.cs: Added support for allowOverride flag.
1095         * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
1096         * PositiveTimeSpanValidator.cs: Implemented.
1097         * TimeSpanMinutesConverter.cs: Created skeleton class.
1098         * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
1099         AllowDefinition and AllowExeDefinition.
1100         * TimeSpanValidator.cs: Implemented.
1101         * ConfigurationConverterBase.cs: Created skeleton class.
1102         * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
1103         VerifyDefinitionAllowed.
1104         * ConfigurationManager.cs: That class must be static.
1105         * PropertyInformationCollection.cs: Implemented.
1106         * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
1107         so on. In Save(), don't forget to save location elements.
1108         * ConfigurationProperty.cs: Keep track of collection attributes.
1109         * ConfigInfo.cs: Support overrideAllowed flag.
1110         * KeyValueConfigurationElement.cs: Define properties using attributes.
1111         * PropertyValueOrigin.cs: implemented.
1112         * PropertyInformation.cs: Mostly implemented.
1113         * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
1114         * ElementInformation.cs: Mostly implemented.
1115         * ConfigurationPropertyAttribute.cs: Set the correct default value.
1116         * ConfigurationCollectionAttribute.cs: Implemented.
1117
1118 2005-06-23  Lluis Sanchez Gual <lluis@novell.com>
1119
1120         * SectionInfo.cs: Set the config host when loading the section.
1121         * InternalConfigurationHost.cs: Implemented some basic methods.
1122         * Configuration.cs: Find the correct parent for the configuration,
1123         taking into accound locations and such. Use Host functions to get
1124         types from names.
1125         * ConfigurationLocationCollection.cs: Added find method.
1126         * ConfigInfo.cs: Added Host property.
1127         * InternalConfigurationFactory.cs: The InitForConfiguration calls
1128         are now done in each correspoding configuration.
1129         * SectionGroupInfo.cs: When reading a location element, create
1130         a Configuration object for each path specified in the location.
1131         * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
1132         method, which properly initializes the created element.
1133         * ConfigurationLocation.cs: OpenConfiguration now has to read the
1134         xml contents. It also has to find the correct parent configuration,
1135         if it has not been specified.
1136
1137 2005-06-17  Lluis Sanchez Gual <lluis@novell.com>
1138
1139         * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
1140         * ConfigurationPropertyCollection.cs: Added Clear method.
1141         * ContextInformation.cs: Implemented.
1142         * ConfigurationManager.cs: Implemented some missing methods.
1143         Configuration objects are now created through the ConfigurationFactory.
1144         * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
1145         to be used for exe files and machine.config.
1146         * ConfigurationFileMap.cs: Implemented.
1147         * Configuration.cs: Read and write config files using the methods that
1148           IInternalConfigHost provides.
1149         * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
1150         * ExeContext.cs: Implemented.
1151         * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
1152         collection to store values.
1153         * KeyValueConfigurationElement.cs: Implemented.
1154         * KeyValueConfigurationCollection.cs: Implemented.
1155         * InternalConfigurationFactory.cs: An implementation of 
1156         IInternalConfigConfigurationFactory.
1157         * ConfigurationPropertyAttribute.cs: Added missing attributes.
1158         * ExeConfigurationFileMap.cs: Implemented.
1159
1160 2005-06-15  Lluis Sanchez Gual <lluis@novell.com>
1161
1162         * ConfigurationElement.cs, ConfigurationErrorsException.cs
1163         SectionInfo.cs, ConnectionStringSettingsCollection.cs,
1164         ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
1165         ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
1166         ConfigurationElementCollectionType.cs, Configuration.cs, 
1167         ConnectionStringSettings.cs, ConfigurationProperty.cs,
1168         ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
1169         ConfigurationAllowDefinition.cs, ConfigInfo.cs,
1170         ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
1171         ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
1172         SectionGroupInfo.cs, ConfigurationUserLevel.cs,
1173         ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
1174         ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
1175         ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
1176         ProviderSettings.cs: 
1177                 Track API changes.
1178         
1179         * ConfigurationElementCollection.cs: Implemented support for Basic
1180         collection type. Other fixes.
1181         
1182         * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
1183         * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
1184         
1185         * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
1186         ConfigurationManager.cs, ConfigurationSaveMode.cs,
1187         ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
1188         ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
1189                 New files.
1190         
1191         * ConfigurationValidationAttribute.cs: Removed.
1192         
1193         * ProviderBase.cs: Moved to System.dll.
1194
1195 2005-06-14  Lluis Sanchez Gual <lluis@novell.com>
1196
1197         * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
1198         ConfigurationAllowDefinition.cs, ConfigurationElement.cs
1199         ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
1200         ConfigurationLocation.cs, ConfigurationLocationCollection.cs
1201         ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
1202         ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
1203         ConfigurationSection.cs, ConfigurationSectionCollection.cs
1204         ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
1205         ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
1206         ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
1207         ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
1208         IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
1209         NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
1210         ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
1211         RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
1212         TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
1213         TimeSpanSerializedFormat.cs:
1214
1215         Moved from the System assembly.