1 2008-05-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
3 * ConfigurationElement.cs: don't fail when a mandatory property is a
4 configuration element itself.
6 2008-04-30 Marek Habersack <mhabersack@novell.com>
8 * ConfigurationElement.cs: HasLocalModifications considers a
9 property modifed locally if its origin is SetHere and it's been
12 2008-03-20 Igor Zelmanovich <igorz@mainsoft.com>
15 * ConfigurationElement.cs:
16 implement EvaluationContext property.
18 2008-03-01 Marek Habersack <mhabersack@novell.com>
20 * SectionInformation.cs: added an internal property -
21 ConfigFilePath, used when deserializing a section in
22 ConfigurationSection.GetRuntimeObject.
24 * Configuration.cs: set SectionInformation.ConfigFilePath when
25 getting an instance of a section.
27 * ConfigurationSection.cs: support the 'configSource' attribute
28 when section is read through GetRuntimeObject.
30 2008-02-21 Marek Habersack <mhabersack@novell.com>
32 * Configuration.cs: if the section being deserialized uses the
33 configSource attribute, call the section's DeserializeConfigSource
36 * SectionInfo.cs: WriteData takes care of writing the section data
37 to the configSource file, if any.
39 * ConfigurationSection.cs: moved reading of the configSource
40 external data file to a separate internal method,
41 DeserializeConfigSource. Section's source config file path is now
42 used to find the configSource.
43 SerializeSection now doesn't write the section content to the
44 passed writer if configSource was used. Writing of the section
45 data is now done in SectionInfo.
47 * ConfigurationElement.cs: added a new method -
48 HasLocalModifications which returns true of any of the element
49 properties have been set locally on that element.
51 2008-02-20 Marek Habersack <mhabersack@novell.com>
53 * ConfigurationSection.cs: support the "configSource" attribute
54 when deserializing a section. Contents of the file (if it exists)
55 replaces the previous section contents.
57 * ConfigurationElement.cs: ignore the "configSource" attribute if we're a
58 ConfigurationSection instance.
59 HasValues () returns true only if any of the properties has the
60 origin set to SetHere.
62 2008-02-07 Konstantin Triger <kostat@mainsoft.com>
64 * ClientConfigurationSystem.cs: performance: refactor out the Configuration
65 object construction from GetSection() to the ctor.
67 2008-01-16 Zoltan Varga <vargaz@gmail.com>
69 * ConfigurationElement.cs: Allow non-public constructors. Fixes #353554.
71 * PropertyInformation.cs: Allow non-public constructors. Fixes #353557.
73 * ConfigurationElement.cs: Consider non-public properties as well. Fixes
76 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
78 * ConfigurationLocationCollection.cs: Avoid infinite recursion.
81 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
83 * KeyValueInternalCollection.cs: properly override NameValueCollection
84 to support interop with it.
86 2007-12-25 Konstantin Triger <kostat@mainsoft.com>
88 * ConfigurationElement.cs:
89 1. typo - pass the correct property to Attribute.GetCustomAttribute.
90 2. Pass oroginal exception as inner.
92 2007-12-05 Marek Habersack <mhabersack@novell.com>
94 * ConfigurationElement.cs: some property values may be null
95 objects in GetHashCode.
97 2007-11-23 Marek Habersack <mhabersack@novell.com>
99 * ConfigurationElementCollection.cs: ThrowOnDuplicate returns true
100 if the collection is one of the AddRemoveClearMap or
101 AddRemoveClearMapAlternate types.
103 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
105 Part of fix for bug #323708.
106 * ConfigurationSection.cs : in GetRuntimeObject(), take parent
107 section instance into consideration.
108 * SectionInformation.cs : to make it possible, GetParentSection()
109 should be implemented.
110 * Configuration.cs : to make it possible, GetSectionInstance()
111 should set parent section on its SectionInformation. It used to
112 just steal parent's xml when its own xml does not exist, but
113 it now blocks correct configuration retrieval.
115 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
117 * SectionGroupInfo.cs : remove extra StringBuilder creation.
119 2007-11-14 Atsushi Enomoto <atsushi@ximian.com>
121 * Configuration.cs : (Save) when the given file path is relative
122 it failed to create directory. Fixed standalone test t25/t26.
123 * InternalConfigurationHost.cs : pass userLevel to create a host
126 2007-10-04 Atsushi Enomoto <atsushi@ximian.com>
128 * InternalConfigurationHost.cs : when the streamName is for
129 machine.config, try get_bundled_machine_config() icall first.
130 This hopefully implements the requested feature in bug #325022.
131 * Configuration.cs : added comment.
133 2007-08-31 Gert Driesen <drieseng@users.sourceforge.net>
135 * ConfigurationManager.cs: Fixed line endings. Avoid warning by
136 changing accessibility of ChangeConfigurationSystem to internal.
137 * Configuration.cs: Fixed compiler warnings.
138 * DpapiProtectedConfigurationProvider.cs: Fixed line endings.
140 2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
142 * ConfigurationManager.cs : To open exe configuration, use
143 GetEntryAssembly() first, and GetCallingAssembly() only when
144 it was not found. Should fix bug #82071.
146 2007-06-21 Atsushi Enomoto <atsushi@ximian.com>
148 * Configuration.cs, InternalConfigurationHost.cs :
149 configuration file to write might be given as an absolute path,
150 where the ancestor directories may not exist.
152 2007-06-20 Atsushi Enomoto <atsushi@ximian.com>
154 * ConfigurationManager.cs : in OpenExeConfiguration() and
155 OpenMappedExeConfiguration(), take userLevel into consideration.
156 * InternalConfigurationHost.cs : consider ConfigurationUserLevel and
157 use correct config map file in InitForConfiguration().
159 2007-06-18 Atsushi Enomoto <atsushi@ximian.com>
161 * ClientConfigurationSystem.cs : do not asume GetEntryAssembly()
162 returns non-null. Patch by Patrick Perry.
164 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
166 * ConfigurationElement.cs : SerializeToXmlElement() should be
167 called regardless of HasValues() return value, especially since
168 it could be overriden (e.g. in SettingsValueElement).
170 2007-06-13 Atsushi Enomoto <atsushi@ximian.com>
172 * ConfigurationSectionGroup.cs
173 Configuration.cs : ConfigurationSectionGroup must be initialized
174 at least when being added to a collection.
176 2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com>
178 * ConfigurationElement.cs: refactored GetKeyProperties and
179 GetDefaultCollection methods, map should not be used here, Properties
180 will do instead. Refactored ElementMap class
181 * ConfigurationElementCollection.cs: fixed InitFromProperty, GetMap()
182 should not be called here
183 * ElementInformation.cs: fixed Properties, moved to ctor to be thread
185 * PropertyInformation.cs: members assigned readonly modifier
187 2007-05-30 Marek Habersack <mhabersack@novell.com>
189 * SectionGroupInfo.cs: <location> elements are case-insensitive
190 and the same 'path' attribute may be used only once.
192 * ConfigurationLocationCollection.cs: Find should be
193 case-insensitive for all targets, not just TARGET_JVM.
195 2007-05-17 Igor Zelmanovich <igorz@mainsoft.com>
197 * Configuration.cs: FilePath implemented according to MSDN:
198 If the value for this FilePath property represents a merged view and
199 no actual file exists for the application, the path to the parent
200 configuration file is returned.
202 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
205 * ConfigurationLocation.cs:
206 implemented EvaluationContext property.
208 2007-05-15 Igor Zelmanovich <igorz@mainsoft.com>
210 * ConfigurationLocationCollection.cs: for TARGET_JVM only:
211 location path is case-insensitive.
213 2007-05-15 Marek Habersack <mhabersack@novell.com>
215 * ConfigurationElement.cs: added value validation on
216 deserialization from the config file.
218 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
220 * ConfigurationElement.cs: when attribute value cannot be parsed,
221 ConfigurationErrorException is thrown.
223 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
225 * ConfigurationManager.cs:
226 added MonoLimitation attribute for TARGATE_JVM.
228 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
230 * ConnectionStringSettingsCollection.cs: removed 'new' keyword, cause
231 property doesn't hide any inherit property.
233 2007-04-24 Atsushi Enomoto <atsushi@ximian.com>
235 * InternalConfigurationHost.cs : machine configuration covers all
236 ConfigurationAllowDefinition values.
238 2007-04-17 Atsushi Enomoto <atsushi@ximian.com>
240 * ConfigurationSectionCollection.cs : GetEnumerator() should return
241 IEnumerator for the items, not keys.
242 * ConfigurationProperty.cs : more helpful type mismatch message.
244 2007-04-16 Marek Habersack <mhabersack@novell.com>
246 * SectionGroupInfo.cs: another (and final, hopefully) fix for bug
247 #81321 and several other related issues that were discovered by
248 the way. Thanks to Atsushi for help with XmlReader!
250 2007-04-15 Marek Habersack <mhabersack@novell.com>
252 * SectionGroupInfo.cs: another incarnation of the fix for bug
255 2007-04-12 Marek Habersack <mhabersack@novell.com>
257 * SectionGroupInfo.cs: a better fix for #81321
259 2007-04-10 Marek Habersack <mhabersack@novell.com>
261 * SectionGroupInfo.cs: make sure empty sections with the
262 short-circuit tag ends (<section/>) don't make the process loop
263 endlessly. Fixes bug #81321.
265 2007-03-22 Konstantin Triger <kostat@mainsoft.com>
267 * ConfigInfo.cs: should be able instantiate types with private ctors.
269 2007-03-19 Vladimir Krasnov <vladimirk@mainsoft.com>
271 * ConfigurationSectionCollection.cs,
272 * ConfigurationSectionGroupCollection.cs,
273 * PropertyInformationCollection.cs,
274 * SectionGroupInfo.cs: used StringComparer.Ordinal instead of
277 2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com>
279 * ConfigurationSectionCollection.cs,
280 * ConfigurationSectionGroupCollection.cs,
281 * PropertyInformationCollection.cs,
282 * SectionGroupInfo.cs: these collections should be based on case
283 insensitive NameObjectCollectionBase
284 * added OrdinalComparer.cs for use in NameObjectCollectionBase
286 2007-02-07 Atsushi Enomoto <atsushi@ximian.com>
288 * SectionInfo.cs : don't stop at restartOnExternalChanges attribute.
290 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
292 * ConfigurationElement.cs: ignore properties with null or empty name.
294 2007-01-16 Konstantin Triger <kostat@mainsoft.com>
296 * ConfigurationElement.cs: Try to deserilalize an unrecognized element by
297 current element, and only if failed delegate to default collection.
299 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
301 * ConfigurationElementCollection.cs: fixed BaseAdd, looking for
302 identical element when collection type is not alternate
304 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
306 * ConnectionStringSettingsCollection.cs: made connection string key
309 2006-12-27 Atsushi Enomoto <atsushi@ximian.com>
311 * ConfigurationElementCollection.cs : fixed BaseAdd() with
312 throwIfExists to not raise an error for identical element
313 but for different element which shares the same key. Fix by
316 2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com>
318 * ConfigurationProperty.cs: fixed DefaultValue of type Enum
320 2006-12-10 Konstantin Triger <kostat@mainsoft.com>
322 * ConfigurationElement.cs: Delegate parameter checking and default
323 assigning to Configuratin property.
324 * ConfigurationProperty.cs:
325 Ensure the TypeConvert and Validator always exist.
326 Ensure the primitive types are properly initialized.
328 2006-12-09 Vladimir Krasnov <vladimirk@mainsoft.com>
330 * ConfigurationElementCollection.cs
331 * ConfigurationRemoveElement.cs: fixed key for <remove> element in
332 ConfigurationRemoveElement class
334 2006-11-28 Marek Habersack <grendello@gmail.com>
336 * SectionGroupInfo.cs: Implement merging of section groups with
337 the same names and parents.
339 * ConfigInfo.cs: Add an abstract method for merging sections.
341 * SectionInfo.cs: Add implementation of an abstract base method
343 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
345 * SectionInfo.cs: refactoring - remove unneeded bool? usage.
347 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
349 * added: ConfigurationRemoveElement.cs, common element for <remove>
350 * ConnectionStringSettingsCollection.cs: reverted last fix for
352 * ConfigurationElementCollection.cs: fixed the way that
353 OnDeserializeUnrecognizedElement method handles <remove> element
355 2006-11-02 Vladimir Krasnov <vladimirk@mainsoft.com>
357 * ConfigurationElement.cs: typo in DefaultCollectionProperty
360 2006-10-30 Joel Reed <joel.reed@ddiworld.com>
362 * NameValueConfigurationCollection.cs: Implement the Properties
365 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
367 * ConfigurationLocation.cs: do not read root element, correctly close stream.
368 * Configuration.cs: use ReadData for nested content to throw if location
369 elements are encounterd.
370 In constructor taking parent Configurqation: do not call Init and so avoid
371 rereading config file.
373 2006-09-05 Vladimir Krasnov <vladimirk@mainsoft.com>
375 * NameValueConfigurationElement.cs: fixed functionality
376 * ConfigurationElementCollection.cs,
377 ConnectionStringSettingsCollection.cs: fixed <remove> element in
378 connectionStrings section
380 2006-08-23 Konstantin Triger <kostat@mainsoft.com>
382 * ConfigurationSection.cs: for net 1.1 SectionHandlers: return null in case
383 RawXml is null, as net 1.1 does.
385 2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com>
387 * ConfigurationFileMap.cs: added TARGET_JVM on not supported members
390 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
392 * ConfigurationManager.cs : OpenExeConfiguration(null) should still
393 work. This is required for embedded scenario.
395 2006-06-10 Atsushi Enomoto <atsushi@ximian.com>
397 * SectionGroupInfo.cs : skip <dllmap> in configuration.
399 2006-05-14 Atsushi Enomoto <atsushi@ximian.com>
401 * ConfigurationManager.cs: since ConfigurationSystem is different
402 for web.config, cast from ConfigurationSection to runtime object
403 should be done at GetSection().
404 This really fixed bug #78372.
406 2006-05-12 Atsushi Enomoto <atsushi@ximian.com>
408 * Configuration.cs : configPath is null for machine.config, so don't
409 use it. Use streamName instead. To my understanding, this should
412 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
414 * ConnectionStringSettings.cs : it seems that "name" property
415 could be null i.e. there is no StringValidator.
416 * StringValidator.cs : allow null.
418 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
420 * ConfigurationManager.cs : use GetCallingAssembly() instead of
421 GetEntryAssembly() which possibly returns null (e.g. nunit) in
422 OpenExeConfiguration(). Several nunit test failures are gone.
424 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
426 * ConnectionStringSettings.cs : oops, this API fix broke standalone
429 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
431 * ConfigurationElement.cs,
432 ConfigurationErrorsException.cs,
433 ConfigurationUserLevel.cs,
434 ConfigurationPropertyOptions.cs,
435 ConnectionStringSettings.cs : assorted minor corcompare fixes.
437 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
439 * Configuration.cs : some kind of refactoring is absolutely needed
440 here. Reuse RawXml from parentSection when data was not available
441 on current section. This should fix bug #78353.
443 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
445 * ConfigurationElement.cs,
447 in some cases RawXml was set null string, so skip such cases.
448 * Configuration.cs : support IConfigurationSectionHandler here.
449 * ConfigurationManager.cs : GetSection() now returns name value
450 collection, not a section.
451 * ConfigurationSection.cs : added SectionHandler for
452 IConfigurationSectionHandler support, and use its Create() in
454 * ClientConfigurationSystem.cs :
455 use GetRuntimeObject() in GetSection(). Thus now
456 ConfigurationManager.GetSection() returns a runtime object.
459 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
461 * SectionGroupInfo.cs :
462 sections which are defined in sectionGroups could be directly
463 referenced, so search corresponding section recursively.
464 * DefaultSection.cs : It does not reject unrecognized contents.
466 2006-04-26 Chris Toshok <toshok@ximian.com>
468 * SectionInformation.cs (.ctor): add MonoTODO about the default
469 value for require_permission.
470 (RequirePermission): implement the getter/setter for this so
471 Atsushi's previous commit doesn't break everything :)
473 2006-04-26 Atsushi Enomoto <atsushi@ximian.com>
476 SectionInfo.cs : added support for "requirePermission" attribute
477 in "section" element. This fixes bug #77957.
479 2006-04-25 Chris Toshok <toshok@ximian.com>
481 * ConfigurationElementCollection.cs (Reset): it makes no sense to
482 pass the typename to CreateNewElementInternal. the argument is
483 the elementname. pass null instead.
486 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
488 * ConfigurationElement.cs : ListErrors() and SetPropertyValue()
490 * ConfigurationSection.cs : the .ctor() is protected.
491 * ConfigurationElementCollection.cs : CollectionType is public.
492 Count and BaseAdd() are not virtual.
493 * ConfigurationPropertyCollection.cs : Count is not virtual.
495 2006-02-01 Chris Toshok <toshok@ximian.com>
497 * ConfigurationElement.cs: revert the patch that stores and writes
498 out xmlns attributes for all elements.
500 * ClientConfigurationSystem.cs: SupportsUserConfig == false.
502 * AppSettingsSection.cs (GetRuntimeObject): call col.SetReadOnly()
503 only if SupportsUserConfig != true.
505 * ConfigurationManager.cs (ConfigurationSystem): add a property
506 like ConfigurationFactory, and use it instead of the private field
509 2006-01-26 Chris Toshok <toshok@ximian.com>
511 * SectionGroupInfo.cs (ReadContent): handle "location" (seemingly)
514 * InternalConfigurationRoot.cs: misc logical additions. still
517 * ConfigurationManager.cs (OpenExeConfigurationInternal): throw an
518 exception if both calling_assembly and exePath are null. Allow
519 the exePath to be a path to a config file as well, checking to see
520 if it ends in .config before appending.
521 (OpenExeConfiguration): stop blindly passing
522 Assembly.GetCallingAssembly. I'm assuming this will likely break
523 .dll.config usage. need to investigate that (and write more unit
525 (GetSection): call configSystem.GetSection.
526 (RefreshSection): call configSystem.RefreshSection.
527 (ChangeConfigurationSystem): modeled after the
528 ConfigurationSettings System.Web hack - allow
529 WebConfigurationManager to replace the current
530 IInternalConfigSystem.
532 * InternalConfigurationHost.cs (InternalConfigurationHost): make
533 abstract, and remove all the NotImplenmentedException's.
535 * ConfigurationElement.cs (DeserializeElement): store off the xml
536 namespace if there is one.
537 (SerializeElement): write out the namespace if there was one.
539 * ClientConfigurationSystem.cs: new class, based on some stack
540 traces I've seen in tests. Kinda (well, not *kinda*..) hacky.
542 * Configuration.cs (NamespaceDeclared): implement.
543 (Load): don't swallow all exceptions, just the ones raised when we
544 open the stream for reading.
545 (ReadConfigFile): handle xmlns.
547 2006-01-25 Chris Toshok <toshok@ximian.com>
549 * ConfigInfo.cs (ThrowException): throw a
550 ConfigurationErrorsException, not a ConfigurationException.
552 * SectionGroupInfo.cs (ReadContent): throw an exception
553 unconditionally if we see a <location>. they aren't valid in
556 2006-01-25 Chris Toshok <toshok@ximian.com>
558 * KeyValueInternalCollection.cs: don't use a nested collection,
559 just defer to our base class. This fixes usage of
560 ConfigurationManager.AppSettings.Keys.
562 2006-01-13 Chris Toshok <toshok@ximian.com>
564 * AppSettingsSection.cs (GetRuntimeObject): only access
565 Settings[key] once per iteration.
567 2006-01-09 Chris Toshok <toshok@ximian.com>
569 * ConfigurationManager.cs (AppSettings): just return
570 AppSettingsSection.GetRuntimeObject() here.
572 * AppSettingsSection.cs: fix the "file" property to match dumper
574 (GetRuntimeObject): this returns a KeyValueInternalCollection in
577 2006-01-09 Chris Toshok <toshok@ximian.com>
579 * ElementInformation.cs (Validator): if propertyInfo == null,
580 return a DefaultValidator instance.
582 2006-01-09 Chris Toshok <toshok@ximian.com>
584 * AppSettingsSection.cs (.cctor): specify null for
587 * ProtectedProviderSettings.cs (.cctor): specify null for
590 2006-01-03 Chris Toshok <toshok@ximian.com>
592 * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
593 can save to a new file.
594 (CreateSection): don't bother to set the section information's
595 Name here. we'll do it in SectionInfo.CreateInstance.
597 * ProtectedConfiguration.cs (Section): new static property so we
598 can remove all the GetSection calls.
599 (GetProvider): load a named provider, optionally throwing an
600 exception if it's not found.
602 * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
603 make these private interface implementations, and call
604 protectedSection.{EncryptSection,DecryptSection}.
606 * ProtectedConfigurationSection.cs (EncryptSection,
607 DecryptSection): add these two calls. They really shouldn't be
608 here, but I saw them in an MS stack trace and thought "why not?".
610 * ConfigurationSection.cs (SectionInformation): don't set
611 attributes here, that's done in SectionInfo.CreateInstance.
612 (DeserializeSection): shoehorn in the decryption stuff here. It
613 doesn't belong here, and I've added a MonoTODO about it. It
614 should live someplace like SectionInfo.ReadData (which would make
615 it similar to the encryption stuff in .WriteData).
617 * SectionInformation.cs (IsProtected): remove the special flag,
618 just return true if we have a non-null protection_provider.
619 (ProtectSection): do nothing but try to instantiate the named
621 (UnprotectSection): null out protection_provider.
623 * DpapiProtectedConfigurationProvider.cs: move the
624 NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
625 when parsing our machine.config file.
627 * RsaProtectedConfigurationProvider.cs: initial implementation.
628 much is missing (OAEP support, key importing, adding/deleting
629 keys), but it can be used.
631 2006-01-02 Chris Toshok <toshok@ximian.com>
633 * RsaProtectedConfigurationProvider.cs: implement the
634 CspProviderName and UseOAEP properties..
636 2006-01-02 Chris Toshok <toshok@ximian.com>
638 * ProtectedConfigurationSection.cs: flesh this out (and add logic
639 to instantiate providers, based on some of the standalone test
640 exception stack traces.)
642 * ProtectedConfiguration.cs: new implementation.
644 * ProtectedConfigurationProviderCollection.cs: new
647 * ProtectedProviderSettings.cs: new implementation.
649 * ProtectedConfigurationProvider.cs: trim the superclass's name.
651 * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
653 * DpapiProtectedConfigurationProvider.cs: add stubbed
654 implementation that throws NotSupportedException telling people
655 they should be using RsaProtectedConfigurationProvider.
657 2006-01-02 Chris Toshok <toshok@ximian.com>
659 * DefaultSection.cs (Properties): implement.
661 * IgnoreSection.cs: move from lazily creating the properties
662 collection to sharing a single one across all instances.
664 * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
666 * ConfigurationElementCollection.cs (BaseAdd) remove logic to
667 remove an old matching element.
668 (BaseGetKey): throw an exception if @index is out of range.
670 * SectionInformation.cs (SectionName): just return name, like Name
671 does.. redundant, but it matches tests.
672 (GetRawXml): implement.
673 (SetRawXml): implement.
675 * ConfigurationSection.cs (SectionInformation): fill in
676 sectionInformation.Type before returning.
677 (DeserializeSection): save off the raw xml to our
680 * ConfigurationElement.cs (LockItem): implement.
681 (DeserializeElement): add support for the "lockItem" attribute.
683 2005-12-16 Chris Toshok <toshok@ximian.com>
685 * ConfigurationLockCollection.cs (Add): only add the name if it's
687 (IsReadOnly): always return false for the time being, in the
688 non-exceptional case.
690 2005-12-15 Chris Toshok <toshok@ximian.com>
692 * ConfigurationElement.cs (LockAllAttributesExcept): implement.
693 (LockAllElementsExcept): implement.
694 (DeserializeElement): handle the built-in attributes (lock* for
697 2005-12-15 Chris Toshok <toshok@ximian.com>
699 * ConfigurationLockCollection.cs (..ctor): don't call Populate.
701 (CheckName): make sure the passes in name is valid for this type
703 (Add): call CheckName, and set is_modified to true.
704 (Clear): set is_modified.
705 (IsReadOnly): add plausable implementation, including exception in
706 the case where the name isn't found.
707 (Remove): set is_modified.
708 (SetFromList): implement.
709 (get_AttributeList): implement.
710 (set_IsModified): add internal setter so we can clear the modified
713 2005-12-12 Chris Toshok <toshok@ximian.com>
715 * AppSettingsSection.cs (DeserializeElement): provide rather naive
716 version of the file="" handling. It's enough to make our tests
719 2005-12-11 Chris Toshok <toshok@ximian.com>
721 * ConnectionStringsSection.cs (..cctor): use "" instead of null
722 for the name of the default collection.
724 * AppSettingsSection.cs (..cctor): create a property for the
726 (DeserializeElement): call base.DeserializeElement.
727 (File): index off the property, not the name.
728 (Settings): don't use an private variable here, use
731 * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
732 null for new app domains. so deal with this by calling
733 GetCallingAssembly if it's null. This is probably still wrong but
734 it doesn't NRE in xsp2.
735 (AppSettings): remove MonoTODO.
737 * KeyValueConfigurationElement.cs (..ctor): new method, create the
738 ConfigurationProperty's and the collection here.
739 (.ctor): add internal arg-less ctor.
740 (Key): use keyProp instead of "key".
741 (Value): use vlaueProp instead of "value".
742 (Properties): return our class's properties.
744 * KeyValueConfigurationCollection.cs (CreateNewElement): use the
746 (GetElementKey): re-enable the BaseIndexOf test.
748 2005-12-02 Chris Toshok <toshok@ximian.com>
750 * Configuration.cs (Save): call WriteStartDocument.
752 * ConnectionStringSettingsCollection.cs (CreateNewElement): use
753 parameter-less ctor to keep from generating exceptions when using
756 2005-12-02 Chris Toshok <toshok@ximian.com>
758 * ConnectionStringSettings.cs: tabify, fix default values, and add
759 a string validator for "name".
761 2005-12-02 Chris Toshok <toshok@ximian.com>
763 * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
764 the type check away from an exact check for
765 CommaDelimitedStringCollection to an assignable test from
766 StringCollection. This is due to the fact that AuthorizationRule
767 doesn't create CommaDelimitedStringCollections, for some odd
768 reason. It uses StringCollections.
770 * PropertyInformation.cs (Value): remove the case for
771 IsDefaultCollection - it's not necessary, as the property is an
774 * ConnectionStringSettings.cs: fix formatting and remove some
777 * ConnectionStringSettingsCollection.cs: same.
779 * ConnectionStringsSection.cs: same.
781 * ConfigurationElement.cs (SerializeToXmlElement): don't write the
782 enclosing start/end elements if the elementName is null or "".
783 this fixes the case for the DefaultCollections (at least in the
784 case of connectionStrings).
786 * IgnoreSection.cs (Properties): remove the MonoTODO.
788 * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
790 2005-11-28 Chris Toshok <toshok@ximian.com>
792 * ProviderSettings.cs: use ConfigurationProperty's to implement
795 2005-11-24 Chris Toshok <toshok@ximian.com>
797 * ConfigurationProperty.cs (Validate): add internal method.
799 2005-11-24 Chris Toshok <toshok@ximian.com>
801 * ConfigurationElement.cs (ElementProperty): make this protected
802 internal virtual instead of public.
803 (SetPropertyValue): add a validator call and a blurb about the
804 code based on information gleaned from tests.
805 (set_Item (string)): call SetPropertyValue in the setter.
807 2005-11-14 Chris Toshok <toshok@ximian.com>
809 * CommaDelimitedStringCollection.cs: reformat things a bit, and
810 flag ToString() as override.
812 * DefaultSection.cs: new stubbed out implementation.
814 * CommaDelimitedStringCollectionConverter.cs: new implementation.
816 2005-11-10 Chris Toshok <toshok@ximian.com>
818 * AppSettingsSection.cs (DeserializeElement): stop explicitly
819 calling Settings.DeserializeElement, as the DefaultCollection
822 * ConfigurationElement.cs (DeserializeElement): rework the loop
823 here so that we actually loop over all the content elements.
825 2005-11-09 Chris Toshok <toshok@ximian.com>
827 * ConfigurationElement.cs: Add support for DefaultCollection
830 * PropertyInformation.cs (PropertyInformation.Value): add case for
833 * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
834 a "type" attribute, make sure the cached System.Type is cleared.
836 2005-10-25 Chris Toshok <toshok@ximian.com>
838 * InfiniteTimeSpanConverter.cs: new implementation.
840 * InfiniteIntConverter.cs: new implementation.
842 * GenericEnumConverter.cs: new implementation.
844 * Configuration.cs: we don't need to check with "is" after we use
845 "as".. just check for null-ness.
847 * KeyValueConfigurationCollection.cs: GetElementKey should throw
848 NRE if element == null.
850 * CommaDelimitedStringCollection.cs: raise the correct exceptions
851 in the read only case, and return null from ToString if there are
854 2005-10-25 Chris Toshok <toshok@ximian.com>
856 * PositiveTimeSpanValidatorAttribute.cs: new implementation.
858 * PositiveTimeSpanValidator.cs: new implementation.
860 2005-10-24 Chris Toshok <toshok@ximian.com>
862 * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
864 * TypeNameConverter.cs: new implementation.
866 * WhiteSpaceTrimStringConverter.cs: new implementation.
868 2005-10-24 Chris Toshok <toshok@ximian.com>
870 * AppSettingsSection.cs (DeserializeElement, SerializeSection):
871 split the behavior based on if File == "". If it is, we do the
872 default. otherwise we throw NIE.
874 * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
875 need this, but we do until the IsDefaultCollection stuff is fixed.
877 * ConfigurationElementCollection.cs
878 (OnDeserializeUnrecognizedElement): for clearElementName, make
879 sure we have no attributes.
881 * ConnectionStringSettingsCollection.cs (get_Properties): for now
882 just chain up to base.Properties.
884 * ConfigurationElement.cs (ReflectProperties): do the default
885 value/property type check in a more robust way, using
888 2005-10-24 Chris Toshok <toshok@ximian.com>
890 * ConfigurationElement.cs: treat
891 ConfigurationProperty.NoDefaultValue the same as null when we're
892 checking the default value's type. this fixes t13 and 14.
894 * ConnectionStringsSection.cs (ConnectionStrings): fix the
895 DefaultValue in the ConfigurationPropertyAttribute.
897 2005-10-24 Chris Toshok <toshok@ximian.com>
899 * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
900 one test to get another working. Return a valid key even if the
901 element is not in this collection.
902 (get_ThrowOnDuplicate): return false.
904 * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
905 element with the same key, overwrite the old one (remove the old
906 one after inserting the new one). Also, re-enable the throwing of
907 exceptions if ThrowOnDuplicate == true.
909 2005-10-24 Chris Toshok <toshok@ximian.com>
911 * AppSettingsSection.cs (Settings): fix ConfigurationProperty
914 * ProtectedConfigurationSection.cs (Providers): same.
916 2005-10-12 Chris Toshok <toshok@ximian.com>
918 * ConfigurationPermission.cs: flesh out as per tests.
920 2005-10-11 Chris Toshok <toshok@ximian.com>
922 * ConfigurationProperty.cs: don't use null to mean no default
923 value, use NoDefaultValue.
925 2005-10-11 Chris Toshok <toshok@ximian.com>
927 * KeyValueConfigurationCollection.cs (GetElementKey): duh.
928 BaseGet calls GetElementKey, so we were hitting an infinite
929 recursion here. Use BaseIndexOf instead.
931 2005-10-07 Chris Toshok <toshok@ximian.com>
933 * InternalConfigurationHost.cs: some interface work, adding in the
936 * ConfigurationProperty.cs: remove debug spew.
938 * Configuration.cs: add NIE'd NamespaceDeclared property.
940 * ElementInformation.cs: add NIE'd Errors property.
942 * PropertyInformationCollection.cs: add NIE'd GetObjectData().
944 * ConfigurationManager.cs: quite a bit of new work here. Some
945 definie TODO's still though.
947 2005-10-07 Chris Toshok <toshok@ximian.com>
949 * ConfigurationErrorsException.cs (.ctor): for the (string)
950 overload, chain up to the base (string) ctor.
952 2005-10-07 Chris Toshok <toshok@ximian.com>
954 * ConfigurationElement.cs (ElementMap.ReflectProperties): make
955 sure the type of the default value is compatible with that of the
956 property itself, and throw ConfigurationErrorsException if they
957 don't match. Fixes t12.
959 2005-10-07 Chris Toshok <toshok@ximian.com>
961 * ConfigHelper.cs: remove some unused code.
963 * ConfigurationProperty.cs: disambiguate the ctor we chain to.
965 * ConfigurationElement.cs (ElementProperty): implement.
966 (ElementMap.ReflectProperties): make DefaultValidator the default
969 2005-10-06 Chris Toshok <toshok@ximian.com>
971 * KeyValueConfigurationElement.cs: uncomment out some stuff.
972 (Properties): just return base.Properties. Not sure why they
973 override this, as the base class's implementation passes our test.
975 * KeyValueConfigurationCollection.cs (Add): for the keyValue
976 overload, call keyValue.Init as the unit test stack traces
977 indicates that'9s where it's called. For the string,string
978 overload, just call the keyValue overload instead of calling
980 (CreateNewElement): just use the name/value ctor, and specify ""
982 (GetElementKey): this function always returns "" for elements that
983 haven't been added to the collection. Once theyre added, it seems
984 to always return keyValue.Key.
985 (Properties): the unit tests show this returns a 0 length
988 2005-10-05 Chris Toshok <toshok@ximian.com>
990 * ConfigurationPermissionAttribute.cs: stub out.
992 2005-10-05 Chris Toshok <toshok@ximian.com>
994 * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
997 2005-10-05 Chris Toshok <toshok@ximian.com>
999 * TimeSpanSecondsConverter.cs: new implementation.
1001 2005-10-05 Chris Toshok <toshok@ximian.com>
1003 * TimeSpanMinutesConverter.cs: flesh out implementation.
1005 * ConfigurationConverterBase.cs: make all subclasses work with
1006 strings only, since that's what seems to manifest itself in the
1009 2005-10-05 Chris Toshok <toshok@ximian.com>
1011 * ConfigurationLockCollection.cs: add NIE'd AttributeList
1014 * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
1015 CanConvertTo methods.
1017 * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
1019 * ProtectedConfigurationSection.cs: add NIE'd properties.
1021 * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
1022 and SetReadOnly methods, and have then chain up to the base class.
1024 * KeyValueConfigurationCollection.cs: add the class level
1025 ConfigurationCollectionAttribute, and add a NIE'ed Properties
1028 * ProviderSettingsCollection.cs: add the class level
1029 ConfigurationCollectionAttribute, and add a "new" keyword to the
1030 this property. Also, nuke the Provider's property.
1032 * SectionInformation.cs: add some NEI'd properties.
1034 * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
1035 chain up to base class's method instead of throwing NIE.
1037 * ConnectionStringSettingsCollection.cs: add the class-level
1038 ConfigurationCollectionAttribute, and add the unimplemented
1039 Properties property.
1041 * ConfigurationErrorsException.cs: flesh this out, and add a
1042 pragma to disable the obsolete warnings from our base class.
1044 * ProviderSettings.cs: add unimplemented Properties property.
1046 * ConfigurationElement.cs: remove unnecessary
1047 EvaluationInformation.
1049 * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
1052 * ConfigurationProperty.cs: add a missing ctor.
1054 * AppSettingsSection.cs: add missing "override" keyword.
1056 * ConnectionStringsSection.cs: remove override.
1058 * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
1059 unimplemented GetObjectData override.
1061 * ConfigurationSectionGroupCollection.cs: same.
1063 * ConfigurationCollectionAttribute.cs: add missing CollectionType
1066 2005-10-05 Chris Toshok <toshok@ximian.com>
1068 * ConfigurationPermission.cs: new implementation.
1070 * IgnoreSection.cs: new implementation.
1072 2005-10-05 Chris Toshok <toshok@ximian.com>
1074 * CommaDelimitedStringCollection.cs: new implementation.
1076 2005-10-05 Chris Toshok <toshok@ximian.com>
1078 * NameValueConfigurationCollection.cs: new implementation.
1080 * NameValueConfigurationElement.cs: new implementation.
1082 2005-10-05 Chris Toshok <toshok@ximian.com>
1084 * ValidatorCallback.cs: new implementation.
1086 * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
1089 * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
1092 * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
1095 * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
1097 * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
1100 * DefaultValidator.cs: new implementation.
1102 2005-09-28 Chris Toshok <toshok@ximian.com>
1104 * ConfigurationElementCollection.cs: more work on the "<clear />"
1105 handling - just skip the element for now. this causes a failure
1106 in one test ('<clear hi="bye" />' doesn't throw an exception when
1107 it should), but it succeeds for collections that have required
1110 * ConnectionStringSettings.cs: providerName isn't a required
1113 * AppSettingsSection.cs (.cctor): initialize our "file" Property.
1116 (GetRuntimeObject): call the base class method instead of just
1119 * ConnectionStringsSection.cs: Add a hacky DeserializeElement
1120 method here (that isn't in MS's) for the time being so we actually
1121 deserialize our collection.
1123 2005-09-28 Chris Toshok <toshok@ximian.com>
1125 * KeyValueInternalCollection.cs: found this by way of a stack
1126 trace in one of the tests. A NameValueCollection that wraps a
1127 KeyValueConfigurationCollection.
1129 * Configuration.cs (Init): save off configPath.
1130 (EvaluationContext): new, mostly implemented.
1131 (GetSectionInstance): use IgnoreSection instead of
1133 (Load): don't fail when we can't load a file.
1135 * IgnoreSection.cs: replace RuntimeOnlySection with this new
1138 * RuntimeOnlySection.cs: nuke.
1140 2005-09-27 Chris Toshok <toshok@ximian.com>
1142 * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
1144 2005-09-27 Chris Toshok <toshok@ximian.com>
1146 * ConfigurationProperty.cs: add IsDefaultCollection property.
1148 2005-09-27 Chris Toshok <toshok@ximian.com>
1150 * ConfigurationElementProperty.cs: new file.
1152 * ConfigurationLockCollection.cs: new file.
1154 * ConfigurationElementCollection.cs
1155 (OnDeserializeUnrecognizedElement): make sure we consume the
1156 <clear /> element so we don't into an endless loop.
1158 * ConfigurationElement.cs: add a bunch of NIE's properties.
1160 * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
1162 2005-09-23 Chris Toshok <toshok@ximian.com>
1164 * AppSettingsSection.cs: fix build and add a couple of TODO'ed
1167 2005-09-23 Chris Toshok <toshok@ximian.com>
1169 * ProviderSettings.cs (Unmerge): track change to
1170 ConfigurationElement.Unmerge.
1172 * ConfigurationSection.cs: add functions nuked from
1173 ConfigurationElement here.
1175 * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
1177 (BaseGetAllKeys): returns object[], not string[].
1178 (BaseGetKey): returns object, not string.
1179 (Unmerge): track change to ConfigurationElement.Unmerge signature.
1181 * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
1182 signature (drop the serializeCollectionKey parameter).
1185 2005-09-23 Chris Toshok <toshok@ximian.com>
1187 * StringValidator.cs: throw ArgumentException instead of
1188 ConfigurationErrorsException.
1190 2005-09-23 Chris Toshok <toshok@ximian.com>
1192 * ConnectionStringsSection.cs: track change to
1193 ConfigurationPropertyOptions.
1195 * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
1196 ProviderSettings.cs: track change to ConfigurationPropertyOptions.
1198 * ConnectionStringSettings.cs: track change to
1199 ConfigurationProprertyOptions, and add some ConfigurationProperty
1202 * ConfigurationPropertyOptions.cs: DefaultCollection ->
1203 IsDefaultCollection, Required -> IsRequired.
1205 2005-09-22 Chris Toshok <toshok@ximian.com>
1207 * PositiveTimeSpanValidator.cs: this lives in
1208 System.Web.Configuration, not System.Configuration.
1210 2005-09-22 Chris Toshok <toshok@ximian.com>
1212 * TimeSpanValidator.cs: change to ArgumentException and alter the
1215 2005-09-22 Chris Toshok <toshok@ximian.com>
1217 * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
1219 2005-07-01 Lluis Sanchez Gual <lluis@novell.com>
1221 * ProviderSettings.cs: Implemented properties using property attributes.
1222 * ConfigurationElement.cs: Implemented ElementInformation property and
1223 moved there all value management.
1224 * ProtectedConfigurationProvider.cs: Set the correct base class.
1225 * SectionInformation.cs: Added missing AllowExeDefinition property.
1226 * TimeSpanValidatorAttribute.cs: Implemented.
1227 * StringValidator.cs: Implemented.
1228 * ProviderSettingsCollection.cs: Added missing class attribute.
1229 * ConfigurationSaveMode.cs: Fix enum values.
1230 * ConfigurationElementCollection.cs: Added Init method for initializing
1231 elements from properties.
1232 * StringValidatorAttribute.cs: Implemented.
1233 * ConfigurationLocation.cs: Added support for allowOverride flag.
1234 * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
1235 * PositiveTimeSpanValidator.cs: Implemented.
1236 * TimeSpanMinutesConverter.cs: Created skeleton class.
1237 * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
1238 AllowDefinition and AllowExeDefinition.
1239 * TimeSpanValidator.cs: Implemented.
1240 * ConfigurationConverterBase.cs: Created skeleton class.
1241 * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
1242 VerifyDefinitionAllowed.
1243 * ConfigurationManager.cs: That class must be static.
1244 * PropertyInformationCollection.cs: Implemented.
1245 * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
1246 so on. In Save(), don't forget to save location elements.
1247 * ConfigurationProperty.cs: Keep track of collection attributes.
1248 * ConfigInfo.cs: Support overrideAllowed flag.
1249 * KeyValueConfigurationElement.cs: Define properties using attributes.
1250 * PropertyValueOrigin.cs: implemented.
1251 * PropertyInformation.cs: Mostly implemented.
1252 * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
1253 * ElementInformation.cs: Mostly implemented.
1254 * ConfigurationPropertyAttribute.cs: Set the correct default value.
1255 * ConfigurationCollectionAttribute.cs: Implemented.
1257 2005-06-23 Lluis Sanchez Gual <lluis@novell.com>
1259 * SectionInfo.cs: Set the config host when loading the section.
1260 * InternalConfigurationHost.cs: Implemented some basic methods.
1261 * Configuration.cs: Find the correct parent for the configuration,
1262 taking into accound locations and such. Use Host functions to get
1264 * ConfigurationLocationCollection.cs: Added find method.
1265 * ConfigInfo.cs: Added Host property.
1266 * InternalConfigurationFactory.cs: The InitForConfiguration calls
1267 are now done in each correspoding configuration.
1268 * SectionGroupInfo.cs: When reading a location element, create
1269 a Configuration object for each path specified in the location.
1270 * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
1271 method, which properly initializes the created element.
1272 * ConfigurationLocation.cs: OpenConfiguration now has to read the
1273 xml contents. It also has to find the correct parent configuration,
1274 if it has not been specified.
1276 2005-06-17 Lluis Sanchez Gual <lluis@novell.com>
1278 * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
1279 * ConfigurationPropertyCollection.cs: Added Clear method.
1280 * ContextInformation.cs: Implemented.
1281 * ConfigurationManager.cs: Implemented some missing methods.
1282 Configuration objects are now created through the ConfigurationFactory.
1283 * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
1284 to be used for exe files and machine.config.
1285 * ConfigurationFileMap.cs: Implemented.
1286 * Configuration.cs: Read and write config files using the methods that
1287 IInternalConfigHost provides.
1288 * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
1289 * ExeContext.cs: Implemented.
1290 * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
1291 collection to store values.
1292 * KeyValueConfigurationElement.cs: Implemented.
1293 * KeyValueConfigurationCollection.cs: Implemented.
1294 * InternalConfigurationFactory.cs: An implementation of
1295 IInternalConfigConfigurationFactory.
1296 * ConfigurationPropertyAttribute.cs: Added missing attributes.
1297 * ExeConfigurationFileMap.cs: Implemented.
1299 2005-06-15 Lluis Sanchez Gual <lluis@novell.com>
1301 * ConfigurationElement.cs, ConfigurationErrorsException.cs
1302 SectionInfo.cs, ConnectionStringSettingsCollection.cs,
1303 ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
1304 ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
1305 ConfigurationElementCollectionType.cs, Configuration.cs,
1306 ConnectionStringSettings.cs, ConfigurationProperty.cs,
1307 ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
1308 ConfigurationAllowDefinition.cs, ConfigInfo.cs,
1309 ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
1310 ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
1311 SectionGroupInfo.cs, ConfigurationUserLevel.cs,
1312 ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
1313 ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
1314 ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
1315 ProviderSettings.cs:
1318 * ConfigurationElementCollection.cs: Implemented support for Basic
1319 collection type. Other fixes.
1321 * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
1322 * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
1324 * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
1325 ConfigurationManager.cs, ConfigurationSaveMode.cs,
1326 ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
1327 ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
1330 * ConfigurationValidationAttribute.cs: Removed.
1332 * ProviderBase.cs: Moved to System.dll.
1334 2005-06-14 Lluis Sanchez Gual <lluis@novell.com>
1336 * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
1337 ConfigurationAllowDefinition.cs, ConfigurationElement.cs
1338 ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
1339 ConfigurationLocation.cs, ConfigurationLocationCollection.cs
1340 ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
1341 ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
1342 ConfigurationSection.cs, ConfigurationSectionCollection.cs
1343 ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
1344 ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
1345 ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
1346 ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
1347 IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
1348 NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
1349 ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
1350 RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
1351 TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
1352 TimeSpanSerializedFormat.cs:
1354 Moved from the System assembly.