1 2006-01-09 Chris Toshok <toshok@ximian.com>
3 * ElementInformation.cs (Validator): if propertyInfo == null,
4 return a DefaultValidator instance.
6 2006-01-09 Chris Toshok <toshok@ximian.com>
8 * AppSettingsSection.cs (.cctor): specify null for
11 * ProtectedProviderSettings.cs (.cctor): specify null for
14 2006-01-03 Chris Toshok <toshok@ximian.com>
16 * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we
17 can save to a new file.
18 (CreateSection): don't bother to set the section information's
19 Name here. we'll do it in SectionInfo.CreateInstance.
21 * ProtectedConfiguration.cs (Section): new static property so we
22 can remove all the GetSection calls.
23 (GetProvider): load a named provider, optionally throwing an
24 exception if it's not found.
26 * InternalConfigurationHost.cs (EncryptSection, DecryptSection):
27 make these private interface implementations, and call
28 protectedSection.{EncryptSection,DecryptSection}.
30 * ProtectedConfigurationSection.cs (EncryptSection,
31 DecryptSection): add these two calls. They really shouldn't be
32 here, but I saw them in an MS stack trace and thought "why not?".
34 * ConfigurationSection.cs (SectionInformation): don't set
35 attributes here, that's done in SectionInfo.CreateInstance.
36 (DeserializeSection): shoehorn in the decryption stuff here. It
37 doesn't belong here, and I've added a MonoTODO about it. It
38 should live someplace like SectionInfo.ReadData (which would make
39 it similar to the encryption stuff in .WriteData).
41 * SectionInformation.cs (IsProtected): remove the special flag,
42 just return true if we have a non-null protection_provider.
43 (ProtectSection): do nothing but try to instantiate the named
45 (UnprotectSection): null out protection_provider.
47 * DpapiProtectedConfigurationProvider.cs: move the
48 NotSupportedExceptions to Decrypt/Encrypt so we don't bomb out
49 when parsing our machine.config file.
51 * RsaProtectedConfigurationProvider.cs: initial implementation.
52 much is missing (OAEP support, key importing, adding/deleting
53 keys), but it can be used.
55 2006-01-02 Chris Toshok <toshok@ximian.com>
57 * RsaProtectedConfigurationProvider.cs: implement the
58 CspProviderName and UseOAEP properties..
60 2006-01-02 Chris Toshok <toshok@ximian.com>
62 * ProtectedConfigurationSection.cs: flesh this out (and add logic
63 to instantiate providers, based on some of the standalone test
64 exception stack traces.)
66 * ProtectedConfiguration.cs: new implementation.
68 * ProtectedConfigurationProviderCollection.cs: new
71 * ProtectedProviderSettings.cs: new implementation.
73 * ProtectedConfigurationProvider.cs: trim the superclass's name.
75 * RsaProtectedConfigurationProvider.cs: stubbed, unimplemented.
77 * DpapiProtectedConfigurationProvider.cs: add stubbed
78 implementation that throws NotSupportedException telling people
79 they should be using RsaProtectedConfigurationProvider.
81 2006-01-02 Chris Toshok <toshok@ximian.com>
83 * DefaultSection.cs (Properties): implement.
85 * IgnoreSection.cs: move from lazily creating the properties
86 collection to sharing a single one across all instances.
88 * ConfigurationLockCollection.cs (IsReadOnly): fix compiler warning.
90 * ConfigurationElementCollection.cs (BaseAdd) remove logic to
91 remove an old matching element.
92 (BaseGetKey): throw an exception if @index is out of range.
94 * SectionInformation.cs (SectionName): just return name, like Name
95 does.. redundant, but it matches tests.
96 (GetRawXml): implement.
97 (SetRawXml): implement.
99 * ConfigurationSection.cs (SectionInformation): fill in
100 sectionInformation.Type before returning.
101 (DeserializeSection): save off the raw xml to our
104 * ConfigurationElement.cs (LockItem): implement.
105 (DeserializeElement): add support for the "lockItem" attribute.
107 2005-12-16 Chris Toshok <toshok@ximian.com>
109 * ConfigurationLockCollection.cs (Add): only add the name if it's
111 (IsReadOnly): always return false for the time being, in the
112 non-exceptional case.
114 2005-12-15 Chris Toshok <toshok@ximian.com>
116 * ConfigurationElement.cs (LockAllAttributesExcept): implement.
117 (LockAllElementsExcept): implement.
118 (DeserializeElement): handle the built-in attributes (lock* for
121 2005-12-15 Chris Toshok <toshok@ximian.com>
123 * ConfigurationLockCollection.cs (..ctor): don't call Populate.
125 (CheckName): make sure the passes in name is valid for this type
127 (Add): call CheckName, and set is_modified to true.
128 (Clear): set is_modified.
129 (IsReadOnly): add plausable implementation, including exception in
130 the case where the name isn't found.
131 (Remove): set is_modified.
132 (SetFromList): implement.
133 (get_AttributeList): implement.
134 (set_IsModified): add internal setter so we can clear the modified
137 2005-12-12 Chris Toshok <toshok@ximian.com>
139 * AppSettingsSection.cs (DeserializeElement): provide rather naive
140 version of the file="" handling. It's enough to make our tests
143 2005-12-11 Chris Toshok <toshok@ximian.com>
145 * ConnectionStringsSection.cs (..cctor): use "" instead of null
146 for the name of the default collection.
148 * AppSettingsSection.cs (..cctor): create a property for the
150 (DeserializeElement): call base.DeserializeElement.
151 (File): index off the property, not the name.
152 (Settings): don't use an private variable here, use
155 * ConfigurationManager.cs (GetSection): GetEntryAssembly returns
156 null for new app domains. so deal with this by calling
157 GetCallingAssembly if it's null. This is probably still wrong but
158 it doesn't NRE in xsp2.
159 (AppSettings): remove MonoTODO.
161 * KeyValueConfigurationElement.cs (..ctor): new method, create the
162 ConfigurationProperty's and the collection here.
163 (.ctor): add internal arg-less ctor.
164 (Key): use keyProp instead of "key".
165 (Value): use vlaueProp instead of "value".
166 (Properties): return our class's properties.
168 * KeyValueConfigurationCollection.cs (CreateNewElement): use the
170 (GetElementKey): re-enable the BaseIndexOf test.
172 2005-12-02 Chris Toshok <toshok@ximian.com>
174 * Configuration.cs (Save): call WriteStartDocument.
176 * ConnectionStringSettingsCollection.cs (CreateNewElement): use
177 parameter-less ctor to keep from generating exceptions when using
180 2005-12-02 Chris Toshok <toshok@ximian.com>
182 * ConnectionStringSettings.cs: tabify, fix default values, and add
183 a string validator for "name".
185 2005-12-02 Chris Toshok <toshok@ximian.com>
187 * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
188 the type check away from an exact check for
189 CommaDelimitedStringCollection to an assignable test from
190 StringCollection. This is due to the fact that AuthorizationRule
191 doesn't create CommaDelimitedStringCollections, for some odd
192 reason. It uses StringCollections.
194 * PropertyInformation.cs (Value): remove the case for
195 IsDefaultCollection - it's not necessary, as the property is an
198 * ConnectionStringSettings.cs: fix formatting and remove some
201 * ConnectionStringSettingsCollection.cs: same.
203 * ConnectionStringsSection.cs: same.
205 * ConfigurationElement.cs (SerializeToXmlElement): don't write the
206 enclosing start/end elements if the elementName is null or "".
207 this fixes the case for the DefaultCollections (at least in the
208 case of connectionStrings).
210 * IgnoreSection.cs (Properties): remove the MonoTODO.
212 * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
214 2005-11-28 Chris Toshok <toshok@ximian.com>
216 * ProviderSettings.cs: use ConfigurationProperty's to implement
219 2005-11-24 Chris Toshok <toshok@ximian.com>
221 * ConfigurationProperty.cs (Validate): add internal method.
223 2005-11-24 Chris Toshok <toshok@ximian.com>
225 * ConfigurationElement.cs (ElementProperty): make this protected
226 internal virtual instead of public.
227 (SetPropertyValue): add a validator call and a blurb about the
228 code based on information gleaned from tests.
229 (set_Item (string)): call SetPropertyValue in the setter.
231 2005-11-14 Chris Toshok <toshok@ximian.com>
233 * CommaDelimitedStringCollection.cs: reformat things a bit, and
234 flag ToString() as override.
236 * DefaultSection.cs: new stubbed out implementation.
238 * CommaDelimitedStringCollectionConverter.cs: new implementation.
240 2005-11-10 Chris Toshok <toshok@ximian.com>
242 * AppSettingsSection.cs (DeserializeElement): stop explicitly
243 calling Settings.DeserializeElement, as the DefaultCollection
246 * ConfigurationElement.cs (DeserializeElement): rework the loop
247 here so that we actually loop over all the content elements.
249 2005-11-09 Chris Toshok <toshok@ximian.com>
251 * ConfigurationElement.cs: Add support for DefaultCollection
254 * PropertyInformation.cs (PropertyInformation.Value): add case for
257 * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
258 a "type" attribute, make sure the cached System.Type is cleared.
260 2005-10-25 Chris Toshok <toshok@ximian.com>
262 * InfiniteTimeSpanConverter.cs: new implementation.
264 * InfiniteIntConverter.cs: new implementation.
266 * GenericEnumConverter.cs: new implementation.
268 * Configuration.cs: we don't need to check with "is" after we use
269 "as".. just check for null-ness.
271 * KeyValueConfigurationCollection.cs: GetElementKey should throw
272 NRE if element == null.
274 * CommaDelimitedStringCollection.cs: raise the correct exceptions
275 in the read only case, and return null from ToString if there are
278 2005-10-25 Chris Toshok <toshok@ximian.com>
280 * PositiveTimeSpanValidatorAttribute.cs: new implementation.
282 * PositiveTimeSpanValidator.cs: new implementation.
284 2005-10-24 Chris Toshok <toshok@ximian.com>
286 * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
288 * TypeNameConverter.cs: new implementation.
290 * WhiteSpaceTrimStringConverter.cs: new implementation.
292 2005-10-24 Chris Toshok <toshok@ximian.com>
294 * AppSettingsSection.cs (DeserializeElement, SerializeSection):
295 split the behavior based on if File == "". If it is, we do the
296 default. otherwise we throw NIE.
298 * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
299 need this, but we do until the IsDefaultCollection stuff is fixed.
301 * ConfigurationElementCollection.cs
302 (OnDeserializeUnrecognizedElement): for clearElementName, make
303 sure we have no attributes.
305 * ConnectionStringSettingsCollection.cs (get_Properties): for now
306 just chain up to base.Properties.
308 * ConfigurationElement.cs (ReflectProperties): do the default
309 value/property type check in a more robust way, using
312 2005-10-24 Chris Toshok <toshok@ximian.com>
314 * ConfigurationElement.cs: treat
315 ConfigurationProperty.NoDefaultValue the same as null when we're
316 checking the default value's type. this fixes t13 and 14.
318 * ConnectionStringsSection.cs (ConnectionStrings): fix the
319 DefaultValue in the ConfigurationPropertyAttribute.
321 2005-10-24 Chris Toshok <toshok@ximian.com>
323 * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
324 one test to get another working. Return a valid key even if the
325 element is not in this collection.
326 (get_ThrowOnDuplicate): return false.
328 * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
329 element with the same key, overwrite the old one (remove the old
330 one after inserting the new one). Also, re-enable the throwing of
331 exceptions if ThrowOnDuplicate == true.
333 2005-10-24 Chris Toshok <toshok@ximian.com>
335 * AppSettingsSection.cs (Settings): fix ConfigurationProperty
338 * ProtectedConfigurationSection.cs (Providers): same.
340 2005-10-12 Chris Toshok <toshok@ximian.com>
342 * ConfigurationPermission.cs: flesh out as per tests.
344 2005-10-11 Chris Toshok <toshok@ximian.com>
346 * ConfigurationProperty.cs: don't use null to mean no default
347 value, use NoDefaultValue.
349 2005-10-11 Chris Toshok <toshok@ximian.com>
351 * KeyValueConfigurationCollection.cs (GetElementKey): duh.
352 BaseGet calls GetElementKey, so we were hitting an infinite
353 recursion here. Use BaseIndexOf instead.
355 2005-10-07 Chris Toshok <toshok@ximian.com>
357 * InternalConfigurationHost.cs: some interface work, adding in the
360 * ConfigurationProperty.cs: remove debug spew.
362 * Configuration.cs: add NIE'd NamespaceDeclared property.
364 * ElementInformation.cs: add NIE'd Errors property.
366 * PropertyInformationCollection.cs: add NIE'd GetObjectData().
368 * ConfigurationManager.cs: quite a bit of new work here. Some
369 definie TODO's still though.
371 2005-10-07 Chris Toshok <toshok@ximian.com>
373 * ConfigurationErrorsException.cs (.ctor): for the (string)
374 overload, chain up to the base (string) ctor.
376 2005-10-07 Chris Toshok <toshok@ximian.com>
378 * ConfigurationElement.cs (ElementMap.ReflectProperties): make
379 sure the type of the default value is compatible with that of the
380 property itself, and throw ConfigurationErrorsException if they
381 don't match. Fixes t12.
383 2005-10-07 Chris Toshok <toshok@ximian.com>
385 * ConfigHelper.cs: remove some unused code.
387 * ConfigurationProperty.cs: disambiguate the ctor we chain to.
389 * ConfigurationElement.cs (ElementProperty): implement.
390 (ElementMap.ReflectProperties): make DefaultValidator the default
393 2005-10-06 Chris Toshok <toshok@ximian.com>
395 * KeyValueConfigurationElement.cs: uncomment out some stuff.
396 (Properties): just return base.Properties. Not sure why they
397 override this, as the base class's implementation passes our test.
399 * KeyValueConfigurationCollection.cs (Add): for the keyValue
400 overload, call keyValue.Init as the unit test stack traces
401 indicates that'9s where it's called. For the string,string
402 overload, just call the keyValue overload instead of calling
404 (CreateNewElement): just use the name/value ctor, and specify ""
406 (GetElementKey): this function always returns "" for elements that
407 haven't been added to the collection. Once theyre added, it seems
408 to always return keyValue.Key.
409 (Properties): the unit tests show this returns a 0 length
412 2005-10-05 Chris Toshok <toshok@ximian.com>
414 * ConfigurationPermissionAttribute.cs: stub out.
416 2005-10-05 Chris Toshok <toshok@ximian.com>
418 * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
421 2005-10-05 Chris Toshok <toshok@ximian.com>
423 * TimeSpanSecondsConverter.cs: new implementation.
425 2005-10-05 Chris Toshok <toshok@ximian.com>
427 * TimeSpanMinutesConverter.cs: flesh out implementation.
429 * ConfigurationConverterBase.cs: make all subclasses work with
430 strings only, since that's what seems to manifest itself in the
433 2005-10-05 Chris Toshok <toshok@ximian.com>
435 * ConfigurationLockCollection.cs: add NIE'd AttributeList
438 * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
439 CanConvertTo methods.
441 * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
443 * ProtectedConfigurationSection.cs: add NIE'd properties.
445 * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
446 and SetReadOnly methods, and have then chain up to the base class.
448 * KeyValueConfigurationCollection.cs: add the class level
449 ConfigurationCollectionAttribute, and add a NIE'ed Properties
452 * ProviderSettingsCollection.cs: add the class level
453 ConfigurationCollectionAttribute, and add a "new" keyword to the
454 this property. Also, nuke the Provider's property.
456 * SectionInformation.cs: add some NEI'd properties.
458 * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
459 chain up to base class's method instead of throwing NIE.
461 * ConnectionStringSettingsCollection.cs: add the class-level
462 ConfigurationCollectionAttribute, and add the unimplemented
465 * ConfigurationErrorsException.cs: flesh this out, and add a
466 pragma to disable the obsolete warnings from our base class.
468 * ProviderSettings.cs: add unimplemented Properties property.
470 * ConfigurationElement.cs: remove unnecessary
471 EvaluationInformation.
473 * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
476 * ConfigurationProperty.cs: add a missing ctor.
478 * AppSettingsSection.cs: add missing "override" keyword.
480 * ConnectionStringsSection.cs: remove override.
482 * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
483 unimplemented GetObjectData override.
485 * ConfigurationSectionGroupCollection.cs: same.
487 * ConfigurationCollectionAttribute.cs: add missing CollectionType
490 2005-10-05 Chris Toshok <toshok@ximian.com>
492 * ConfigurationPermission.cs: new implementation.
494 * IgnoreSection.cs: new implementation.
496 2005-10-05 Chris Toshok <toshok@ximian.com>
498 * CommaDelimitedStringCollection.cs: new implementation.
500 2005-10-05 Chris Toshok <toshok@ximian.com>
502 * NameValueConfigurationCollection.cs: new implementation.
504 * NameValueConfigurationElement.cs: new implementation.
506 2005-10-05 Chris Toshok <toshok@ximian.com>
508 * ValidatorCallback.cs: new implementation.
510 * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
513 * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
516 * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
519 * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
521 * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
524 * DefaultValidator.cs: new implementation.
526 2005-09-28 Chris Toshok <toshok@ximian.com>
528 * ConfigurationElementCollection.cs: more work on the "<clear />"
529 handling - just skip the element for now. this causes a failure
530 in one test ('<clear hi="bye" />' doesn't throw an exception when
531 it should), but it succeeds for collections that have required
534 * ConnectionStringSettings.cs: providerName isn't a required
537 * AppSettingsSection.cs (.cctor): initialize our "file" Property.
540 (GetRuntimeObject): call the base class method instead of just
543 * ConnectionStringsSection.cs: Add a hacky DeserializeElement
544 method here (that isn't in MS's) for the time being so we actually
545 deserialize our collection.
547 2005-09-28 Chris Toshok <toshok@ximian.com>
549 * KeyValueInternalCollection.cs: found this by way of a stack
550 trace in one of the tests. A NameValueCollection that wraps a
551 KeyValueConfigurationCollection.
553 * Configuration.cs (Init): save off configPath.
554 (EvaluationContext): new, mostly implemented.
555 (GetSectionInstance): use IgnoreSection instead of
557 (Load): don't fail when we can't load a file.
559 * IgnoreSection.cs: replace RuntimeOnlySection with this new
562 * RuntimeOnlySection.cs: nuke.
564 2005-09-27 Chris Toshok <toshok@ximian.com>
566 * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
568 2005-09-27 Chris Toshok <toshok@ximian.com>
570 * ConfigurationProperty.cs: add IsDefaultCollection property.
572 2005-09-27 Chris Toshok <toshok@ximian.com>
574 * ConfigurationElementProperty.cs: new file.
576 * ConfigurationLockCollection.cs: new file.
578 * ConfigurationElementCollection.cs
579 (OnDeserializeUnrecognizedElement): make sure we consume the
580 <clear /> element so we don't into an endless loop.
582 * ConfigurationElement.cs: add a bunch of NIE's properties.
584 * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
586 2005-09-23 Chris Toshok <toshok@ximian.com>
588 * AppSettingsSection.cs: fix build and add a couple of TODO'ed
591 2005-09-23 Chris Toshok <toshok@ximian.com>
593 * ProviderSettings.cs (Unmerge): track change to
594 ConfigurationElement.Unmerge.
596 * ConfigurationSection.cs: add functions nuked from
597 ConfigurationElement here.
599 * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
601 (BaseGetAllKeys): returns object[], not string[].
602 (BaseGetKey): returns object, not string.
603 (Unmerge): track change to ConfigurationElement.Unmerge signature.
605 * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
606 signature (drop the serializeCollectionKey parameter).
609 2005-09-23 Chris Toshok <toshok@ximian.com>
611 * StringValidator.cs: throw ArgumentException instead of
612 ConfigurationErrorsException.
614 2005-09-23 Chris Toshok <toshok@ximian.com>
616 * ConnectionStringsSection.cs: track change to
617 ConfigurationPropertyOptions.
619 * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
620 ProviderSettings.cs: track change to ConfigurationPropertyOptions.
622 * ConnectionStringSettings.cs: track change to
623 ConfigurationProprertyOptions, and add some ConfigurationProperty
626 * ConfigurationPropertyOptions.cs: DefaultCollection ->
627 IsDefaultCollection, Required -> IsRequired.
629 2005-09-22 Chris Toshok <toshok@ximian.com>
631 * PositiveTimeSpanValidator.cs: this lives in
632 System.Web.Configuration, not System.Configuration.
634 2005-09-22 Chris Toshok <toshok@ximian.com>
636 * TimeSpanValidator.cs: change to ArgumentException and alter the
639 2005-09-22 Chris Toshok <toshok@ximian.com>
641 * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
643 2005-07-01 Lluis Sanchez Gual <lluis@novell.com>
645 * ProviderSettings.cs: Implemented properties using property attributes.
646 * ConfigurationElement.cs: Implemented ElementInformation property and
647 moved there all value management.
648 * ProtectedConfigurationProvider.cs: Set the correct base class.
649 * SectionInformation.cs: Added missing AllowExeDefinition property.
650 * TimeSpanValidatorAttribute.cs: Implemented.
651 * StringValidator.cs: Implemented.
652 * ProviderSettingsCollection.cs: Added missing class attribute.
653 * ConfigurationSaveMode.cs: Fix enum values.
654 * ConfigurationElementCollection.cs: Added Init method for initializing
655 elements from properties.
656 * StringValidatorAttribute.cs: Implemented.
657 * ConfigurationLocation.cs: Added support for allowOverride flag.
658 * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
659 * PositiveTimeSpanValidator.cs: Implemented.
660 * TimeSpanMinutesConverter.cs: Created skeleton class.
661 * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
662 AllowDefinition and AllowExeDefinition.
663 * TimeSpanValidator.cs: Implemented.
664 * ConfigurationConverterBase.cs: Created skeleton class.
665 * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
666 VerifyDefinitionAllowed.
667 * ConfigurationManager.cs: That class must be static.
668 * PropertyInformationCollection.cs: Implemented.
669 * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
670 so on. In Save(), don't forget to save location elements.
671 * ConfigurationProperty.cs: Keep track of collection attributes.
672 * ConfigInfo.cs: Support overrideAllowed flag.
673 * KeyValueConfigurationElement.cs: Define properties using attributes.
674 * PropertyValueOrigin.cs: implemented.
675 * PropertyInformation.cs: Mostly implemented.
676 * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
677 * ElementInformation.cs: Mostly implemented.
678 * ConfigurationPropertyAttribute.cs: Set the correct default value.
679 * ConfigurationCollectionAttribute.cs: Implemented.
681 2005-06-23 Lluis Sanchez Gual <lluis@novell.com>
683 * SectionInfo.cs: Set the config host when loading the section.
684 * InternalConfigurationHost.cs: Implemented some basic methods.
685 * Configuration.cs: Find the correct parent for the configuration,
686 taking into accound locations and such. Use Host functions to get
688 * ConfigurationLocationCollection.cs: Added find method.
689 * ConfigInfo.cs: Added Host property.
690 * InternalConfigurationFactory.cs: The InitForConfiguration calls
691 are now done in each correspoding configuration.
692 * SectionGroupInfo.cs: When reading a location element, create
693 a Configuration object for each path specified in the location.
694 * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
695 method, which properly initializes the created element.
696 * ConfigurationLocation.cs: OpenConfiguration now has to read the
697 xml contents. It also has to find the correct parent configuration,
698 if it has not been specified.
700 2005-06-17 Lluis Sanchez Gual <lluis@novell.com>
702 * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
703 * ConfigurationPropertyCollection.cs: Added Clear method.
704 * ContextInformation.cs: Implemented.
705 * ConfigurationManager.cs: Implemented some missing methods.
706 Configuration objects are now created through the ConfigurationFactory.
707 * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
708 to be used for exe files and machine.config.
709 * ConfigurationFileMap.cs: Implemented.
710 * Configuration.cs: Read and write config files using the methods that
711 IInternalConfigHost provides.
712 * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
713 * ExeContext.cs: Implemented.
714 * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
715 collection to store values.
716 * KeyValueConfigurationElement.cs: Implemented.
717 * KeyValueConfigurationCollection.cs: Implemented.
718 * InternalConfigurationFactory.cs: An implementation of
719 IInternalConfigConfigurationFactory.
720 * ConfigurationPropertyAttribute.cs: Added missing attributes.
721 * ExeConfigurationFileMap.cs: Implemented.
723 2005-06-15 Lluis Sanchez Gual <lluis@novell.com>
725 * ConfigurationElement.cs, ConfigurationErrorsException.cs
726 SectionInfo.cs, ConnectionStringSettingsCollection.cs,
727 ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
728 ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
729 ConfigurationElementCollectionType.cs, Configuration.cs,
730 ConnectionStringSettings.cs, ConfigurationProperty.cs,
731 ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
732 ConfigurationAllowDefinition.cs, ConfigInfo.cs,
733 ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
734 ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
735 SectionGroupInfo.cs, ConfigurationUserLevel.cs,
736 ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
737 ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
738 ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
742 * ConfigurationElementCollection.cs: Implemented support for Basic
743 collection type. Other fixes.
745 * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
746 * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
748 * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
749 ConfigurationManager.cs, ConfigurationSaveMode.cs,
750 ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
751 ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
754 * ConfigurationValidationAttribute.cs: Removed.
756 * ProviderBase.cs: Moved to System.dll.
758 2005-06-14 Lluis Sanchez Gual <lluis@novell.com>
760 * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
761 ConfigurationAllowDefinition.cs, ConfigurationElement.cs
762 ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
763 ConfigurationLocation.cs, ConfigurationLocationCollection.cs
764 ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
765 ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
766 ConfigurationSection.cs, ConfigurationSectionCollection.cs
767 ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
768 ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
769 ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
770 ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
771 IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
772 NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
773 ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
774 RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
775 TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
776 TimeSpanSerializedFormat.cs:
778 Moved from the System assembly.