[Cleanup] Removed TARGET_JVM
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Description / ServiceDescriptionCollection.cs
index c698d5f9652a4026aedf02e572484a0f8b3c5e9e..ede0ad15ec73243bb1e9c60e3bf3348afdd5574b 100644 (file)
@@ -35,9 +35,7 @@ using System.Xml;
 namespace System.Web.Services.Description {
        public sealed class ServiceDescriptionCollection : ServiceDescriptionBaseCollection {
 
-#if !TARGET_JVM //code generation is not supported
                ServiceDescriptionImporter importer;
-#endif
                
                #region Constructors
        
@@ -69,12 +67,10 @@ namespace System.Web.Services.Description {
                #endregion // Properties
 
                #region Methods
-#if !TARGET_JVM //code generation is not supported
                internal void SetImporter (ServiceDescriptionImporter i)
                {
                        importer = i;
                }
-#endif
                public int Add (ServiceDescription serviceDescription) 
                {
                        Insert (Count, serviceDescription);
@@ -93,11 +89,12 @@ namespace System.Web.Services.Description {
 
                public Binding GetBinding (XmlQualifiedName name)
                {
-                       ServiceDescription desc = (ServiceDescription) Table[name.Namespace];
-                       if (desc != null) {
-                               foreach (Binding binding in desc.Bindings) 
-                                       if (binding.Name == name.Name)
-                                               return binding;
+                       foreach (ServiceDescription desc in List) {
+                               if (desc.TargetNamespace == name.Namespace) {
+                                       foreach (Binding binding in desc.Bindings) 
+                                               if (binding.Name == name.Name)
+                                                       return binding;
+                               }
                        }
                        throw new InvalidOperationException ("Binding '" + name + "' not found");
                }
@@ -109,33 +106,36 @@ namespace System.Web.Services.Description {
 
                public Message GetMessage (XmlQualifiedName name)
                {
-                       ServiceDescription desc = (ServiceDescription) Table[name.Namespace];
-                       if (desc != null) {
-                               foreach (Message message in desc.Messages) 
-                                       if (message.Name == name.Name)
-                                               return message;
+                       foreach (ServiceDescription desc in List) {
+                               if (desc.TargetNamespace == name.Namespace) {
+                                       foreach (Message message in desc.Messages) 
+                                               if (message.Name == name.Name)
+                                                       return message;
+                               }
                        }
                        throw new InvalidOperationException ("Message '" + name + "' not found");
                }
 
                public PortType GetPortType (XmlQualifiedName name)
                {
-                       ServiceDescription desc = (ServiceDescription) Table[name.Namespace];
-                       if (desc != null) {
-                               foreach (PortType portType in desc.PortTypes) 
-                                       if (portType.Name == name.Name)
-                                               return portType;
+                       foreach (ServiceDescription desc in List) {
+                               if (desc.TargetNamespace == name.Namespace) {
+                                       foreach (PortType portType in desc.PortTypes) 
+                                               if (portType.Name == name.Name)
+                                                       return portType;
+                               }
                        }
                        throw new InvalidOperationException ("Port type '" + name + "' not found");
                }
 
                public Service GetService (XmlQualifiedName name)
                {
-                       ServiceDescription desc = (ServiceDescription) Table[name.Namespace];
-                       if (desc != null) {
-                               foreach (Service service in desc.Services) 
-                                       if (service.Name == name.Name)
-                                               return service;
+                       foreach (ServiceDescription desc in List) {
+                               if (desc.TargetNamespace == name.Namespace) {
+                                       foreach (Service service in desc.Services) 
+                                               if (service.Name == name.Name)
+                                                       return service;
+                               }
                        }
                        throw new InvalidOperationException ("Service '" + name + "' not found");
                }
@@ -148,6 +148,7 @@ namespace System.Web.Services.Description {
                public void Insert (int index, ServiceDescription serviceDescription)
                {
                        List.Insert (index, serviceDescription);
+                       OnInsertComplete (index, serviceDescription);
                }
        
                public void Remove (ServiceDescription serviceDescription)
@@ -155,6 +156,22 @@ namespace System.Web.Services.Description {
                        List.Remove (serviceDescription);
                }
 
+#if NET_2_0
+               [MonoTODO]
+               protected override
+#endif
+               void OnInsertComplete (int index, object item)
+               {
+                       base.OnInsertComplete (index, item);
+               }
+
+#if NET_2_0
+               [MonoTODO]
+               protected override void SetParent (object value, object parent)
+               {
+               }
+#endif
+
                #endregion // Methods
        }
 }