91 void CBTHciExtensionMan::GetEncryptionKeyLengthL(const TBTDevAddr& aBTDevAddr, TRequestStatus& aStatus) |
91 void CBTHciExtensionMan::GetEncryptionKeyLengthL(const TBTDevAddr& aBTDevAddr, TRequestStatus& aStatus) |
92 { |
92 { |
93 BTSAP_TRACE_OPT(KBTSAP_TRACE_FUNCTIONS, BTSapPrintTrace(_L("[BTSap] CBTHciExtensionMan::HandleRequestL >>"))); |
93 BTSAP_TRACE_OPT(KBTSAP_TRACE_FUNCTIONS, BTSapPrintTrace(_L("[BTSap] CBTHciExtensionMan::HandleRequestL >>"))); |
94 |
94 |
95 TInt err = KErrNone; |
95 TInt err = KErrNone; |
96 aStatus = KRequestPending; |
|
97 iStatus = &aStatus; |
|
98 |
96 |
99 CBTHciExtensionCmd* cmd = NULL; |
97 CBTHciExtensionCmd* cmd = NULL; |
100 TBTDevAddrPckgBuf pckg; |
98 TBTDevAddrPckgBuf pckg; |
101 pckg = aBTDevAddr; |
99 pckg = aBTDevAddr; |
102 |
100 |
103 cmd = CBTHciExtensionCmd::NewLC(KEncryptionKeyLengthReadOpcode); |
101 cmd = CBTHciExtensionCmd::NewLC(KEncryptionKeyLengthReadOpcode); |
104 |
102 |
105 cmd->SetParamL(pckg().Des()); |
103 cmd->SetParamL(pckg().Des()); |
106 |
104 |
107 if (err == KErrNone) |
105 iRequestOpcode = cmd->Opcode(); |
108 { |
106 TPtrC8 ptr = cmd->DesC(); |
109 iRequestOpcode = cmd->Opcode(); |
107 TUint16 requestOpcode = ptr[0] << 8 | ptr[1]; |
110 TPtrC8 ptr = cmd->DesC(); |
108 err = iConduit->IssueCommandL(requestOpcode, ptr.Mid(sizeof(KHciExtensionCmdPatch))); |
111 TUint16 requestOpcode = ptr[0] << 8 | ptr[1]; |
109 if (err) |
112 err = iConduit->IssueCommandL(requestOpcode, ptr.Mid(sizeof(KHciExtensionCmdPatch))); |
110 { |
113 if (err) |
111 BTSAP_TRACE_OPT(KBTSAP_TRACE_ERROR, BTSapPrintTrace(_L("[BTSap] iConduit->IssueCommandL err %d"), err)); |
114 { |
112 User::Leave(err); |
115 BTSAP_TRACE_OPT(KBTSAP_TRACE_ERROR, BTSapPrintTrace(_L("[BTSap] iConduit->IssueCommandL err %d"), err)); |
113 } |
116 } |
114 |
117 } |
115 aStatus = KRequestPending; |
118 else |
116 iStatus = &aStatus; |
119 { |
117 |
120 User::RequestComplete(iStatus, err); |
118 CleanupStack::PopAndDestroy(cmd); |
121 } |
119 |
122 if (cmd) |
|
123 { |
|
124 CleanupStack::PopAndDestroy(cmd); |
|
125 } |
|
126 BTSAP_TRACE_OPT(KBTSAP_TRACE_FUNCTIONS, BTSapPrintTrace(_L("[BTSap] CBTHciExtensionMan::HandleRequestL <<"))); |
120 BTSAP_TRACE_OPT(KBTSAP_TRACE_FUNCTIONS, BTSapPrintTrace(_L("[BTSap] CBTHciExtensionMan::HandleRequestL <<"))); |
127 } |
121 } |
128 |
122 |
129 // --------------------------------------------------------- |
123 // --------------------------------------------------------- |
130 // CBTHciExtensionMan::GetResultL |
124 // CBTHciExtensionMan::GetResultL |