Author: toshok
Date: 2005-11-14 12:38:54 -0500 (Mon, 14 Nov 2005)
New Revision: 53024

Added:
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/WebContext.cs
Modified:
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AssemblyCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRule.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BufferModesCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProvider.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProviderCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ClientTargetCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CodeSubDirectoriesCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomError.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsSection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/EventMappingSettingsCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthenticationUserCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpHandlerActionCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModuleActionCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceInfo.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/OutputCacheProfileCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/PassportAuthentication.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileGroupSettingsCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfilePropertySettingsCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileSettingsCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RootProfilePropertySettingsCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettingsCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapInfo.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixCollection.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixInfo.cs
   trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfo.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfoCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TrustLevelCollection.cs
   
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingCollection.cs
Log:
2005-11-14  Chris Toshok  <[EMAIL PROTECTED]>

        * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
        (set_Item (int index)): implement.
        
        * TagPrefixInfo.cs (Equals): implement.
        (GetHashCode): implement.

        * AuthorizationRuleCollection.cs (CreateNewElement(string)):
        implement propertly.
        (IndexOf): implement.
        (IsElementName): implement.
        (ElementName): implement.
        (Item (int index)): implement.
        
        * FormsAuthenticationUserCollection.cs (set_Item (int index)): 
implement.

        * UrlMappingCollection.cs (set_Item (int index)): implement.

        * OutputCacheProfileCollection.cs (set_Item (int index)): implement.

        * TransformerInfo.cs (Equals): implement.
        (GetHashCode): implement.

        * NamespaceInfo.cs (Equals): implement.
        (GetHashCode): implement.
        
        * ProfileSettingsCollection.cs (set_Item (int index)): implement.

        * TransformerInfoCollection.cs (set_Item (int index)): implement.

        * HttpHandlerActionCollection.cs (set_Item (int index)): implement.

        * BufferModesCollection.cs (set_Item (int index)): implement.

        * BuildProvider.cs: use the base[fooProp] pattern instead of
        instance fields.

        * ProfileGroupSettingsCollection.cs: implement most of this class.

        * RuleSettingsCollection.cs (set_Item (int index)): implement.

        * ClientTargetCollection.cs (set_Item (int index)): implement.

        * AssemblyCollection.cs (set_Item (int index)): implement.

        * BuildProviderCollection.cs (set_Item (int index)): reformat.

        * CustomError.cs (Equals): implement.
        (GetHashCode): implement.

        * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.

        * PassportAuthentication.cs (RedirectUrl): express consternation
        in comment form.

        * NamespaceCollection.cs (set_Item (int index)): implement.

        * RootProfilePropertySettingsCollection.cs (SerializeElement): add
        comment.

        * ProfilePropertySettingsCollection.cs (set_Item (int index)):
        implement.

        * CustomErrorCollection.cs (set_Item (int index)): implement.

        * HttpModuleActionCollection.cs (set_Item (int index)): implement.

        * CodeSubDirectoriesCollection.cs (set_Item (int index)):
        implement.

        * CustomErrorsSection.cs (DeserializeSection): include call to
        base.DeserializeSection, and add MonoTODO.

        * EventMappingSettingsCollection.cs (set_Item (int index)):
        implement.

        * AuthorizationRule.cs (Equals): implement.
        (GetHashCode): implement.
        (SerializeElement): add comment.

        * TagMapCollection.cs (Remove): pass the key to BaseRemove.
        (set_Item (int index)): implement.
        
        * TagMapInfo.cs (Equals): implement.
        (GetHashCode): implement.
        (SerializeElement): add call to base.SerializeElement.

        * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
        (GetElementKey): implement.

        * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.

        * WebContext.cs: new implementation.



Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AssemblyCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AssemblyCollection.cs   
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AssemblyCollection.cs   
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -78,8 +78,7 @@
 
                public AssemblyInfo this [int index] {
                        get { return (AssemblyInfo) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set {  if (BaseGet(index) != null)  
BaseRemoveAt(index);  BaseAdd(index, value); }
                }
 
                public new AssemblyInfo this [string assemblyName] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRule.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRule.cs    
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRule.cs    
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -64,16 +64,52 @@
                        this.action = action;
                }
 
-               [MonoTODO]
                public override bool Equals (object obj)
                {
-                       return base.Equals (obj);
+                       AuthorizationRule auth = obj as AuthorizationRule;
+                       if (auth == null)
+                               return false;
+
+                       if (action != auth.Action)
+                               return false;
+
+                       if (Roles.Count != auth.Roles.Count
+                           || Users.Count != auth.Users.Count
+                           || Verbs.Count != auth.Verbs.Count)
+                               return false;
+
+                       int i;
+
+                       for (i = 0; i < Roles.Count; i ++)
+                               if (Roles[i] != auth.Roles[i])
+                                       return false;
+
+                       for (i = 0; i < Users.Count; i ++)
+                               if (Users[i] != auth.Users[i])
+                                       return false;
+
+                       for (i = 0; i < Verbs.Count; i ++)
+                               if (Verbs[i] != auth.Verbs[i])
+                                       return false;
+                               
+                       return true;
                }
 
-               [MonoTODO]
                public override int GetHashCode ()
                {
-                       return base.GetHashCode ();
+                       int hashCode = (int)action;
+                       int i;
+
+                       for (i = 0; i < Roles.Count; i ++)
+                               hashCode += Roles[i].GetHashCode();
+
+                       for (i = 0; i < Users.Count; i ++)
+                               hashCode += Users[i].GetHashCode();
+
+                       for (i = 0; i < Verbs.Count; i ++)
+                               hashCode += Verbs[i].GetHashCode();
+
+                       return hashCode;
                }
 
                [MonoTODO]
@@ -109,7 +145,11 @@
                [MonoTODO]
                protected override bool SerializeElement (XmlWriter writer, 
bool serializeCollectionKey)
                {
-                       return base.SerializeElement (writer, 
serializeCollectionKey);
+                       bool ret = base.SerializeElement (writer, 
serializeCollectionKey);
+
+                       /* XXX more here? .. */
+
+                       return ret;
                }
 
                [MonoTODO]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleCollection.cs
      2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleCollection.cs
      2005-11-14 17:38:54 UTC (rev 53024)
@@ -55,10 +55,9 @@
                        BaseClear ();
                }
 
-               [MonoTODO]
                protected override ConfigurationElement CreateNewElement 
(string elementName)
                {
-                       return new AuthorizationRule 
(AuthorizationRuleAction.Allow);
+                       return new AuthorizationRule (elementName == "allow" ? 
AuthorizationRuleAction.Allow : AuthorizationRuleAction.Deny);
                }
 
                [MonoTODO]
@@ -78,16 +77,14 @@
                        throw new NotImplementedException ();
                }
 
-               [MonoTODO]
                public int IndexOf (AuthorizationRule rule)
                {
-                       throw new NotImplementedException ();
+                       return BaseIndexOf (rule);
                }
 
-               [MonoTODO]
                protected override bool IsElementName (string elementname)
                {
-                       throw new NotImplementedException ();
+                       return (elementname == "allow" || elementname == 
"deny");
                }
 
                public void Remove (AuthorizationRule rule)
@@ -112,13 +109,12 @@
 
                [MonoTODO]
                protected override string ElementName {
-                       get { throw new NotImplementedException (); }
+                       get { return "allow,deny"; }
                }
 
-               [MonoTODO]
                public AuthorizationRule this [int index] {
-                       get { throw new NotImplementedException (); }
-                       set { throw new NotImplementedException (); }
+                       get { return Get (index); }
+                       set {  if (BaseGet(index) != null)  
BaseRemoveAt(index);  BaseAdd(index, value); }
                }
 
                protected override ConfigurationPropertyCollection Properties {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BufferModesCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BufferModesCollection.cs
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BufferModesCollection.cs
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -72,8 +72,7 @@
 
                public BufferModeSettings this [int index] {
                        get { return (BufferModeSettings)BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set {  if (BaseGet(index) != null)  
BaseRemoveAt(index);  BaseAdd(index, value); }
                }
 
                public new BufferModeSettings this [string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProvider.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProvider.cs    
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProvider.cs    
2005-11-14 17:38:54 UTC (rev 53024)
@@ -3,6 +3,7 @@
 //
 // Authors:
 //     Gonzalo Paniagua Javier ([EMAIL PROTECTED])
+//     Chris Toshok ([EMAIL PROTECTED])
 //
 // Copyright (c) 2005 Novell, Inc (http://www.novell.com)
 //
@@ -27,6 +28,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
+
 #if NET_2_0
 using System;
 using System.Configuration;
@@ -34,47 +36,57 @@
 namespace System.Web.Configuration
 {
        public sealed class BuildProvider : ConfigurationElement {
-               string extension;
-               string type;
 
+               static ConfigurationProperty extensionProp;
+               static ConfigurationProperty typeProp;
+               static ConfigurationPropertyCollection properties;
+
+               static BuildProvider ()
+               {
+                       extensionProp = new ConfigurationProperty ("extension", 
typeof (string), "", ConfigurationPropertyOptions.IsRequired | 
ConfigurationPropertyOptions.IsKey);
+                       typeProp = new ConfigurationProperty ("type", typeof 
(string), "", ConfigurationPropertyOptions.IsRequired);
+                       properties = new ConfigurationPropertyCollection();
+
+                       properties.Add (extensionProp);
+                       properties.Add (typeProp);
+               }
+
                public BuildProvider (string extension, string type)
                {
-                       this.extension = extension;
-                       this.type = type;
+                       this.Extension = extension;
+                       this.Type = type;
                }
 
                [StringValidator (MinLength = 1)]
                [ConfigurationProperty ("extension", DefaultValue = "", Options 
= ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey)]
                public string Extension {
-                       get { return extension; }
-                       set { extension = value; }
+                       get { return (string) base[extensionProp]; }
+                       set { base[extensionProp] = value; }
                }
 
                [StringValidator (MinLength = 1)]
                [ConfigurationProperty ("type", DefaultValue = "", Options = 
ConfigurationPropertyOptions.IsRequired)]
                public string Type {
-                       get { return type; }
-                       set { type = value; }
+                       get { return (string) base[typeProp]; }
+                       set { base[typeProp] = value; }
                }
 
                protected override ConfigurationPropertyCollection Properties {
-                       get {
-                               return base.Properties;
-                       }
+                       get { return properties; }
                }
 
                public override bool Equals (object provider)
                {
-                       if (!(provider is BuildProvider))
+                       BuildProvider p = provider as BuildProvider;
+                       if (p == null)
                                return false;
 
-                       BuildProvider p = (BuildProvider) provider;
-                       return (extension == p.extension && type == p.type);
+                       return (Extension == p.Extension && Type == p.Type);
                }
 
                public override int GetHashCode ()
                {
-                       return (extension.GetHashCode () + type.GetHashCode ());
+                       return (Extension.GetHashCode () + Type.GetHashCode ());
                }
        }
        

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProviderCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProviderCollection.cs
  2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/BuildProviderCollection.cs
  2005-11-14 17:38:54 UTC (rev 53024)
@@ -51,12 +51,7 @@
 
                public BuildProvider this [int index] {
                        get { return (BuildProvider) BaseGet (index); }
-                       set {
-                               if (BaseGet (index) != null)
-                                       BaseRemoveAt (index);
-
-                               BaseAdd (index, value);
-                       }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new BuildProvider this [string name] {

Modified: trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog   
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog   
2005-11-14 17:38:54 UTC (rev 53024)
@@ -1,3 +1,98 @@
+2005-11-14  Chris Toshok  <[EMAIL PROTECTED]>
+
+       * TagPrefixCollection.cs (Remove): pass the key to BaseRemove.
+       (set_Item (int index)): implement.
+       
+       * TagPrefixInfo.cs (Equals): implement.
+       (GetHashCode): implement.
+
+       * AuthorizationRuleCollection.cs (CreateNewElement(string)):
+       implement propertly.
+       (IndexOf): implement.
+       (IsElementName): implement.
+       (ElementName): implement.
+       (Item (int index)): implement.
+       
+       * FormsAuthenticationUserCollection.cs (set_Item (int index)): 
implement.
+
+       * UrlMappingCollection.cs (set_Item (int index)): implement.
+
+       * OutputCacheProfileCollection.cs (set_Item (int index)): implement.
+
+       * TransformerInfo.cs (Equals): implement.
+       (GetHashCode): implement.
+
+       * NamespaceInfo.cs (Equals): implement.
+       (GetHashCode): implement.
+       
+       * ProfileSettingsCollection.cs (set_Item (int index)): implement.
+
+       * TransformerInfoCollection.cs (set_Item (int index)): implement.
+
+       * HttpHandlerActionCollection.cs (set_Item (int index)): implement.
+
+       * BufferModesCollection.cs (set_Item (int index)): implement.
+
+       * BuildProvider.cs: use the base[fooProp] pattern instead of
+       instance fields.
+
+       * ProfileGroupSettingsCollection.cs: implement most of this class.
+
+       * RuleSettingsCollection.cs (set_Item (int index)): implement.
+
+       * ClientTargetCollection.cs (set_Item (int index)): implement.
+
+       * AssemblyCollection.cs (set_Item (int index)): implement.
+
+       * BuildProviderCollection.cs (set_Item (int index)): reformat.
+
+       * CustomError.cs (Equals): implement.
+       (GetHashCode): implement.
+
+       * ExpressionBuilderCollection.cs (set_Item (int index)): reformat.
+
+       * PassportAuthentication.cs (RedirectUrl): express consternation
+       in comment form.
+
+       * NamespaceCollection.cs (set_Item (int index)): implement.
+
+       * RootProfilePropertySettingsCollection.cs (SerializeElement): add
+       comment.
+
+       * ProfilePropertySettingsCollection.cs (set_Item (int index)):
+       implement.
+
+       * CustomErrorCollection.cs (set_Item (int index)): implement.
+
+       * HttpModuleActionCollection.cs (set_Item (int index)): implement.
+
+       * CodeSubDirectoriesCollection.cs (set_Item (int index)):
+       implement.
+
+       * CustomErrorsSection.cs (DeserializeSection): include call to
+       base.DeserializeSection, and add MonoTODO.
+
+       * EventMappingSettingsCollection.cs (set_Item (int index)):
+       implement.
+
+       * AuthorizationRule.cs (Equals): implement.
+       (GetHashCode): implement.
+       (SerializeElement): add comment.
+
+       * TagMapCollection.cs (Remove): pass the key to BaseRemove.
+       (set_Item (int index)): implement.
+       
+       * TagMapInfo.cs (Equals): implement.
+       (GetHashCode): implement.
+       (SerializeElement): add call to base.SerializeElement.
+
+       * TrustLevelCollection.cs (Remove): pass the key to BaseRemove.
+       (GetElementKey): implement.
+
+       * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement.
+
+       * WebContext.cs: new implementation.
+
 2005-11-13  Chris Toshok  <[EMAIL PROTECTED]>
 
        * AnonymousIdentificationSection.cs: rework this class a bit to

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ClientTargetCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ClientTargetCollection.cs
   2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ClientTargetCollection.cs
   2005-11-14 17:38:54 UTC (rev 53024)
@@ -93,8 +93,7 @@
 
                public ClientTarget this [int index] {
                        get { return (ClientTarget) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new ClientTarget this [string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CodeSubDirectoriesCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CodeSubDirectoriesCollection.cs
     2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CodeSubDirectoriesCollection.cs
     2005-11-14 17:38:54 UTC (rev 53024)
@@ -51,12 +51,7 @@
 
                public CodeSubDirectory this [int index] {
                        get { return (CodeSubDirectory) BaseGet (index); }
-                       set {
-                               if (BaseGet (index) != null)
-                                       BaseRemoveAt (index);
-
-                               BaseAdd (index, value);
-                       }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override ConfigurationElementCollectionType 
CollectionType {

Modified: trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomError.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomError.cs      
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomError.cs      
2005-11-14 17:38:54 UTC (rev 53024)
@@ -57,16 +57,18 @@
                        this.Redirect = redirect;
                }
 
-               [MonoTODO]
                public override bool Equals (object customError)
                {
-                       return base.Equals (customError);
+                       CustomError e = customError as CustomError;
+                       if (e == null)
+                               return false;
+
+                       return (Redirect == e.Redirect && StatusCode == 
e.StatusCode);
                }
 
-               [MonoTODO]
                public override int GetHashCode ()
                {
-                       return base.GetHashCode ();
+                       return Redirect.GetHashCode () + StatusCode;
                }
 
                [StringValidator (MinLength = 1)]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorCollection.cs
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorCollection.cs
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -115,8 +115,7 @@
 
                public CustomError this [int index] {
                        get { return (CustomError)BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                [MonoTODO]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsSection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsSection.cs  
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsSection.cs  
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -56,8 +56,12 @@
 
                }
 
+               [MonoTODO]
                protected override void DeserializeSection (XmlReader reader)
                {
+                       base.DeserializeSection (reader);
+
+                       /* XXX more here?.. */
                }
 
                protected override void Reset (ConfigurationElement 
parentElement)

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/EventMappingSettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/EventMappingSettingsCollection.cs
   2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/EventMappingSettingsCollection.cs
   2005-11-14 17:38:54 UTC (rev 53024)
@@ -95,8 +95,7 @@
 
                public EventMappingSettings this [int index] {
                        get { return (EventMappingSettings) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new EventMappingSettings this [string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs
      2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs
      2005-11-14 17:38:54 UTC (rev 53024)
@@ -53,12 +53,7 @@
 
                public ExpressionBuilder this [int index] {
                        get { return (ExpressionBuilder) BaseGet (index); }
-                       set {
-                               if (BaseGet (index) != null)
-                                       BaseRemoveAt (index);
-
-                               BaseAdd (index, value);
-                       }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new ExpressionBuilder this [string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthenticationUserCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthenticationUserCollection.cs
        2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthenticationUserCollection.cs
        2005-11-14 17:38:54 UTC (rev 53024)
@@ -122,8 +122,7 @@
 
                public FormsAuthenticationUser this[int index] {
                        get { return (FormsAuthenticationUser) Get (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new FormsAuthenticationUser this[string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpHandlerActionCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpHandlerActionCollection.cs
      2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpHandlerActionCollection.cs
      2005-11-14 17:38:54 UTC (rev 53024)
@@ -99,8 +99,7 @@
 
                public HttpHandlerAction this[int index] {
                        get { return (HttpHandlerAction)BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override bool ThrowOnDuplicate {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModuleActionCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModuleActionCollection.cs
       2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModuleActionCollection.cs
       2005-11-14 17:38:54 UTC (rev 53024)
@@ -99,8 +99,7 @@
 
                public HttpModuleAction this[int index] {
                        get { return (HttpModuleAction)BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
        }
 }

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceCollection.cs  
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceCollection.cs  
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -96,8 +96,7 @@
 
                public NamespaceInfo this[int index] {
                        get { return (NamespaceInfo) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
        }

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceInfo.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceInfo.cs    
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/NamespaceInfo.cs    
2005-11-14 17:38:54 UTC (rev 53024)
@@ -54,16 +54,18 @@
                        Namespace = name;
                }
 
-               [MonoTODO]
                public override bool Equals (object namespaceInformation)
                {
-                       return base.Equals (namespaceInformation);
+                       NamespaceInfo info = namespaceInformation as 
NamespaceInfo;
+                       if (info == null)
+                               return false;
+
+                       return (Namespace == info.Namespace);
                }
 
-               [MonoTODO]
                public override int GetHashCode ()
                {
-                       return base.GetHashCode ();
+                       return Namespace.GetHashCode ();
                }
 
                [StringValidator (MinLength = 1)]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/OutputCacheProfileCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/OutputCacheProfileCollection.cs
     2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/OutputCacheProfileCollection.cs
     2005-11-14 17:38:54 UTC (rev 53024)
@@ -104,8 +104,7 @@
 
                public OutputCacheProfile this [int index] {
                        get { return (OutputCacheProfile) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                public new OutputCacheProfile this [string name] {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/PassportAuthentication.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/PassportAuthentication.cs
   2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/PassportAuthentication.cs
   2005-11-14 17:38:54 UTC (rev 53024)
@@ -55,7 +55,7 @@
                }
 #endif
 
-               [StringValidator]
+               [StringValidator] /* why is this here? */
                [ConfigurationProperty ("redirectUrl", DefaultValue = 
"internal")]
                public string RedirectUrl {
                        get { return (string) base [redirectUrlProp];}

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileGroupSettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileGroupSettingsCollection.cs
   2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileGroupSettingsCollection.cs
   2005-11-14 17:38:54 UTC (rev 53024)
@@ -38,46 +38,45 @@
        [ConfigurationCollection (typeof (ProfileGroupSettings), AddItemName = 
"group", CollectionType = ConfigurationElementCollectionType.AddRemoveClearMap)]
        public sealed class ProfileGroupSettingsCollection : 
ConfigurationElementCollection
        {
-               [MonoTODO]
+               static ConfigurationPropertyCollection properties;
+
+               static ProfileGroupSettingsCollection ()
+               {
+                       properties = new ConfigurationPropertyCollection ();
+               }
+
                public ProfileGroupSettingsCollection ()
                {
-                       throw new NotImplementedException ();
                }
 
-               [MonoTODO]
                public void Add (ProfileGroupSettings group)
                {
-                       throw new NotImplementedException ();
+                       BaseAdd (group);
                }
 
-               [MonoTODO]
                public void Clear ()
                {
-                       throw new NotImplementedException ();
+                       BaseClear ();
                }
 
-               [MonoTODO]
                protected override ConfigurationElement CreateNewElement ()
                {
-                       throw new NotImplementedException ();
+                       return new ProfileGroupSettings ("");
                }
 
-               [MonoTODO]
                public ProfileGroupSettings Get (int index)
                {
-                       throw new NotImplementedException ();
+                       return (ProfileGroupSettings) BaseGet (index);
                }
 
-               [MonoTODO]
                public ProfileGroupSettings Get (string name)
                {
-                       throw new NotImplementedException ();
+                       return (ProfileGroupSettings) BaseGet (name);
                }
 
-               [MonoTODO]
                protected override object GetElementKey (ConfigurationElement 
element)
                {
-                       throw new NotImplementedException ();
+                       return ((ProfileGroupSettings)element).Name;
                }
 
                [MonoTODO]
@@ -86,10 +85,9 @@
                        throw new NotImplementedException ();
                }
 
-               [MonoTODO]
                public int IndexOf (ProfileGroupSettings group)
                {
-                       throw new NotImplementedException ();
+                       return BaseIndexOf (group);
                }
 
                [MonoTODO]
@@ -98,16 +96,14 @@
                        throw new NotImplementedException ();
                }
 
-               [MonoTODO]
                public void Remove (string name)
                {
-                       throw new NotImplementedException ();
+                       BaseRemove (name);
                }
 
-               [MonoTODO]
                public void RemoveAt (int index)
                {
-                       throw new NotImplementedException ();
+                       BaseRemoveAt (index);
                }
 
                [MonoTODO]
@@ -124,33 +120,20 @@
 
                [MonoTODO]
                public string[ ] AllKeys {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new NotImplementedException (); }
                }
 
-               [MonoTODO]
                protected override ConfigurationPropertyCollection Properties {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { return properties; }
                }
 
-               [MonoTODO]
                public ProfileGroupSettings this[int index] {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-                       set {
-                               throw new NotImplementedException ();
-                       }
+                       get { return Get (index); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
-               [MonoTODO]
                public new ProfileGroupSettings this[string name] {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { return (ProfileGroupSettings) BaseGet (name); }
                }
 
        }

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfilePropertySettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfilePropertySettingsCollection.cs
        2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfilePropertySettingsCollection.cs
        2005-11-14 17:38:54 UTC (rev 53024)
@@ -138,14 +138,9 @@
                        }
                }
 
-               [MonoTODO]
                public ProfilePropertySettings this[int index] {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-                       set {
-                               throw new NotImplementedException ();
-                       }
+                       get { return (ProfilePropertySettings) BaseGet (index); 
}
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                [MonoTODO]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileSettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileSettingsCollection.cs
        2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/ProfileSettingsCollection.cs
        2005-11-14 17:38:54 UTC (rev 53024)
@@ -99,8 +99,7 @@
 
                public ProfileSettings this [int index] {
                        get { return (ProfileSettings)BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override ConfigurationPropertyCollection Properties {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RootProfilePropertySettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RootProfilePropertySettingsCollection.cs
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RootProfilePropertySettingsCollection.cs
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -93,7 +93,11 @@
                [MonoTODO]
                protected override bool SerializeElement (XmlWriter writer, 
bool serializeCollectionKey)
                {
-                       throw new NotImplementedException ();
+                       bool ret = base.SerializeElement (writer, 
serializeCollectionKey);
+
+                       /* XXX more here? .. */
+
+                       return ret;
                }
 
                [MonoTODO]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettingsCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettingsCollection.cs
   2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettingsCollection.cs
   2005-11-14 17:38:54 UTC (rev 53024)
@@ -99,8 +99,7 @@
 
                public RuleSettings this [int index] {
                        get { return (RuleSettings) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override ConfigurationPropertyCollection Properties {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapCollection.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapCollection.cs 
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapCollection.cs 
2005-11-14 17:38:54 UTC (rev 53024)
@@ -72,7 +72,7 @@
 
                public void Remove (TagMapInfo tagMapInformation)
                {
-                       BaseRemove (tagMapInformation);
+                       BaseRemove (tagMapInformation.TagType);
                }
 
                protected override ConfigurationPropertyCollection Properties {
@@ -80,10 +80,8 @@
                }
 
                public TagMapInfo this[int index] {
-                       get { return (TagMapInfo) BaseGet (index);
-                       }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       get { return (TagMapInfo) BaseGet (index); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
        }
 }

Modified: trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapInfo.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapInfo.cs       
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagMapInfo.cs       
2005-11-14 17:38:54 UTC (rev 53024)
@@ -59,22 +59,29 @@
                        this.MappedTagType = mappedTagTypeName;
                }
 
-               [MonoTODO]
                public override bool Equals (object map)
                {
-                       return base.Equals (map);
+                       TagMapInfo info = map as TagMapInfo;
+                       if (info == null)
+                               return false;
+
+                       return (MappedTagType == info.MappedTagType
+                               && TagType == info.TagType);
                }
 
-               [MonoTODO]
-               protected override bool SerializeElement (XmlWriter writer, 
bool serializeCollectionKey)
+               public override int GetHashCode ()
                {
-                       return base.SerializeElement (writer, 
serializeCollectionKey);
+                       return MappedTagType.GetHashCode() + 
TagType.GetHashCode();
                }
 
                [MonoTODO]
-               public override int GetHashCode ()
+               protected override bool SerializeElement (XmlWriter writer, 
bool serializeCollectionKey)
                {
-                       return base.GetHashCode ();
+                       bool ret = base.SerializeElement (writer, 
serializeCollectionKey);
+
+                       /* XXX more here? .. */
+
+                       return ret;
                }
 
                [StringValidator (MinLength = 1)]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixCollection.cs  
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixCollection.cs  
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -73,7 +73,7 @@
 
                public void Remove (TagPrefixInfo tagPrefixInformation)
                {
-                       BaseRemove (tagPrefixInformation);
+                       BaseRemove (tagPrefixInformation.TagPrefix);
                }
 
                [MonoTODO]
@@ -95,10 +95,8 @@
                }
 
                public TagPrefixInfo this[int index] {
-                       get { return (TagPrefixInfo) BaseGet (index);
-                       }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       get { return (TagPrefixInfo) BaseGet (index); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override bool ThrowOnDuplicate {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixInfo.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixInfo.cs    
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TagPrefixInfo.cs    
2005-11-14 17:38:54 UTC (rev 53024)
@@ -72,16 +72,21 @@
                        this.Source = source;
                }
 
-               [MonoTODO]
                public override bool Equals (object prefix)
                {
-                       return base.Equals (prefix);
+                       TagPrefixInfo info = prefix as TagPrefixInfo;
+                       if (info == null)
+                               return false;
+
+                       return (Namespace == info.Namespace
+                               && Source == info.Source
+                               && TagName == info.TagName
+                               && TagPrefix == info.TagPrefix);
                }
 
-               [MonoTODO]
                public override int GetHashCode ()
                {
-                       return base.GetHashCode ();
+                       return Namespace.GetHashCode() + Source.GetHashCode() + 
TagName.GetHashCode() + TagPrefix.GetHashCode();
                }
 
                [ConfigurationProperty ("assembly")]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfo.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfo.cs  
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfo.cs  
2005-11-14 17:38:54 UTC (rev 53024)
@@ -58,16 +58,15 @@
                        this.Type = type;
                }
 
-               [MonoTODO]
                public override bool Equals (object o)
                {
-                       return base.Equals (o);
+                       TransformerInfo info = o as TransformerInfo;
+                       return (Name == info.Name && Type == info.Type);
                }
 
-               [MonoTODO]
                public override int GetHashCode ()
                {
-                       return base.GetHashCode ();
+                       return Name.GetHashCode () + Type.GetHashCode ();
                }
 
                [StringValidator (MinLength = 1)]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfoCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfoCollection.cs
        2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TransformerInfoCollection.cs
        2005-11-14 17:38:54 UTC (rev 53024)
@@ -77,8 +77,7 @@
 
                public TransformerInfo this [int index] {
                        get { return (TransformerInfo) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                protected override ConfigurationPropertyCollection Properties {

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TrustLevelCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TrustLevelCollection.cs 
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/TrustLevelCollection.cs 
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -62,7 +62,7 @@
 
                public void Remove (TrustLevel trustLevel)
                {
-                       BaseRemove (trustLevel);
+                       BaseRemove (trustLevel.Name);
                }
 
                public void RemoveAt (int index)
@@ -81,10 +81,9 @@
                        return new TrustLevel ("", "");
                }
 
-               [MonoTODO]
                protected override object GetElementKey (ConfigurationElement 
element)
                {
-                       throw new NotImplementedException ();
+                       return ((TrustLevel)element).Name;
                }
 
                [MonoTODO]
@@ -108,8 +107,7 @@
 
                public TrustLevel this [int index] {
                        get { return (TrustLevel) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                [MonoTODO]

Modified: 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingCollection.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingCollection.cs 
    2005-11-14 16:30:01 UTC (rev 53023)
+++ 
trunk/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingCollection.cs 
    2005-11-14 17:38:54 UTC (rev 53024)
@@ -93,8 +93,7 @@
 
                public UrlMapping this [int index] {
                        get { return (UrlMapping) BaseGet (index); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set { if (BaseGet (index) != null) BaseRemoveAt 
(index); BaseAdd (index, value); }
                }
 
                [MonoTODO]

Added: trunk/mcs/class/System.Web/System.Web.Configuration_2.0/WebContext.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Configuration_2.0/WebContext.cs       
2005-11-14 16:30:01 UTC (rev 53023)
+++ trunk/mcs/class/System.Web/System.Web.Configuration_2.0/WebContext.cs       
2005-11-14 17:38:54 UTC (rev 53024)
@@ -0,0 +1,78 @@
+//
+// System.Web.Configuration.WebContext
+//
+// Authors:
+//     Chris Toshok ([EMAIL PROTECTED])
+//
+// (C) 2005 Novell, Inc (http://www.novell.com)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Configuration;
+
+#if NET_2_0
+
+namespace System.Web.Configuration {
+
+       public sealed class WebContext
+       {
+               WebApplicationLevel pathLevel;
+               string site;
+               string applicationPath;
+               string path;
+               string locationSubPath;
+
+               public WebContext (WebApplicationLevel pathLevel, string site, 
string applicationPath, string path, string locationSubPath)
+               {
+                       this.pathLevel = pathLevel;
+                       this.site = site;
+                       this.applicationPath = applicationPath;
+                       this.path = path;
+                       this.locationSubPath = locationSubPath;
+               }
+
+               public WebApplicationLevel ApplicationLevel {
+                       get { return pathLevel; }
+               }
+
+               public string ApplicationPath {
+                       get { return applicationPath; }
+               }
+
+               public string LocationSubPath {
+                       get { return locationSubPath; }
+               }
+
+               public string Path {
+                       get { return path; }
+               }
+
+               public string Site {
+                       get { return site; }
+               }
+       }
+}
+
+#endif
+

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to