[threads] Remove unused mono_thread_internal_stop (#4449)
[mono.git] / mcs / class / System.ServiceModel.Discovery / System.ServiceModel.Discovery / FindRequestContext.cs
index 06ab140d2d0c2dd5d14c92fcc8fa06c9807db2ea..93da8e396b190a5e3f158a1eaeea57ee1b791dbc 100755 (executable)
@@ -39,20 +39,34 @@ namespace System.ServiceModel.Discovery
                        if (criteria == null)
                                throw new ArgumentNullException ("criteria");
                        Criteria = criteria;
+                       Endpoints = new Collection<EndpointDiscoveryMetadata> ();
                }
 
                public FindCriteria Criteria { get; private set; }
 
-               [MonoTODO]
+               internal Collection<EndpointDiscoveryMetadata> Endpoints { get; private set; }
+
                public void AddMatchingEndpoint (EndpointDiscoveryMetadata matchingEndpoint)
                {
+                       if (matchingEndpoint == null)
+                               throw new ArgumentNullException ("matchingEndpoint");
                        OnAddMatchingEndpoint (matchingEndpoint);
                }
 
-               [MonoTODO]
                protected virtual void OnAddMatchingEndpoint (EndpointDiscoveryMetadata matchingEndpoint)
                {
-                       throw new NotImplementedException ();
+                       if (matchingEndpoint == null)
+                               throw new ArgumentNullException ("matchingEndpoint");
+                       Endpoints.Add (matchingEndpoint);
+               }
+       }
+       
+       // Not sure why it must be derived yet.
+       internal class DefaultFindRequestContext : FindRequestContext
+       {
+               public DefaultFindRequestContext (FindCriteria criteria)
+                       : base (criteria)
+               {
                }
        }
 }