/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc.
*
* 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 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, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* 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
///
/// Holds the operating system native handle and the current state of the pipe connection.
///
#endregion
public sealed class PipeHandle {
#region Comments
///
/// The operating system native handle.
///
#endregion
public IntPtr Handle;
#region Comments
///
/// The current state of the pipe connection.
///
#endregion
public InterProcessConnectionState State;
#region Comments
///
/// Creates a PipeHandle instance using the passed native handle.
///
/// The native handle.
#endregion
public PipeHandle (int hnd) {
this.Handle = new IntPtr(hnd);
this.State = InterProcessConnectionState.NotSet;
}
#region Comments
///
/// Creates a PipeHandle instance using the provided native handle and state.
///
/// The native handle.
/// The state of the pipe connection.
#endregion
public PipeHandle (int hnd, InterProcessConnectionState state) {
this.Handle = new IntPtr(hnd);
this.State = state;
}
#region Comments
///
/// Creates a PipeHandle instance with an invalid native handle.
///
#endregion
public PipeHandle () {
this.Handle = new IntPtr(NamedPipeNative.INVALID_HANDLE_VALUE);
this.State = InterProcessConnectionState.NotSet;
}
}
}