1 2008-03-20 Igor Zelmanovich <igorz@mainsoft.com>
4 * ConfigurationElement.cs:
5 implement EvaluationContext property.
7 2008-03-01 Marek Habersack <mhabersack@novell.com>
9 * SectionInformation.cs: added an internal property -
10 ConfigFilePath, used when deserializing a section in
11 ConfigurationSection.GetRuntimeObject.
13 * Configuration.cs: set SectionInformation.ConfigFilePath when
14 getting an instance of a section.
16 * ConfigurationSection.cs: support the 'configSource' attribute
17 when section is read through GetRuntimeObject.
19 2008-02-21 Marek Habersack <mhabersack@novell.com>
21 * Configuration.cs: if the section being deserialized uses the
22 configSource attribute, call the section's DeserializeConfigSource
25 * SectionInfo.cs: WriteData takes care of writing the section data
26 to the configSource file, if any.
28 * ConfigurationSection.cs: moved reading of the configSource
29 external data file to a separate internal method,
30 DeserializeConfigSource. Section's source config file path is now
31 used to find the configSource.
32 SerializeSection now doesn't write the section content to the
33 passed writer if configSource was used. Writing of the section
34 data is now done in SectionInfo.
36 * ConfigurationElement.cs: added a new method -
37 HasLocalModifications which returns true of any of the element
38 properties have been set locally on that element.
40 2008-02-20 Marek Habersack <mhabersack@novell.com>
42 * ConfigurationSection.cs: support the "configSource" attribute
43 when deserializing a section. Contents of the file (if it exists)
44 replaces the previous section contents.
46 * ConfigurationElement.cs: ignore the "configSource" attribute if we're a
47 ConfigurationSection instance.
48 HasValues () returns true only if any of the properties has the
49 origin set to SetHere.
51 2008-02-07 Konstantin Triger <kostat@mainsoft.com>
53 * ClientConfigurationSystem.cs: performance: refactor out the Configuration
54 object construction from GetSection() to the ctor.
56 2008-01-16 Zoltan Varga <vargaz@gmail.com>
58 * ConfigurationElement.cs: Allow non-public constructors. Fixes #353554.
60 * PropertyInformation.cs: Allow non-public constructors. Fixes #353557.
62 * ConfigurationElement.cs: Consider non-public properties as well. Fixes
65 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
67 * ConfigurationLocationCollection.cs: Avoid infinite recursion.
70 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
72 * KeyValueInternalCollection.cs: properly override NameValueCollection
73 to support interop with it.
75 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
77 * ConfigurationElement.cs:
78 1. typo - pass the correct property to Attribute.GetCustomAttribute.
79 2. Pass oroginal exception as inner.
81 2007-12-05 Marek Habersack <mhabersack@novell.com>
83 * ConfigurationElement.cs: some property values may be null
84 objects in GetHashCode.
86 2007-11-23 Marek Habersack <mhabersack@novell.com>
88 * ConfigurationElementCollection.cs: ThrowOnDuplicate returns true
89 if the collection is one of the AddRemoveClearMap or
90 AddRemoveClearMapAlternate types.
92 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
94 Part of fix for bug #323708.
95 * ConfigurationSection.cs : in GetRuntimeObject(), take parent
96 section instance into consideration.
97 * SectionInformation.cs : to make it possible, GetParentSection()
98 should be implemented.
99 * Configuration.cs : to make it possible, GetSectionInstance()
100 should set parent section on its SectionInformation. It used to
101 just steal parent's xml when its own xml does not exist, but
102 it now blocks correct configuration retrieval.
104 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
106 * SectionGroupInfo.cs : remove extra StringBuilder creation.
108 2007-11-14 Atsushi Enomoto <atsushi@ximian.com>
110 * Configuration.cs : (Save) when the given file path is relative
111 it failed to create directory. Fixed standalone test t25/t26.
112 * InternalConfigurationHost.cs : pass userLevel to create a host
115 2007-10-04 Atsushi Enomoto <atsushi@ximian.com>
117 * InternalConfigurationHost.cs : when the streamName is for
118 machine.config, try get_bundled_machine_config() icall first.
119 This hopefully implements the requested feature in bug #325022.
120 * Configuration.cs : added comment.
122 2007-08-31 Gert Driesen <drieseng@users.sourceforge.net>
124 * ConfigurationManager.cs: Fixed line endings. Avoid warning by
125 changing accessibility of ChangeConfigurationSystem to internal.
126 * Configuration.cs: Fixed compiler warnings.
127 * DpapiProtectedConfigurationProvider.cs: Fixed line endings.
129 2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
131 * ConfigurationManager.cs : To open exe configuration, use
132 GetEntryAssembly() first, and GetCallingAssembly() only when
133 it was not found. Should fix bug #82071.
135 2007-06-21 Atsushi Enomoto <atsushi@ximian.com>
137 * Configuration.cs, InternalConfigurationHost.cs :
138 configuration file to write might be given as an absolute path,
139 where the ancestor directories may not exist.
141 2007-06-20 Atsushi Enomoto <atsushi@ximian.com>
143 * ConfigurationManager.cs : in OpenExeConfiguration() and
144 OpenMappedExeConfiguration(), take userLevel into consideration.
145 * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
146 use correct config map file in InitForConfiguration().
148 2007-06-18 Atsushi Enomoto <atsushi@ximian.com>
150 * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
151 returns non-null. Patch by Patrick Perry.
153 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
155 * ConfigurationElement.cs : SerializeToXmlElement() should be
156 called regardless of HasValues() return value, especially since
157 it could be overriden (e.g. in SettingsValueElement).
159 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
161 * ConfigurationSectionGroup.cs
162 Configuration.cs : ConfigurationSectionGroup must be initialized
163 at least when being added to a collection.
165 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
167 * ConfigurationElement.cs: refactored GetKeyProperties and
168 GetDefaultCollection methods, map should not be used here, Properties
169 will do instead. Refactored ElementMap class
170 * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
171 should not be called here
172 * ElementInformation.cs: fixed Properties, moved to ctor to be thread
174 * PropertyInformation.cs: members assigned readonly modifier
176 2007-05-30 Marek Habersack <mhabersack@novell.com>
178 * SectionGroupInfo.cs: <location> elements are case-insensitive
179 and the same 'path' attribute may be used only once.
181 * ConfigurationLocationCollection.cs: Find should be
182 case-insensitive for all targets, not just TARGET_JVM.
184 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
186 * Configuration.cs: FilePath implemented according to MSDN:
187 If the value for this FilePath property represents a merged view and
188 no actual file exists for the application, the path to the parent
189 configuration file is returned.
191 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
194 * ConfigurationLocation.cs:
195 implemented EvaluationContext property.
197 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
199 * ConfigurationLocationCollection.cs: for TARGET_JVM only:
200 location path is case-insensitive.
202 2007-05-15 Marek Habersack <mhabersack@novell.com>
204 * ConfigurationElement.cs: added value validation on
205 deserialization from the config file.
207 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
209 * ConfigurationElement.cs: when attribute value cannot be parsed,
210 ConfigurationErrorException is thrown.
212 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
214 * ConfigurationManager.cs:
215 added MonoLimitation attribute for TARGATE_JVM.
217 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
219 * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause
220 property doesn't hide any inherit property.
222 2007-04-24 Atsushi Enomoto <atsushi@ximian.com>
224 * InternalConfigurationHost.cs : machine configuration covers all
225 ConfigurationAllowDefinition values.
227 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
229 * ConfigurationSectionCollection.cs : GetEnumerator() should return
230 IEnumerator for the items, not keys.
231 * ConfigurationProperty.cs : more helpful type mismatch message.
233 2007-04-16 Marek Habersack <mhabersack@novell.com>
235 * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
236 #81321 and several other related issues that were discovered by
237 the way. Thanks to Atsushi for help with XmlReader!
239 2007-04-15 Marek Habersack <mhabersack@novell.com>
241 * SectionGroupInfo.cs: another incarnation of the fix for bug
244 2007-04-12 Marek Habersack <mhabersack@novell.com>
246 * SectionGroupInfo.cs: a better fix for #81321
248 2007-04-10 Marek Habersack <mhabersack@novell.com>
250 * SectionGroupInfo.cs: make sure empty sections with the
251 short-circuit tag ends (<section/>) don't make the process loop
252 endlessly. Fixes bug #81321.
254 2007-03-22 Konstantin Triger <kostat@mainsoft.com>
256 * ConfigInfo.cs: should be able instantiate types with private ctors.
258 2007-03-19 Vladimir Krasnov <vladimirk@mainsoft.com>
260 * ConfigurationSectionCollection.cs,
261 * ConfigurationSectionGroupCollection.cs,
262 * PropertyInformationCollection.cs,
263 * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
266 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
268 * ConfigurationSectionCollection.cs,
269 * ConfigurationSectionGroupCollection.cs,
270 * PropertyInformationCollection.cs,
271 * SectionGroupInfo.cs: these collections should be based on case
272 insensitive NameObjectCollectionBase
273 * added OrdinalComparer.cs for use in NameObjectCollectionBase
275 2007-02-07 Atsushi Enomoto <atsushi@ximian.com>
277 * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
279 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
281 * ConfigurationElement.cs: ignore properties with null or empty name.
283 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
285 * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
286 current element, and only if failed delegate to default collection.
288 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
290 * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
291 identical element when collection type is not alternate
293 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
295 * ConnectionStringSettingsCollection.cs: made connection string key
298 2006-12-27 Atsushi Enomoto <atsushi@ximian.com>
300 * ConfigurationElementCollection.cs : fixed BaseAdd() with
301 throwIfExists to not raise an error for identical element
302 but for different element which shares the same key. Fix by
305 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
307 * ConfigurationProperty.cs: fixed DefaultValue of type Enum
309 2006-12-10 Konstantin Triger <kostat@mainsoft.com>
311 * ConfigurationElement.cs: Delegate parameter checking and default
312 assigning to Configuratin property.
313 * ConfigurationProperty.cs:
314 Ensure the TypeConvert and Validator always exist.
315 Ensure the primitive types are properly initialized.
317 2006-12-09 Vladimir Krasnov <vladimirk@mainsoft.com>
319 * ConfigurationElementCollection.cs
320 * ConfigurationRemoveElement.cs: fixed key for <remove> element in
321 ConfigurationRemoveElement class
323 2006-11-28 Marek Habersack <grendello@gmail.com>
325 * SectionGroupInfo.cs: Implement merging of section groups with
326 the same names and parents.
328 * ConfigInfo.cs: Add an abstract method for merging sections.
330 * SectionInfo.cs: Add implementation of an abstract base method
332 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
334 * SectionInfo.cs: refactoring - remove unneeded bool? usage.
336 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
338 * added: ConfigurationRemoveElement.cs, common element for <remove>
339 * ConnectionStringSettingsCollection.cs: reverted last fix for
341 * ConfigurationElementCollection.cs: fixed the way that
342 OnDeserializeUnrecognizedElement method handles <remove> element
344 2006-11-02 Vladimir Krasnov <vladimirk@mainsoft.com>
346 * ConfigurationElement.cs: typo in DefaultCollectionProperty
349 2006-10-30 Joel Reed <joel.reed@ddiworld.com>
351 * NameValueConfigurationCollection.cs: Implement the Properties
354 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
356 * ConfigurationLocation.cs: do not read root element, correctly close stream.
357 * Configuration.cs: use ReadData for nested content to throw if location
358 elements are encounterd.
359 In constructor taking parent Configurqation: do not call Init and so avoid
360 rereading config file.
362 2006-09-05 Vladimir Krasnov <vladimirk@mainsoft.com>
364 * NameValueConfigurationElement.cs: fixed functionality
365 * ConfigurationElementCollection.cs,
366 ConnectionStringSettingsCollection.cs: fixed <remove> element in
367 connectionStrings section
369 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
371 * ConfigurationSection.cs: for net 1.1 SectionHandlers: return null in case
372 RawXml is null, as net 1.1 does.
374 2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com>
376 * ConfigurationFileMap.cs: added TARGET_JVM on not supported members
379 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
381 * ConfigurationManager.cs : OpenExeConfiguration(null) should still
382 work. This is required for embedded scenario.
384 2006-06-10 Atsushi Enomoto <atsushi@ximian.com>
386 * SectionGroupInfo.cs : skip <dllmap> in configuration.
388 2006-05-14 Atsushi Enomoto <atsushi@ximian.com>
390 * ConfigurationManager.cs: since ConfigurationSystem is different
391 for web.config, cast from ConfigurationSection to runtime object
392 should be done at GetSection().
393 This really fixed bug #78372.
395 2006-05-12 Atsushi Enomoto <atsushi@ximian.com>
397 * Configuration.cs : configPath is null for machine.config, so don't
398 use it. Use streamName instead. To my understanding, this should
401 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
403 * ConnectionStringSettings.cs : it seems that "name" property
404 could be null i.e. there is no StringValidator.
405 * StringValidator.cs : allow null.
407 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
409 * ConfigurationManager.cs : use GetCallingAssembly() instead of
410 GetEntryAssembly() which possibly returns null (e.g. nunit) in
411 OpenExeConfiguration(). Several nunit test failures are gone.
413 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
415 * ConnectionStringSettings.cs : oops, this API fix broke standalone
418 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
420 * ConfigurationElement.cs,
421 ConfigurationErrorsException.cs,
422 ConfigurationUserLevel.cs,
423 ConfigurationPropertyOptions.cs,
424 ConnectionStringSettings.cs : assorted minor corcompare fixes.
426 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
428 * Configuration.cs : some kind of refactoring is absolutely needed
429 here. Reuse RawXml from parentSection when data was not available
430 on current section. This should fix bug #78353.
432 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
434 * ConfigurationElement.cs,
436 in some cases RawXml was set null string, so skip such cases.
437 * Configuration.cs : support IConfigurationSectionHandler here.
438 * ConfigurationManager.cs : GetSection() now returns name value
439 collection, not a section.
440 * ConfigurationSection.cs : added SectionHandler for
441 IConfigurationSectionHandler support, and use its Create() in
443 * ClientConfigurationSystem.cs :
444 use GetRuntimeObject() in GetSection(). Thus now
445 ConfigurationManager.GetSection() returns a runtime object.
448 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
450 * SectionGroupInfo.cs :
451 sections which are defined in sectionGroups could be directly
452 referenced, so search corresponding section recursively.
453 * DefaultSection.cs : It does not reject unrecognized contents.
455 2006-04-26 Chris Toshok <toshok@ximian.com>
457 * SectionInformation.cs (.ctor): add MonoTODO about the default
458 value for require_permission.
459 (RequirePermission): implement the getter/setter for this so
460 Atsushi's previous commit doesn't break everything :)
462 2006-04-26 Atsushi Enomoto <atsushi@ximian.com>
465 SectionInfo.cs : added support for "requirePermission" attribute
466 in "section" element. This fixes bug #77957.
468 2006-04-25 Chris Toshok <toshok@ximian.com>
470 * ConfigurationElementCollection.cs (Reset): it makes no sense to
471 pass the typename to CreateNewElementInternal. the argument is
472 the elementname. pass null instead.
475 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
477 * ConfigurationElement.cs : ListErrors() and SetPropertyValue()
479 * ConfigurationSection.cs : the .ctor() is protected.
480 * ConfigurationElementCollection.cs : CollectionType is public.
481 Count and BaseAdd() are not virtual.
482 * ConfigurationPropertyCollection.cs : Count is not virtual.
484 2006-02-01 Chris Toshok <toshok@ximian.com>
486 * ConfigurationElement.cs: revert the patch that stores and writes
487 out xmlns attributes for all elements.
489 * ClientConfigurationSystem.cs: SupportsUserConfig == false.
491 * AppSettingsSection.cs (GetRuntimeObject): call col.SetReadOnly()
492 only if SupportsUserConfig != true.
494 * ConfigurationManager.cs (ConfigurationSystem): add a property
495 like ConfigurationFactory, and use it instead of the private field
498 2006-01-26 Chris Toshok <toshok@ximian.com>
500 * SectionGroupInfo.cs (ReadContent): handle "location" (seemingly)
503 * InternalConfigurationRoot.cs: misc logical additions. still
506 * ConfigurationManager.cs (OpenExeConfigurationInternal): throw an
507 exception if both calling_assembly and exePath are null. Allow
508 the exePath to be a path to a config file as well, checking to see
509 if it ends in .config before appending.
510 (OpenExeConfiguration): stop blindly passing
511 Assembly.GetCallingAssembly. I'm assuming this will likely break
512 .dll.config usage. need to investigate that (and write more unit
514 (GetSection): call configSystem.GetSection.
515 (RefreshSection): call configSystem.RefreshSection.
516 (ChangeConfigurationSystem): modeled after the
517 ConfigurationSettings System.Web hack - allow
518 WebConfigurationManager to replace the current
519 IInternalConfigSystem.
521 * InternalConfigurationHost.cs (InternalConfigurationHost): make
522 abstract, and remove all the NotImplenmentedException's.
524 * ConfigurationElement.cs (DeserializeElement): store off the xml
525 namespace if there is one.
526 (SerializeElement): write out the namespace if there was one.
528 * ClientConfigurationSystem.cs: new class, based on some stack
529 traces I've seen in tests. Kinda (well, not *kinda*..) hacky.
531 * Configuration.cs (NamespaceDeclared): implement.
532 (Load): don't swallow all exceptions, just the ones raised when we
533 open the stream for reading.
534 (ReadConfigFile): handle xmlns.
536 2006-01-25 Chris Toshok <toshok@ximian.com>
538 * ConfigInfo.cs (ThrowException): throw a
539 ConfigurationErrorsException, not a ConfigurationException.
541 * SectionGroupInfo.cs (ReadContent): throw an exception
542 unconditionally if we see a <location>. they aren't valid in
545 2006-01-25 Chris Toshok <toshok@ximian.com>
547 * KeyValueInternalCollection.cs: don't use a nested collection,
548 just defer to our base class. This fixes usage of
549 ConfigurationManager.AppSettings.Keys.
551 2006-01-13 Chris Toshok <toshok@ximian.com>
553 * AppSettingsSection.cs (GetRuntimeObject): only access
554 Settings[key] once per iteration.
556 2006-01-09 Chris Toshok <toshok@ximian.com>
558 * ConfigurationManager.cs (AppSettings): just return
559 AppSettingsSection.GetRuntimeObject() here.
561 * AppSettingsSection.cs: fix the "file" property to match dumper
563 (GetRuntimeObject): this returns a KeyValueInternalCollection in
566 2006-01-09 Chris Toshok <toshok@ximian.com>
568 * ElementInformation.cs (Validator): if propertyInfo == null,
569 return a DefaultValidator instance.
571 2006-01-09 Chris Toshok <toshok@ximian.com>
573 * AppSettingsSection.cs (.cctor): specify null for
576 * ProtectedProviderSettings.cs (.cctor): specify null for
579 2006-01-03 Chris Toshok <toshok@ximian.com>
581 * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
582 can save to a new file.
583 (CreateSection): don't bother to set the section information's
584 Name here. we'll do it in SectionInfo.CreateInstance.
586 * ProtectedConfiguration.cs (Section): new static property so we
587 can remove all the GetSection calls.
588 (GetProvider): load a named provider, optionally throwing an
589 exception if it's not found.
591 * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
592 make these private interface implementations, and call
593 protectedSection.{EncryptSection,DecryptSection}.
595 * ProtectedConfigurationSection.cs (EncryptSection,
596 DecryptSection): add these two calls. They really shouldn't be
597 here, but I saw them in an MS stack trace and thought "why not?".
599 * ConfigurationSection.cs (SectionInformation): don't set
600 attributes here, that's done in SectionInfo.CreateInstance.
601 (DeserializeSection): shoehorn in the decryption stuff here. It
602 doesn't belong here, and I've added a MonoTODO about it. It
603 should live someplace like SectionInfo.ReadData (which would make
604 it similar to the encryption stuff in .WriteData).
606 * SectionInformation.cs (IsProtected): remove the special flag,
607 just return true if we have a non-null protection_provider.
608 (ProtectSection): do nothing but try to instantiate the named
610 (UnprotectSection): null out protection_provider.
612 * DpapiProtectedConfigurationProvider.cs: move the
613 NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
614 when parsing our machine.config file.
616 * RsaProtectedConfigurationProvider.cs: initial implementation.
617 much is missing (OAEP support, key importing, adding/deleting
618 keys), but it can be used.
620 2006-01-02 Chris Toshok <toshok@ximian.com>
622 * RsaProtectedConfigurationProvider.cs: implement the
623 CspProviderName and UseOAEP properties..
625 2006-01-02 Chris Toshok <toshok@ximian.com>
627 * ProtectedConfigurationSection.cs: flesh this out (and add logic
628 to instantiate providers, based on some of the standalone test
629 exception stack traces.)
631 * ProtectedConfiguration.cs: new implementation.
633 * ProtectedConfigurationProviderCollection.cs: new
636 * ProtectedProviderSettings.cs: new implementation.
638 * ProtectedConfigurationProvider.cs: trim the superclass's name.
640 * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
642 * DpapiProtectedConfigurationProvider.cs: add stubbed
643 implementation that throws NotSupportedException telling people
644 they should be using RsaProtectedConfigurationProvider.
646 2006-01-02 Chris Toshok <toshok@ximian.com>
648 * DefaultSection.cs (Properties): implement.
650 * IgnoreSection.cs: move from lazily creating the properties
651 collection to sharing a single one across all instances.
653 * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
655 * ConfigurationElementCollection.cs (BaseAdd) remove logic to
656 remove an old matching element.
657 (BaseGetKey): throw an exception if @index is out of range.
659 * SectionInformation.cs (SectionName): just return name, like Name
660 does.. redundant, but it matches tests.
661 (GetRawXml): implement.
662 (SetRawXml): implement.
664 * ConfigurationSection.cs (SectionInformation): fill in
665 sectionInformation.Type before returning.
666 (DeserializeSection): save off the raw xml to our
669 * ConfigurationElement.cs (LockItem): implement.
670 (DeserializeElement): add support for the "lockItem" attribute.
672 2005-12-16 Chris Toshok <toshok@ximian.com>
674 * ConfigurationLockCollection.cs (Add): only add the name if it's
676 (IsReadOnly): always return false for the time being, in the
677 non-exceptional case.
679 2005-12-15 Chris Toshok <toshok@ximian.com>
681 * ConfigurationElement.cs (LockAllAttributesExcept): implement.
682 (LockAllElementsExcept): implement.
683 (DeserializeElement): handle the built-in attributes (lock* for
686 2005-12-15 Chris Toshok <toshok@ximian.com>
688 * ConfigurationLockCollection.cs (..ctor): don't call Populate.
690 (CheckName): make sure the passes in name is valid for this type
692 (Add): call CheckName, and set is_modified to true.
693 (Clear): set is_modified.
694 (IsReadOnly): add plausable implementation, including exception in
695 the case where the name isn't found.
696 (Remove): set is_modified.
697 (SetFromList): implement.
698 (get_AttributeList): implement.
699 (set_IsModified): add internal setter so we can clear the modified
702 2005-12-12 Chris Toshok <toshok@ximian.com>
704 * AppSettingsSection.cs (DeserializeElement): provide rather naive
705 version of the file="" handling. It's enough to make our tests
708 2005-12-11 Chris Toshok <toshok@ximian.com>
710 * ConnectionStringsSection.cs (..cctor): use "" instead of null
711 for the name of the default collection.
713 * AppSettingsSection.cs (..cctor): create a property for the
715 (DeserializeElement): call base.DeserializeElement.
716 (File): index off the property, not the name.
717 (Settings): don't use an private variable here, use
720 * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
721 null for new app domains. so deal with this by calling
722 GetCallingAssembly if it's null. This is probably still wrong but
723 it doesn't NRE in xsp2.
724 (AppSettings): remove MonoTODO.
726 * KeyValueConfigurationElement.cs (..ctor): new method, create the
727 ConfigurationProperty's and the collection here.
728 (.ctor): add internal arg-less ctor.
729 (Key): use keyProp instead of "key".
730 (Value): use vlaueProp instead of "value".
731 (Properties): return our class's properties.
733 * KeyValueConfigurationCollection.cs (CreateNewElement): use the
735 (GetElementKey): re-enable the BaseIndexOf test.
737 2005-12-02 Chris Toshok <toshok@ximian.com>
739 * Configuration.cs (Save): call WriteStartDocument.
741 * ConnectionStringSettingsCollection.cs (CreateNewElement): use
742 parameter-less ctor to keep from generating exceptions when using
745 2005-12-02 Chris Toshok <toshok@ximian.com>
747 * ConnectionStringSettings.cs: tabify, fix default values, and add
748 a string validator for "name".
750 2005-12-02 Chris Toshok <toshok@ximian.com>
752 * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
753 the type check away from an exact check for
754 CommaDelimitedStringCollection to an assignable test from
755 StringCollection. This is due to the fact that AuthorizationRule
756 doesn't create CommaDelimitedStringCollections, for some odd
757 reason. It uses StringCollections.
759 * PropertyInformation.cs (Value): remove the case for
760 IsDefaultCollection - it's not necessary, as the property is an
763 * ConnectionStringSettings.cs: fix formatting and remove some
766 * ConnectionStringSettingsCollection.cs: same.
768 * ConnectionStringsSection.cs: same.
770 * ConfigurationElement.cs (SerializeToXmlElement): don't write the
771 enclosing start/end elements if the elementName is null or "".
772 this fixes the case for the DefaultCollections (at least in the
773 case of connectionStrings).
775 * IgnoreSection.cs (Properties): remove the MonoTODO.
777 * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
779 2005-11-28 Chris Toshok <toshok@ximian.com>
781 * ProviderSettings.cs: use ConfigurationProperty's to implement
784 2005-11-24 Chris Toshok <toshok@ximian.com>
786 * ConfigurationProperty.cs (Validate): add internal method.
788 2005-11-24 Chris Toshok <toshok@ximian.com>
790 * ConfigurationElement.cs (ElementProperty): make this protected
791 internal virtual instead of public.
792 (SetPropertyValue): add a validator call and a blurb about the
793 code based on information gleaned from tests.
794 (set_Item (string)): call SetPropertyValue in the setter.
796 2005-11-14 Chris Toshok <toshok@ximian.com>
798 * CommaDelimitedStringCollection.cs: reformat things a bit, and
799 flag ToString() as override.
801 * DefaultSection.cs: new stubbed out implementation.
803 * CommaDelimitedStringCollectionConverter.cs: new implementation.
805 2005-11-10 Chris Toshok <toshok@ximian.com>
807 * AppSettingsSection.cs (DeserializeElement): stop explicitly
808 calling Settings.DeserializeElement, as the DefaultCollection
811 * ConfigurationElement.cs (DeserializeElement): rework the loop
812 here so that we actually loop over all the content elements.
814 2005-11-09 Chris Toshok <toshok@ximian.com>
816 * ConfigurationElement.cs: Add support for DefaultCollection
819 * PropertyInformation.cs (PropertyInformation.Value): add case for
822 * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
823 a "type" attribute, make sure the cached System.Type is cleared.
825 2005-10-25 Chris Toshok <toshok@ximian.com>
827 * InfiniteTimeSpanConverter.cs: new implementation.
829 * InfiniteIntConverter.cs: new implementation.
831 * GenericEnumConverter.cs: new implementation.
833 * Configuration.cs: we don't need to check with "is" after we use
834 "as".. just check for null-ness.
836 * KeyValueConfigurationCollection.cs: GetElementKey should throw
837 NRE if element == null.
839 * CommaDelimitedStringCollection.cs: raise the correct exceptions
840 in the read only case, and return null from ToString if there are
843 2005-10-25 Chris Toshok <toshok@ximian.com>
845 * PositiveTimeSpanValidatorAttribute.cs: new implementation.
847 * PositiveTimeSpanValidator.cs: new implementation.
849 2005-10-24 Chris Toshok <toshok@ximian.com>
851 * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
853 * TypeNameConverter.cs: new implementation.
855 * WhiteSpaceTrimStringConverter.cs: new implementation.
857 2005-10-24 Chris Toshok <toshok@ximian.com>
859 * AppSettingsSection.cs (DeserializeElement, SerializeSection):
860 split the behavior based on if File == "". If it is, we do the
861 default. otherwise we throw NIE.
863 * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
864 need this, but we do until the IsDefaultCollection stuff is fixed.
866 * ConfigurationElementCollection.cs
867 (OnDeserializeUnrecognizedElement): for clearElementName, make
868 sure we have no attributes.
870 * ConnectionStringSettingsCollection.cs (get_Properties): for now
871 just chain up to base.Properties.
873 * ConfigurationElement.cs (ReflectProperties): do the default
874 value/property type check in a more robust way, using
877 2005-10-24 Chris Toshok <toshok@ximian.com>
879 * ConfigurationElement.cs: treat
880 ConfigurationProperty.NoDefaultValue the same as null when we're
881 checking the default value's type. this fixes t13 and 14.
883 * ConnectionStringsSection.cs (ConnectionStrings): fix the
884 DefaultValue in the ConfigurationPropertyAttribute.
886 2005-10-24 Chris Toshok <toshok@ximian.com>
888 * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
889 one test to get another working. Return a valid key even if the
890 element is not in this collection.
891 (get_ThrowOnDuplicate): return false.
893 * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
894 element with the same key, overwrite the old one (remove the old
895 one after inserting the new one). Also, re-enable the throwing of
896 exceptions if ThrowOnDuplicate == true.
898 2005-10-24 Chris Toshok <toshok@ximian.com>
900 * AppSettingsSection.cs (Settings): fix ConfigurationProperty
903 * ProtectedConfigurationSection.cs (Providers): same.
905 2005-10-12 Chris Toshok <toshok@ximian.com>
907 * ConfigurationPermission.cs: flesh out as per tests.
909 2005-10-11 Chris Toshok <toshok@ximian.com>
911 * ConfigurationProperty.cs: don't use null to mean no default
912 value, use NoDefaultValue.
914 2005-10-11 Chris Toshok <toshok@ximian.com>
916 * KeyValueConfigurationCollection.cs (GetElementKey): duh.
917 BaseGet calls GetElementKey, so we were hitting an infinite
918 recursion here. Use BaseIndexOf instead.
920 2005-10-07 Chris Toshok <toshok@ximian.com>
922 * InternalConfigurationHost.cs: some interface work, adding in the
925 * ConfigurationProperty.cs: remove debug spew.
927 * Configuration.cs: add NIE'd NamespaceDeclared property.
929 * ElementInformation.cs: add NIE'd Errors property.
931 * PropertyInformationCollection.cs: add NIE'd GetObjectData().
933 * ConfigurationManager.cs: quite a bit of new work here. Some
934 definie TODO's still though.
936 2005-10-07 Chris Toshok <toshok@ximian.com>
938 * ConfigurationErrorsException.cs (.ctor): for the (string)
939 overload, chain up to the base (string) ctor.
941 2005-10-07 Chris Toshok <toshok@ximian.com>
943 * ConfigurationElement.cs (ElementMap.ReflectProperties): make
944 sure the type of the default value is compatible with that of the
945 property itself, and throw ConfigurationErrorsException if they
946 don't match. Fixes t12.
948 2005-10-07 Chris Toshok <toshok@ximian.com>
950 * ConfigHelper.cs: remove some unused code.
952 * ConfigurationProperty.cs: disambiguate the ctor we chain to.
954 * ConfigurationElement.cs (ElementProperty): implement.
955 (ElementMap.ReflectProperties): make DefaultValidator the default
958 2005-10-06 Chris Toshok <toshok@ximian.com>
960 * KeyValueConfigurationElement.cs: uncomment out some stuff.
961 (Properties): just return base.Properties. Not sure why they
962 override this, as the base class's implementation passes our test.
964 * KeyValueConfigurationCollection.cs (Add): for the keyValue
965 overload, call keyValue.Init as the unit test stack traces
966 indicates that'9s where it's called. For the string,string
967 overload, just call the keyValue overload instead of calling
969 (CreateNewElement): just use the name/value ctor, and specify ""
971 (GetElementKey): this function always returns "" for elements that
972 haven't been added to the collection. Once theyre added, it seems
973 to always return keyValue.Key.
974 (Properties): the unit tests show this returns a 0 length
977 2005-10-05 Chris Toshok <toshok@ximian.com>
979 * ConfigurationPermissionAttribute.cs: stub out.
981 2005-10-05 Chris Toshok <toshok@ximian.com>
983 * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
986 2005-10-05 Chris Toshok <toshok@ximian.com>
988 * TimeSpanSecondsConverter.cs: new implementation.
990 2005-10-05 Chris Toshok <toshok@ximian.com>
992 * TimeSpanMinutesConverter.cs: flesh out implementation.
994 * ConfigurationConverterBase.cs: make all subclasses work with
995 strings only, since that's what seems to manifest itself in the
998 2005-10-05 Chris Toshok <toshok@ximian.com>
1000 * ConfigurationLockCollection.cs: add NIE'd AttributeList
1003 * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
1004 CanConvertTo methods.
1006 * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
1008 * ProtectedConfigurationSection.cs: add NIE'd properties.
1010 * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
1011 and SetReadOnly methods, and have then chain up to the base class.
1013 * KeyValueConfigurationCollection.cs: add the class level
1014 ConfigurationCollectionAttribute, and add a NIE'ed Properties
1017 * ProviderSettingsCollection.cs: add the class level
1018 ConfigurationCollectionAttribute, and add a "new" keyword to the
1019 this property. Also, nuke the Provider's property.
1021 * SectionInformation.cs: add some NEI'd properties.
1023 * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
1024 chain up to base class's method instead of throwing NIE.
1026 * ConnectionStringSettingsCollection.cs: add the class-level
1027 ConfigurationCollectionAttribute, and add the unimplemented
1028 Properties property.
1030 * ConfigurationErrorsException.cs: flesh this out, and add a
1031 pragma to disable the obsolete warnings from our base class.
1033 * ProviderSettings.cs: add unimplemented Properties property.
1035 * ConfigurationElement.cs: remove unnecessary
1036 EvaluationInformation.
1038 * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
1041 * ConfigurationProperty.cs: add a missing ctor.
1043 * AppSettingsSection.cs: add missing "override" keyword.
1045 * ConnectionStringsSection.cs: remove override.
1047 * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
1048 unimplemented GetObjectData override.
1050 * ConfigurationSectionGroupCollection.cs: same.
1052 * ConfigurationCollectionAttribute.cs: add missing CollectionType
1055 2005-10-05 Chris Toshok <toshok@ximian.com>
1057 * ConfigurationPermission.cs: new implementation.
1059 * IgnoreSection.cs: new implementation.
1061 2005-10-05 Chris Toshok <toshok@ximian.com>
1063 * CommaDelimitedStringCollection.cs: new implementation.
1065 2005-10-05 Chris Toshok <toshok@ximian.com>
1067 * NameValueConfigurationCollection.cs: new implementation.
1069 * NameValueConfigurationElement.cs: new implementation.
1071 2005-10-05 Chris Toshok <toshok@ximian.com>
1073 * ValidatorCallback.cs: new implementation.
1075 * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
1078 * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
1081 * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
1084 * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
1086 * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
1089 * DefaultValidator.cs: new implementation.
1091 2005-09-28 Chris Toshok <toshok@ximian.com>
1093 * ConfigurationElementCollection.cs: more work on the "<clear />"
1094 handling - just skip the element for now. this causes a failure
1095 in one test ('<clear hi="bye" />' doesn't throw an exception when
1096 it should), but it succeeds for collections that have required
1099 * ConnectionStringSettings.cs: providerName isn't a required
1102 * AppSettingsSection.cs (.cctor): initialize our "file" Property.
1105 (GetRuntimeObject): call the base class method instead of just
1108 * ConnectionStringsSection.cs: Add a hacky DeserializeElement
1109 method here (that isn't in MS's) for the time being so we actually
1110 deserialize our collection.
1112 2005-09-28 Chris Toshok <toshok@ximian.com>
1114 * KeyValueInternalCollection.cs: found this by way of a stack
1115 trace in one of the tests. A NameValueCollection that wraps a
1116 KeyValueConfigurationCollection.
1118 * Configuration.cs (Init): save off configPath.
1119 (EvaluationContext): new, mostly implemented.
1120 (GetSectionInstance): use IgnoreSection instead of
1122 (Load): don't fail when we can't load a file.
1124 * IgnoreSection.cs: replace RuntimeOnlySection with this new
1127 * RuntimeOnlySection.cs: nuke.
1129 2005-09-27 Chris Toshok <toshok@ximian.com>
1131 * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
1133 2005-09-27 Chris Toshok <toshok@ximian.com>
1135 * ConfigurationProperty.cs: add IsDefaultCollection property.
1137 2005-09-27 Chris Toshok <toshok@ximian.com>
1139 * ConfigurationElementProperty.cs: new file.
1141 * ConfigurationLockCollection.cs: new file.
1143 * ConfigurationElementCollection.cs
1144 (OnDeserializeUnrecognizedElement): make sure we consume the
1145 <clear /> element so we don't into an endless loop.
1147 * ConfigurationElement.cs: add a bunch of NIE's properties.
1149 * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
1151 2005-09-23 Chris Toshok <toshok@ximian.com>
1153 * AppSettingsSection.cs: fix build and add a couple of TODO'ed
1156 2005-09-23 Chris Toshok <toshok@ximian.com>
1158 * ProviderSettings.cs (Unmerge): track change to
1159 ConfigurationElement.Unmerge.
1161 * ConfigurationSection.cs: add functions nuked from
1162 ConfigurationElement here.
1164 * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
1166 (BaseGetAllKeys): returns object[], not string[].
1167 (BaseGetKey): returns object, not string.
1168 (Unmerge): track change to ConfigurationElement.Unmerge signature.
1170 * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
1171 signature (drop the serializeCollectionKey parameter).
1174 2005-09-23 Chris Toshok <toshok@ximian.com>
1176 * StringValidator.cs: throw ArgumentException instead of
1177 ConfigurationErrorsException.
1179 2005-09-23 Chris Toshok <toshok@ximian.com>
1181 * ConnectionStringsSection.cs: track change to
1182 ConfigurationPropertyOptions.
1184 * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
1185 ProviderSettings.cs: track change to ConfigurationPropertyOptions.
1187 * ConnectionStringSettings.cs: track change to
1188 ConfigurationProprertyOptions, and add some ConfigurationProperty
1191 * ConfigurationPropertyOptions.cs: DefaultCollection ->
1192 IsDefaultCollection, Required -> IsRequired.
1194 2005-09-22 Chris Toshok <toshok@ximian.com>
1196 * PositiveTimeSpanValidator.cs: this lives in
1197 System.Web.Configuration, not System.Configuration.
1199 2005-09-22 Chris Toshok <toshok@ximian.com>
1201 * TimeSpanValidator.cs: change to ArgumentException and alter the
1204 2005-09-22 Chris Toshok <toshok@ximian.com>
1206 * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
1208 2005-07-01 Lluis Sanchez Gual <lluis@novell.com>
1210 * ProviderSettings.cs: Implemented properties using property attributes.
1211 * ConfigurationElement.cs: Implemented ElementInformation property and
1212 moved there all value management.
1213 * ProtectedConfigurationProvider.cs: Set the correct base class.
1214 * SectionInformation.cs: Added missing AllowExeDefinition property.
1215 * TimeSpanValidatorAttribute.cs: Implemented.
1216 * StringValidator.cs: Implemented.
1217 * ProviderSettingsCollection.cs: Added missing class attribute.
1218 * ConfigurationSaveMode.cs: Fix enum values.
1219 * ConfigurationElementCollection.cs: Added Init method for initializing
1220 elements from properties.
1221 * StringValidatorAttribute.cs: Implemented.
1222 * ConfigurationLocation.cs: Added support for allowOverride flag.
1223 * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
1224 * PositiveTimeSpanValidator.cs: Implemented.
1225 * TimeSpanMinutesConverter.cs: Created skeleton class.
1226 * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
1227 AllowDefinition and AllowExeDefinition.
1228 * TimeSpanValidator.cs: Implemented.
1229 * ConfigurationConverterBase.cs: Created skeleton class.
1230 * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
1231 VerifyDefinitionAllowed.
1232 * ConfigurationManager.cs: That class must be static.
1233 * PropertyInformationCollection.cs: Implemented.
1234 * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
1235 so on. In Save(), don't forget to save location elements.
1236 * ConfigurationProperty.cs: Keep track of collection attributes.
1237 * ConfigInfo.cs: Support overrideAllowed flag.
1238 * KeyValueConfigurationElement.cs: Define properties using attributes.
1239 * PropertyValueOrigin.cs: implemented.
1240 * PropertyInformation.cs: Mostly implemented.
1241 * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
1242 * ElementInformation.cs: Mostly implemented.
1243 * ConfigurationPropertyAttribute.cs: Set the correct default value.
1244 * ConfigurationCollectionAttribute.cs: Implemented.
1246 2005-06-23 Lluis Sanchez Gual <lluis@novell.com>
1248 * SectionInfo.cs: Set the config host when loading the section.
1249 * InternalConfigurationHost.cs: Implemented some basic methods.
1250 * Configuration.cs: Find the correct parent for the configuration,
1251 taking into accound locations and such. Use Host functions to get
1253 * ConfigurationLocationCollection.cs: Added find method.
1254 * ConfigInfo.cs: Added Host property.
1255 * InternalConfigurationFactory.cs: The InitForConfiguration calls
1256 are now done in each correspoding configuration.
1257 * SectionGroupInfo.cs: When reading a location element, create
1258 a Configuration object for each path specified in the location.
1259 * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
1260 method, which properly initializes the created element.
1261 * ConfigurationLocation.cs: OpenConfiguration now has to read the
1262 xml contents. It also has to find the correct parent configuration,
1263 if it has not been specified.
1265 2005-06-17 Lluis Sanchez Gual <lluis@novell.com>
1267 * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
1268 * ConfigurationPropertyCollection.cs: Added Clear method.
1269 * ContextInformation.cs: Implemented.
1270 * ConfigurationManager.cs: Implemented some missing methods.
1271 Configuration objects are now created through the ConfigurationFactory.
1272 * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
1273 to be used for exe files and machine.config.
1274 * ConfigurationFileMap.cs: Implemented.
1275 * Configuration.cs: Read and write config files using the methods that
1276 IInternalConfigHost provides.
1277 * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
1278 * ExeContext.cs: Implemented.
1279 * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
1280 collection to store values.
1281 * KeyValueConfigurationElement.cs: Implemented.
1282 * KeyValueConfigurationCollection.cs: Implemented.
1283 * InternalConfigurationFactory.cs: An implementation of
1284 IInternalConfigConfigurationFactory.
1285 * ConfigurationPropertyAttribute.cs: Added missing attributes.
1286 * ExeConfigurationFileMap.cs: Implemented.
1288 2005-06-15 Lluis Sanchez Gual <lluis@novell.com>
1290 * ConfigurationElement.cs, ConfigurationErrorsException.cs
1291 SectionInfo.cs, ConnectionStringSettingsCollection.cs,
1292 ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
1293 ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
1294 ConfigurationElementCollectionType.cs, Configuration.cs,
1295 ConnectionStringSettings.cs, ConfigurationProperty.cs,
1296 ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
1297 ConfigurationAllowDefinition.cs, ConfigInfo.cs,
1298 ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
1299 ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
1300 SectionGroupInfo.cs, ConfigurationUserLevel.cs,
1301 ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
1302 ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
1303 ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
1304 ProviderSettings.cs:
1307 * ConfigurationElementCollection.cs: Implemented support for Basic
1308 collection type. Other fixes.
1310 * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
1311 * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
1313 * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
1314 ConfigurationManager.cs, ConfigurationSaveMode.cs,
1315 ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
1316 ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
1319 * ConfigurationValidationAttribute.cs: Removed.
1321 * ProviderBase.cs: Moved to System.dll.
1323 2005-06-14 Lluis Sanchez Gual <lluis@novell.com>
1325 * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
1326 ConfigurationAllowDefinition.cs, ConfigurationElement.cs
1327 ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
1328 ConfigurationLocation.cs, ConfigurationLocationCollection.cs
1329 ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
1330 ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
1331 ConfigurationSection.cs, ConfigurationSectionCollection.cs
1332 ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
1333 ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
1334 ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
1335 ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
1336 IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
1337 NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
1338 ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
1339 RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
1340 TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
1341 TimeSpanSerializedFormat.cs:
1343 Moved from the System assembly.