[WCF]: Implement missing WsdlImporter pieces.
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Channels / InputChannelBase.cs
index ed2729d8127e0e2bfa4ef991b427d2a210fd2253..c0a93e62134790b5eb5caab69b59c3463767c19a 100644 (file)
@@ -29,7 +29,7 @@ using System.ServiceModel;
 
 namespace System.ServiceModel.Channels
 {
-       public abstract class InputChannelBase : ChannelBase, IInputChannel
+       internal abstract class InputChannelBase : ChannelBase, IInputChannel
        {
                ChannelListenerBase channel_listener;
 
@@ -63,10 +63,19 @@ namespace System.ServiceModel.Channels
                        return Receive (DefaultReceiveTimeout);
                }
 
-               public abstract Message Receive (TimeSpan timeout);
+               public virtual Message Receive (TimeSpan timeout)
+               {
+                       return EndReceive (BeginReceive (timeout, null, null));
+               }
 
-               public abstract bool TryReceive (TimeSpan timeout, out Message message);
+               public virtual bool TryReceive (TimeSpan timeout, out Message message)
+               {
+                       return EndTryReceive (BeginTryReceive (timeout, null, null), out message);
+               }
 
-               public abstract bool WaitForMessage (TimeSpan timeout);
+               public virtual bool WaitForMessage (TimeSpan timeout)
+               {
+                       return EndWaitForMessage (BeginWaitForMessage (timeout, null, null));
+               }
        }
 }