using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; namespace System.ServiceModel.Discovery { [MonoTODO] public abstract class DiscoveryProxy { protected DiscoveryProxy () { } protected DiscoveryProxy (DiscoveryMessageSequenceGenerator messageSequenceGenerator) { } protected DiscoveryProxy (DiscoveryMessageSequenceGenerator messageSequenceGenerator, int duplicateMessageHistoryLength) { } protected virtual IAsyncResult BeginShouldRedirectFind (FindCriteria resolveCriteria, AsyncCallback callback, Object state) { throw new NotImplementedException (); } protected virtual IAsyncResult BeginShouldRedirectResolve (ResolveCriteria findCriteria, AsyncCallback callback, Object state) { throw new NotImplementedException (); } protected virtual bool EndShouldRedirectFind (IAsyncResult result, out Collection redirectionEndpoints) { throw new NotImplementedException (); } protected virtual bool EndShouldRedirectResolve (IAsyncResult result, out Collection redirectionEndpoints) { throw new NotImplementedException (); } protected abstract IAsyncResult OnBeginFind (FindRequestContext findRequestContext, AsyncCallback callback, Object state); protected abstract IAsyncResult OnBeginOfflineAnnouncement (DiscoveryMessageSequence messageSequence, EndpointDiscoveryMetadata endpointDiscoveryMetadata, AsyncCallback callback, Object state); protected abstract IAsyncResult OnBeginOnlineAnnouncement (DiscoveryMessageSequence messageSequence, EndpointDiscoveryMetadata endpointDiscoveryMetadata, AsyncCallback callback, Object state); protected abstract IAsyncResult OnBeginResolve (ResolveCriteria resolveCriteria, AsyncCallback callback, Object state); protected abstract void OnEndFind (IAsyncResult result); protected abstract void OnEndOfflineAnnouncement (IAsyncResult result); protected abstract void OnEndOnlineAnnouncement (IAsyncResult result); protected abstract EndpointDiscoveryMetadata OnEndResolve (IAsyncResult result); } }