Adding System.IO.Pipes implementation.
[mono.git] / mcs / class / System.Core / System.IO.Pipes / PipeInterfaces.cs
diff --git a/mcs/class/System.Core/System.IO.Pipes/PipeInterfaces.cs b/mcs/class/System.Core/System.IO.Pipes/PipeInterfaces.cs
new file mode 100644 (file)
index 0000000..9ab7404
--- /dev/null
@@ -0,0 +1,36 @@
+using Microsoft.Win32.SafeHandles;
+
+namespace System.IO.Pipes
+{
+       // Common interfaces
+
+       interface IPipe
+       {
+               SafePipeHandle Handle { get; }
+               void WaitForPipeDrain ();
+       }
+
+       interface IAnonymousPipeClient : IPipe
+       {
+       }
+
+       interface IAnonymousPipeServer : IPipe
+       {
+               SafePipeHandle ClientHandle { get; }
+               void DisposeLocalCopyOfClientHandle ();
+       }
+
+       interface INamedPipeClient : IPipe
+       {
+               void Connect ();
+               void Connect (int timeout);
+               int NumberOfServerInstances { get; }
+               bool IsAsync { get; }
+       }
+
+       interface INamedPipeServer : IPipe
+       {
+               void Disconnect ();
+               void WaitForConnection ();
+       }
+}