namespace LoMaN.IO {
using System;
using System.IO;
using System.Threading;
using System.Runtime.InteropServices;
public class SerialStream : Stream {
public class SerialAsyncResult : IAsyncResult {
public SerialAsyncResult(object asyncObject) {
m_AsyncObject = asyncObject;
m_WaitHandle = new ManualResetEvent(false);
}
internal void Init(object stateObject, AsyncCallback callback, bool bIsRead) {
m_StateObject = stateObject;
m_Callback = callback;
m_bIsRead = bIsRead;
m_bCompleted = false;
m_WaitHandle.Reset();
}
internal void Reset() {
m_StateObject = null;
m_Callback = null;