/** Test BTAddr() */ void CT_InquirySockAddrData::DoCmdBTAddr(const TDesC& aSection) { INFO_PRINTF1(_L("TInquirySockAddr BTAddr Call")); TBTDevAddr btDevAddr = iData->BTAddr(); TBuf<KMaxSockAddrSize> tmpbtDevAddr; btDevAddr.GetReadable(tmpbtDevAddr); INFO_PRINTF2(_L("Returned BT Addres = (%S)"), &tmpbtDevAddr); TBuf<KMaxSockAddrSize> tmptBTDevAddrData; TPtrC tBTDevAddrName; TBool foundParameter=EFalse; TBool result = EFalse; if(GetStringFromConfig(aSection, KTBTDevAddr(), tBTDevAddrName)) { foundParameter=ETrue; TBTDevAddr* tBTDevAddrData=static_cast<TBTDevAddr*>(GetDataObjectL(tBTDevAddrName)); tBTDevAddrData->GetReadable(tmptBTDevAddrData); INFO_PRINTF2(_L("Expected BT address = (%S) from ini file"), &tmptBTDevAddrData); result = btDevAddr==(*tBTDevAddrData); if ( !result ) { ERR_PRINTF3(_L("BT Address (%S) is not as expected (%S)"),&tmpbtDevAddr, &tmptBTDevAddrData); SetBlockResult(EFail); } } TInt intBtDevAddr=0; if(GetIntFromConfig(aSection, KIntDevAddr(), intBtDevAddr)) { foundParameter=ETrue; const TBTDevAddr expectedBTAddr(intBtDevAddr); result = btDevAddr==(expectedBTAddr); btDevAddr.GetReadable(tmpbtDevAddr); if ( !result ) { ERR_PRINTF3(_L("BT Address (%S) is not as expected (%d)"), &tmpbtDevAddr, intBtDevAddr); SetBlockResult(EFail); } } if( !foundParameter ) { ERR_PRINTF3(KLogMissingParameters, &KTBTDevAddr(), &KIntDevAddr()); SetBlockResult(EFail); } }
CBasrvActiveNotifier::CBasrvActiveNotifier(MBasrvActiveObserver& aObserver, CActive::TPriority aPriority, TInt aRequestId, const TBTDevAddr& aAddr, TBTGenericInfoNoteType aNote) : CBasrvActive(aObserver, aPriority, aRequestId) { TRACE_FUNC iPckg().iRemoteAddr.Copy( aAddr.Des() ); iPckg().iMessageType = aNote; }
// from PDIS miso library // Gets the local device address. // Arguments: // - aAddress - object to hold the retrieved address. // // Returns an error code. static TInt GetLocalAddress(TBTDevAddr& aAddress) { TInt err = KErrNone; #if defined(__SYMBIAN_9__) TPtr8 ptr(aAddress.Des()); err = RProperty::Get(KPropertyUidBluetoothCategory, KPropertyKeyBluetoothGetLocalDeviceAddress, ptr); #elif defined(__SYMBIAN_8__) TPtr8 ptr(aAddress.Des()); err = RProperty::Get(KPropertyUidBluetoothCategory, KPropertyKeyBluetoothLocalDeviceAddress, ptr); #else RSocketServ socketServ; err = socketServ.Connect(); if (err) return err; // this solution comes from the "bthci" Series 60 example; // does not work on Symbian 8-up RSocket socket; err = socket.Open(socketServ, KBTAddrFamily, KSockSeqPacket, KL2CAP); if (!err) { TPckgBuf<TBTDevAddr> btDevAddrPckg; TRequestStatus status; socket.Ioctl(KHCILocalAddressIoctl, status, &btDevAddrPckg, KSolBtHCI); User::WaitForRequest(status); err = status.Int(); if (!err) { TPtrC8 src(btDevAddrPckg().Des()); TPtr8 dest(aAddress.Des()); dest.Copy(src); } socket.Close(); } socketServ.Close(); #endif return err; }
static void storeBtAddr(TBTDevAddr btaddr, MAConnAddr* addr) { TBuf<20> aBTAddr; TBuf8<20> bt8; btaddr.GetReadable(aBTAddr, KNullDesC, _L(":"), KNullDesC); bt8.Copy(aBTAddr); LOG("Readable: %S\n", &bt8); for(int i=0; i<BTADDR_LEN; i++) { addr->bt.addr.a[i] = btaddr[i]; } }
void CT_DataSdpAgent::DoCmdNewLC(const TDesC& aSection) { DestroyData(); TPtrC tBTDevAddrName; TBool foundParameter=EFalse; if( GetStringFromConfig(aSection, KTBTDevAddr(), tBTDevAddrName)) { foundParameter=ETrue; CT_BTDevAddrData* tBTDevAddrData=static_cast<CT_BTDevAddrData*>(GetDataWrapperL(tBTDevAddrName)); TBTDevAddr btDevAddr = *tBTDevAddrData->GetAddress(); TBuf<KMaxSockAddrSize> tmpBuf2; btDevAddr.GetReadable(tmpBuf2); TRAPD(err, iSdpAgent = CSdpAgent::NewLC(*this, btDevAddr); CleanupStack::Pop(iSdpAgent)); if(err != KErrNone) { ERR_PRINTF2(_L("CSdpAgent NewLC failed with error %d"), err); SetError(err); } } TInt intBtDevAddr=0; if( GetIntFromConfig(aSection, KIntDevAddr(), intBtDevAddr)) { foundParameter=ETrue; const TBTDevAddr btDevAddr(intBtDevAddr); TRAPD(err, iSdpAgent = CSdpAgent::NewLC(*this, btDevAddr)); if(err != KErrNone) { ERR_PRINTF2(_L("CSdpAgent NewLC failed with error %d"), err); SetError(err); } } if( !foundParameter ) { ERR_PRINTF2(_L("Missing parameter %S"), &KIntDevAddr()); SetBlockResult(EFail); } }
/** Function from the AVCTP spec to request a channel connection to a remote entity. @return KErrArgument if a NULL TBTDevAddr is provided as an argument or another system wide error code @internalComponent */ TInt CAvctpBody::PrimaryChannelAttachRequest(const TBTDevAddr& aBTDevice) { LOG_FUNC #ifdef _DEBUG TBuf<12> addr; aBTDevice.GetReadable(addr); LOG1(_L("to BT Device %S"), &addr); #endif return !IsNullAddress(aBTDevice) ? iRemoteDevices->PrimaryChannelAttachRequest(aBTDevice) : KErrArgument; }
// Wraps LookupName() to provide a Python method interface. // Arguments: // - address of the device to look up. Note that the address // is expected without colons!! e.g. "000D9319C868" // - True/False - if True, performs a remote name request even if the device // name is known in the cache from a previous request. // // Returns the name (a Python unicode string). static PyObject* LightBlue_LookupName(PyObject* self, PyObject* args) { const char *addr; bool ignoreCache; if (!PyArg_ParseTuple(args, "sb", &addr, &ignoreCache)) return NULL; THostName deviceName; TBTDevAddr wantedAddr; TBuf16<128> buf; buf.Copy(_L8(addr)); wantedAddr.SetReadable(buf); TInt err = LookupName(wantedAddr, &deviceName, ignoreCache); if (err) return SPyErr_SetFromSymbianOSErr(err); return Py_BuildValue("u#", deviceName.Ptr(), deviceName.Length()); }
void RBTBaseband::TerminatePhysicalLink(TInt /*aReason*/, const TBTDevAddr& aAddr, TRequestStatus& aStatus) { if (!SubSessionHandle()) { LocalComplete(aStatus, KErrNotReady); } else { // ensure that BT address has persistence iSocketAddress.Zero(); iSocketAddress.Copy(aAddr.Des()); // the following line needs to be EImmediate when ESock has been fixed iSocket.Shutdown(RSocket::ENormal, iSocketAddress, iConnectInData, aStatus); // this *means* detach now } }
QBtAddress::QBtAddress (const TBTDevAddr& addr) { QBtAddress tmpAddr (QByteArray((const char*)addr.Des().Ptr(), 6)); *this = tmpAddr; }