//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------- namespace System.ServiceModel.Discovery.VersionCD1 { using System.Runtime; using System.Collections.ObjectModel; sealed class ProbeRequestResponseCD1AsyncResult : ProbeRequestResponseAsyncResult { internal ProbeRequestResponseCD1AsyncResult(ProbeMessageCD1 probeMessage, IDiscoveryServiceImplementation discoveryServiceImpl, AsyncCallback callback, object state) : base(probeMessage, discoveryServiceImpl, callback, state) { } public static ProbeMatchesMessageCD1 End(IAsyncResult result) { ProbeRequestResponseCD1AsyncResult thisPtr = AsyncResult.End(result); return thisPtr.End(); } protected override bool ValidateContent(ProbeMessageCD1 probeMessage) { if ((probeMessage == null) || (probeMessage.Probe == null)) { if (TD.DiscoveryMessageWithNoContentIsEnabled()) { TD.DiscoveryMessageWithNoContent(null, ProtocolStrings.TracingStrings.Probe); } return false; } return true; } protected override FindCriteria GetFindCriteria(ProbeMessageCD1 probeMessage) { return probeMessage.Probe.ToFindCriteria(); } protected override ProbeMatchesMessageCD1 GetProbeResponse( DiscoveryMessageSequence discoveryMessageSequence, Collection matchingEndpoints) { return ProbeMatchesMessageCD1.Create(discoveryMessageSequence, matchingEndpoints); } } }