private bool ProcessQData(TxDataOut txDataOut, ref bool dataFound)
{
bool flag = true;
dataFound = false;
ushort key = txDataOut.CmdOpcode;
if (HCIStopWait.CmdChkDict.ContainsKey(key)
&& HCIStopWait.CmdChkDict[key].StopWait
&& HCIStopWait.CmdDict.ContainsKey(key))
{
HCIStopWait.StopWaitData stopWaitData = HCIStopWait.CmdDict[key];
stopWaitEvent = new HCIStopWait.StopWaitEvent();
stopWaitEvent.CmdName = txDataOut.CmdName;
stopWaitEvent.TxOpcode = (HCICmds.HCICmdOpcode)key;
stopWaitEvent.ReqEvt = stopWaitData.ReqEvt;
stopWaitEvent.RspEvt1 = stopWaitData.RspEvt1;
stopWaitEvent.RspEvt2 = stopWaitData.RspEvt2;
stopWaitEvent.ExtCmdStat = new HCIStopWait.ExtCmdStat();
stopWaitEvent.ExtCmdStat.MsgComp = stopWaitData.ExtCmdStat.MsgComp;
stopWaitEvent.CmdGrp = stopWaitData.CmdGrp;
stopWaitEvent.CmdType = txDataOut.CmdType;
stopWaitEvent.MsgComp = stopWaitData.MsgComp;
stopWaitEvent.TxTime = string.Empty;
stopWaitEvent.Tag = txDataOut.Tag;
stopWaitEvent.Callback = txDataOut.Callback;
if (ShowProgressCallback != null)
ShowProgressCallback(true);
if (DeviceRxStopWaitCallback != null)
DeviceRxStopWaitCallback(true, stopWaitEvent);
stopWaitMsg = true;
stopWaitSuccessEvent.Reset();
}
txDataOut.Time = DateTime.Now.ToString("hh:mm:ss.fff");
if (stopWaitEvent != null)
stopWaitEvent.TxTime = txDataOut.Time;
if (DeviceTxDataCallback != null)
DeviceTxDataCallback(txDataOut);
dataFound = true;
return flag;
}