Ejemplo n.º 1
0
        public bool GetATT_ErrorRsp(HCIReplies hciReplies, ref bool dataFound)
        {
            dataFound = false;
            bool flag;

            if (flag = rspHdlrsUtils.CheckValidResponse(hciReplies))
            {
                HCIReplies.HCI_LE_ExtEvent hciLeExtEvent                 = hciReplies.HciLeExtEvent;
                HCIReplies.HCI_LE_ExtEvent.ATT_ErrorRsp attErrorRsp      = hciLeExtEvent.AttErrorRsp;
                HCIReplies.LE_ExtEventHeader            leExtEventHeader = hciLeExtEvent.Header;
                if (attErrorRsp != null)
                {
                    dataFound = true;
                    if (leExtEventHeader.EventStatus != 0)
                    {
                        flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttErrorRsp");
                    }
                    else
                    {
                        SendRspCallback(hciReplies, true);
                    }
                }
            }
            if (!flag && dataFound)
            {
                SendRspCallback(hciReplies, false);
            }
            return(flag);
        }
Ejemplo n.º 2
0
        public bool GetATT_WriteRsp(HCIReplies hciReplies, ref bool dataFound)
        {
            dataFound = false;
            bool flag = rspHdlrsUtils.CheckValidResponse(hciReplies);

            if (flag)
            {
                HCIReplies.HCI_LE_ExtEvent hciLeExtEvent                 = hciReplies.HciLeExtEvent;
                HCIReplies.HCI_LE_ExtEvent.ATT_WriteRsp attWriteRsp      = hciLeExtEvent.AttWriteRsp;
                HCIReplies.LE_ExtEventHeader            leExtEventHeader = hciLeExtEvent.Header;
                if (attWriteRsp != null && hciReplies.ObjTag != null)
                {
                    dataFound = true;
                    switch (leExtEventHeader.EventStatus)
                    {
                    case 0:
                    case 23:
                        SendRspCallback(hciReplies, true);
                        break;

                    default:
                        flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttWriteRsp");
                        break;
                    }
                }
            }
            if (!flag && dataFound)
            {
                SendRspCallback(hciReplies, false);
            }
            return(flag);
        }
Ejemplo n.º 3
0
        public bool GetATT_PrepareWriteRsp(HCIReplies hciReplies, ref bool dataFound)
        {
            dataFound = false;
            bool success;

            if (success = rspHdlrsUtils.CheckValidResponse(hciReplies))
            {
                HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
                HCIReplies.HCI_LE_ExtEvent.ATT_PrepareWriteRsp attPrepareWriteRsp = hciLeExtEvent.AttPrepareWriteRsp;
                HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
                if (attPrepareWriteRsp != null)
                {
                    dataFound = true;
                    switch (leExtEventHeader.EventStatus)
                    {
                    case (byte)0:
                    case (byte)26:
                        break;

                    case (byte)23:
                        SendRspCallback(hciReplies, true);
                        break;

                    default:
                        success = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttPrepareWriteRsp");
                        break;
                    }
                }
            }
            if (!success && dataFound)
            {
                SendRspCallback(hciReplies, false);
            }
            return(success);
        }
Ejemplo n.º 4
0
 public bool GetATT_ExecuteWriteRsp(HCIReplies hciReplies, ref bool dataFound)
 {
     dataFound = false;
     bool flag;
     if (flag = rspHdlrsUtils.CheckValidResponse(hciReplies))
     {
         HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
         HCIReplies.HCI_LE_ExtEvent.ATT_ExecuteWriteRsp attExecuteWriteRsp = hciLeExtEvent.AttExecuteWriteRsp;
         HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
         if (attExecuteWriteRsp != null && hciReplies.ObjTag != null)
         {
             dataFound = true;
             switch (leExtEventHeader.EventStatus)
             {
                 case (byte)0:
                 case (byte)23:
                     int num = (int)(ushort)hciReplies.ObjTag;
                     SendRspCallback(hciReplies, true);
                     break;
                 default:
                     flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttExecuteWriteRsp");
                     break;
             }
         }
     }
     if (!flag && dataFound)
         SendRspCallback(hciReplies, false);
     return flag;
 }
Ejemplo n.º 5
0
 public bool GetATT_PrepareWriteRsp(HCIReplies hciReplies, ref bool dataFound)
 {
     dataFound = false;
     bool success;
     if (success = rspHdlrsUtils.CheckValidResponse(hciReplies))
     {
         HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
         HCIReplies.HCI_LE_ExtEvent.ATT_PrepareWriteRsp attPrepareWriteRsp = hciLeExtEvent.AttPrepareWriteRsp;
         HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
         if (attPrepareWriteRsp != null)
         {
             dataFound = true;
             switch (leExtEventHeader.EventStatus)
             {
                 case (byte)0:
                 case (byte)26:
                     break;
                 case (byte)23:
                     SendRspCallback(hciReplies, true);
                     break;
                 default:
                     success = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttPrepareWriteRsp");
                     break;
             }
         }
     }
     if (!success && dataFound)
         SendRspCallback(hciReplies, false);
     return success;
 }
Ejemplo n.º 6
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (AttExecuteWriteRspCallback == null)
         return;
     AttExecuteWriteRspCallback(new AttExecuteWriteRsp.RspInfo()
     {
         success = success,
         header = hciReplies.HciLeExtEvent.Header,
         aTT_ExecuteWriteRsp = hciReplies.HciLeExtEvent.AttExecuteWriteRsp
     });
 }
Ejemplo n.º 7
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (AttWriteRspCallback != null)
     {
         AttWriteRspCallback(new AttWriteRsp.RspInfo()
         {
             Success      = success,
             Header       = hciReplies.HciLeExtEvent.Header,
             ATT_WriteRsp = hciReplies.HciLeExtEvent.AttWriteRsp
         });
     }
 }
Ejemplo n.º 8
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (ExtCmdStatusCallback != null)
     {
         ExtCmdStatusCallback(new ExtCmdStatus.RspInfo()
         {
             Success       = success,
             Header        = hciReplies.HciLeExtEvent.Header,
             GapHciCmdStat = hciReplies.HciLeExtEvent.GapHciCmdStat
         });
     }
 }
Ejemplo n.º 9
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (AttWriteRspCallback != null)
     {
         AttWriteRspCallback(new AttWriteRsp.RspInfo()
         {
             Success = success,
             Header = hciReplies.HciLeExtEvent.Header,
             ATT_WriteRsp = hciReplies.HciLeExtEvent.AttWriteRsp
         });
     }
 }
Ejemplo n.º 10
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (AttPrepareWriteRspCallback == null)
     {
         return;
     }
     AttPrepareWriteRspCallback(new AttPrepareWriteRsp.RspInfo()
     {
         success             = success,
         header              = hciReplies.HciLeExtEvent.Header,
         aTT_PrepareWriteRsp = hciReplies.HciLeExtEvent.AttPrepareWriteRsp
     });
 }
Ejemplo n.º 11
0
 public bool GetATT_ErrorRsp(HCIReplies hciReplies, ref bool dataFound)
 {
     dataFound = false;
     bool flag;
     if (flag = rspHdlrsUtils.CheckValidResponse(hciReplies))
     {
         HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
         HCIReplies.HCI_LE_ExtEvent.ATT_ErrorRsp attErrorRsp = hciLeExtEvent.AttErrorRsp;
         HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
         if (attErrorRsp != null)
         {
             dataFound = true;
             if (leExtEventHeader.EventStatus != 0)
                 flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "AttErrorRsp");
             else
                 SendRspCallback(hciReplies, true);
         }
     }
     if (!flag && dataFound)
         SendRspCallback(hciReplies, false);
     return flag;
 }
Ejemplo n.º 12
0
        public bool GetExtensionCommandStatus(HCIReplies hciReplies, ref bool dataFound)
        {
            dataFound = false;
            bool flag = rspHdlrsUtils.CheckValidResponse(hciReplies);

            if (flag)
            {
                HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
                HCIReplies.HCI_LE_ExtEvent.GAP_HCI_ExtentionCommandStatus extentionCommandStatus = hciLeExtEvent.GapHciCmdStat;
                HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
                if (extentionCommandStatus != null)
                {
                    dataFound = true;
                    if (leExtEventHeader.EventStatus == 0)
                    {
                        dataFound = true;
                        flag      = true;
                    }
                    else
                    {
                        ushort opCode = extentionCommandStatus.CmdOpCode;
                        if (opCode <= 64908U)
                        {
                            #region
                            switch (opCode)
                            {
                            case 64769:
                            case 64772:
                            case 64773:
                            case 64774:
                            case 64775:
                            case 64776:
                            case 64777:
                            case 64778:
                            case 64779:
                            case 64780:
                            case 64781:
                            case 64784:
                            case 64785:
                            case 64786:
                            case 64787:
                            case 64790:
                            case 64791:
                            case 64792:
                            case 64793:
                            case 64900:
                            case 64902:
                            case 64904:
                            case 64906:
                            case 64908:
                                break;

                            default:
                                goto label_8;
                            }
                            #endregion
                        }
                        else
                        {
                            #region
                            switch (opCode)
                            {
                            case 64912:
                            case 64914:
                            case 64918:
                            case 64946:
                                break;

                            default:
                                goto label_8;
                            }
                            #endregion
                        }
                        SendRspCallback(hciReplies, true);
                        goto label_9;

label_8:
                        flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "ExtCmdStatus");
                    }
                }
            }

label_9:
            if (!flag && dataFound)
            {
                SendRspCallback(hciReplies, false);
            }
            return(flag);
        }
Ejemplo n.º 13
0
        public bool GetExtensionCommandStatus(HCIReplies hciReplies, ref bool dataFound)
        {
            dataFound = false;
            bool flag = rspHdlrsUtils.CheckValidResponse(hciReplies);
            if (flag)
            {
                HCIReplies.HCI_LE_ExtEvent hciLeExtEvent = hciReplies.HciLeExtEvent;
                HCIReplies.HCI_LE_ExtEvent.GAP_HCI_ExtentionCommandStatus extentionCommandStatus = hciLeExtEvent.GapHciCmdStat;
                HCIReplies.LE_ExtEventHeader leExtEventHeader = hciLeExtEvent.Header;
                if (extentionCommandStatus != null)
                {
                    dataFound = true;
                    if (leExtEventHeader.EventStatus == 0)
                    {
                        dataFound = true;
                        flag = true;
                    }
                    else
                    {
                        ushort opCode = extentionCommandStatus.CmdOpCode;
                        if (opCode <= 64908U)
                        {
                            #region
                            switch (opCode)
                            {
                                case 64769:
                                case 64772:
                                case 64773:
                                case 64774:
                                case 64775:
                                case 64776:
                                case 64777:
                                case 64778:
                                case 64779:
                                case 64780:
                                case 64781:
                                case 64784:
                                case 64785:
                                case 64786:
                                case 64787:
                                case 64790:
                                case 64791:
                                case 64792:
                                case 64793:
                                case 64900:
                                case 64902:
                                case 64904:
                                case 64906:
                                case 64908:
                                    break;
                                default:
                                    goto label_8;
                            }
                            #endregion
                        }
                        else
                        {
                            #region
                            switch (opCode)
                            {
                                case 64912:
                                case 64914:
                                case 64918:
                                case 64946:
                                    break;
                                default:
                                    goto label_8;
                            }
                            #endregion
                        }
                        SendRspCallback(hciReplies, true);
                        goto label_9;

                    label_8:
                        flag = rspHdlrsUtils.UnexpectedRspEventStatus(hciReplies, "ExtCmdStatus");
                    }
                }
            }

            label_9:
            if (!flag && dataFound)
                SendRspCallback(hciReplies, false);
            return flag;
        }
Ejemplo n.º 14
0
 private void SendRspCallback(HCIReplies hciReplies, bool success)
 {
     if (ExtCmdStatusCallback != null)
     {
         ExtCmdStatusCallback(new ExtCmdStatus.RspInfo()
         {
             Success = success,
             Header = hciReplies.HciLeExtEvent.Header,
             GapHciCmdStat = hciReplies.HciLeExtEvent.GapHciCmdStat
         });
     }
 }