77 lines
2.5 KiB
C#
77 lines
2.5 KiB
C#
/***********************************************************************
|
|
*
|
|
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; version 2.1
|
|
* of the License.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, Novell, Inc.
|
|
*
|
|
* To contact Novell about this file by physical or electronic mail,
|
|
* you may find current contact information at www.novell.com.
|
|
*
|
|
***********************************************************************/
|
|
|
|
using System;
|
|
|
|
using AppModule.InterProcessComm;
|
|
|
|
namespace AppModule.NamedPipes {
|
|
#region Comments
|
|
/// <summary>
|
|
/// Holds the operating system native handle and the current state of the pipe connection.
|
|
/// </summary>
|
|
#endregion
|
|
public sealed class PipeHandle {
|
|
#region Comments
|
|
/// <summary>
|
|
/// The operating system native handle.
|
|
/// </summary>
|
|
#endregion
|
|
public IntPtr Handle;
|
|
#region Comments
|
|
/// <summary>
|
|
/// The current state of the pipe connection.
|
|
/// </summary>
|
|
#endregion
|
|
public InterProcessConnectionState State;
|
|
#region Comments
|
|
/// <summary>
|
|
/// Creates a PipeHandle instance using the passed native handle.
|
|
/// </summary>
|
|
/// <param name="hnd">The native handle.</param>
|
|
#endregion
|
|
public PipeHandle (int hnd) {
|
|
this.Handle = new IntPtr(hnd);
|
|
this.State = InterProcessConnectionState.NotSet;
|
|
}
|
|
#region Comments
|
|
/// <summary>
|
|
/// Creates a PipeHandle instance using the provided native handle and state.
|
|
/// </summary>
|
|
/// <param name="hnd">The native handle.</param>
|
|
/// <param name="state">The state of the pipe connection.</param>
|
|
#endregion
|
|
public PipeHandle (int hnd, InterProcessConnectionState state) {
|
|
this.Handle = new IntPtr(hnd);
|
|
this.State = state;
|
|
}
|
|
#region Comments
|
|
/// <summary>
|
|
/// Creates a PipeHandle instance with an invalid native handle.
|
|
/// </summary>
|
|
#endregion
|
|
public PipeHandle () {
|
|
this.Handle = new IntPtr(NamedPipeNative.INVALID_HANDLE_VALUE);
|
|
this.State = InterProcessConnectionState.NotSet;
|
|
}
|
|
}
|
|
} |