CBluetoothSynchronousLink Class Reference
class CBluetoothSynchronousLink : public CBase |
Provides Bluetooth SCO functionality.
This allows Bluetooth SCO (synchronous) link Connect, Disconnect, Send and Receive.
Inherits from
- CBluetoothSynchronousLink
Constructor & Destructor Documentation
CBluetoothSynchronousLink(MBluetoothSynchronousLinkNotifier &, RSocketServ &)
~CBluetoothSynchronousLink()
IMPORT_C | ~CBluetoothSynchronousLink | ( | ) | |
Member Functions Documentation
AcceptConnection()
IMPORT_C TInt | AcceptConnection | ( | ) | |
Prepare for a remote device to set up a synchronous link on the local device.
Whilst this facility is set, a response can be sent to a remote device trying to set up a synchronous link, allowing that synchronous link to be brought up. This object will represent that synchronous link locally when/if it does come up.
AcceptConnection(const TBTSyncPackets &)
Prepare for a remote device to set up a synchronous link on the local device.
Whilst this facility is set, a response can be sent to a remote device trying to set up a synchronous link, allowing that synchronous link to be brought up. This object will represent that synchronous link locally when/if it does come up.
TBTPacketType
Bandwidth()
Return the negotiated bandwidth.
CancelAccept()
IMPORT_C void | CancelAccept | ( | ) | |
Cancel ability to respond to a remote request to set up a synchronous link. It is possible for a race condition to mean that a connection has been established, but as this call consumes the callback, for this fact not to reach the caller. For this reason, it may be desirable to follow a call to CancelAccept with a call to Disconnect. CBluetoothSynchronousLink::Disconnect
CancelReceive()
IMPORT_C void | CancelReceive | ( | ) | |
CancelSend()
IMPORT_C void | CancelSend | ( | ) | |
CancelSetup()
IMPORT_C void | CancelSetup | ( | ) | |
Cancel creating a synchronous link. This cancels the asynchronous request to prevent the callback reaching the client. It makes no claims about the resultant state of the CBluetoothSynchronousLink. If a client wishes to continue using the CBluetoothSynchronousLink it is strongly recommended to follow a call to CancelSetup with a call to Disconnect, which will ensure that any established connection is tidied up. CBluetoothSynchronousLink::Disconnect
Coding()
Return the air coding portion only of the coding specified on the link. See section 6.12 in Bluetooth Core Specification v1.2, Vol. 2, Part E.
ConstructL()
void | ConstructL | ( | ) | [private] |
Disconnect()
IMPORT_C TInt | Disconnect | ( | ) | |
Disconnect a synchronous link.
The physical link will remain unless no other services are running on it.
HandleAcceptConnectionCompleteL(TInt, TSCOType)
void | HandleAcceptConnectionCompleteL | ( | TInt | aErr, |
| TSCOType | aSCOType |
| ) | |
HandleDisconnectionCompleteL(TInt)
void | HandleDisconnectionCompleteL | ( | TInt | aErr | ) | |
HandleReceiveCompleteL(TInt)
void | HandleReceiveCompleteL | ( | TInt | aErr | ) | |
HandleSendCompleteL(TInt)
void | HandleSendCompleteL | ( | TInt | aErr | ) | |
HandleSetupConnectionCompleteL(TInt, TSCOType)
void | HandleSetupConnectionCompleteL | ( | TInt | aErr, |
| TSCOType | aSCOType |
| ) | |
Latency()
Return the negotiated latency in miliseconds (rounded up if non-integer on the link).
NewL(MBluetoothSynchronousLinkNotifier &, RSocketServ &)
Allocate and open a socket sub-session for Bluetooth SCO
NewLC(MBluetoothSynchronousLinkNotifier &, RSocketServ &)
Allocate and open a socket sub-session for Bluetooth SCO
Receive(TDes8 &)
Receive data over synchronous link. It is worth noting that Bluetooth hardware may have dedicated pins to supply synchronous data, and the RSocket interface cannot provide the synchronous requirements of the SCO link. As a result of this, the CBluetoothSynchronousLink class may only provide the control plane of a SCO connection. In this situation, Receive returns KErrNotSupported via the MBluetoothSynchronousLinkNotifier::HandleReceiveCompleteL callback.
RemoteName(TSockAddr &)
Gets the socket address of the remote Bluetooth device.
- panic
- ESock_client 17 Raised when the link is not connected so there is no valid remote name to return.
RetransmissionEffort()
IMPORT_C TUint8 | RetransmissionEffort | ( | ) | |
Return an estimate of the retransmission policy on the link. Estimate is calculated by taking the size of the retransmission window, estimating the packet type based on packet length and calculating the number of packet retransmissions which are possible. This number is then returned by this function.
Send(const TDesC8 &)
Send data over synchronous link. It is worth noting that Bluetooth hardware may have dedicated pins to supply synchronous data, and the RSocket interface cannot provide the synchronous requirements of the SCO link. As a result of this, the CBluetoothSynchronousLink class may only provide the control plane of a SCO connection. In this situation, Receive returns KErrNotSupported via the MBluetoothSynchronousLinkNotifier::HandleSendCompleteL callback.
SetCoding(TUint16)
IMPORT_C void | SetCoding | ( | TUint16 | aVoiceSetting | ) | |
Specify Voice Setting. See section 6.12 in Bluetooth Core Specification v1.2, Vol. 2, Part E.
SetMaxBandwidth(TBTSyncBandwidth)
Specify maximum bandwidths in octets/second.
SetMaxLatency(TUint16)
IMPORT_C void | SetMaxLatency | ( | TUint16 | aLatency | ) | |
Specify maximum acceptable latency in milliseconds.
SetNotifier(MBluetoothSynchronousLinkNotifier &)
Set the object to be notified of synchronous link events. This does not take ownership. This notifier will replace the current one.
SetRetransmissionEffort(TBTeSCORetransmissionTypes)
Specify link retransmission policy.
SetupConnection(const TBTDevAddr &)
Create a synchronous link (e.g. voice) on an EXISTING physical link.
Parameters
const TBTDevAddr & aDevAddr | Bluetooth address of remote device (specifying existing physical link) |
SetupConnection(const TBTDevAddr &, const TUint16)
Create a synchronous link (e.g. voice) on an EXISTING physical link. TBTPacketType
Parameters
const TBTDevAddr & aDevAddr | Bluetooth address of remote device (specifying existing physical link) |
const TUint16 aPacketTypes | Bitmask of the SCO packet types required on this connection Use only the three SCO specific packet type enums E.g. EPacketsHV1|EPacketsHV2|EPacketsHV3 (EAnySCOPacket) specifies all the three packet types are allowed. OR if ESCO is supported three ESCO specific packet type enums |
SetupConnection(const TBTDevAddr &, const TBTSyncPackets &)
UpdateLinkParams(TSCOType)
void | UpdateLinkParams | ( | TSCOType | aSCOType | ) | [private] |
Member Data Documentation
CBTSynchronousLinkAccepter * iBTSynchronousLinkAccepterESCO
CBTSynchronousLinkAccepter * | iBTSynchronousLinkAccepterESCO | [private] |
CBTSynchronousLinkAccepter * iBTSynchronousLinkAccepterSCO
CBTSynchronousLinkAccepter * | iBTSynchronousLinkAccepterSCO | [private] |
CBTSynchronousLinkAttacher * iBTSynchronousLinkAttacherESCO
CBTSynchronousLinkAttacher * | iBTSynchronousLinkAttacherESCO | [private] |
CBTSynchronousLinkAttacher * iBTSynchronousLinkAttacherSCO
CBTSynchronousLinkAttacher * | iBTSynchronousLinkAttacherSCO | [private] |
CBTSynchronousLinkBaseband * iBTSynchronousLinkBaseband
CBTSynchronousLinkBaseband * | iBTSynchronousLinkBaseband | [private] |
CBTSynchronousLinkDetacher * iBTSynchronousLinkDetacherESCO
CBTSynchronousLinkDetacher * | iBTSynchronousLinkDetacherESCO | [private] |
CBTSynchronousLinkDetacher * iBTSynchronousLinkDetacherSCO
CBTSynchronousLinkDetacher * | iBTSynchronousLinkDetacherSCO | [private] |
CBTSynchronousLinkReceiver * iBTSynchronousLinkReceiverESCO
CBTSynchronousLinkReceiver * | iBTSynchronousLinkReceiverESCO | [private] |
CBTSynchronousLinkReceiver * iBTSynchronousLinkReceiverSCO
CBTSynchronousLinkReceiver * | iBTSynchronousLinkReceiverSCO | [private] |
CBTSynchronousLinkSender * iBTSynchronousLinkSenderESCO
CBTSynchronousLinkSender * | iBTSynchronousLinkSenderESCO | [private] |
CBTSynchronousLinkSender * iBTSynchronousLinkSenderSCO
CBTSynchronousLinkSender * | iBTSynchronousLinkSenderSCO | [private] |
TBuf8< 1 > iDummySCOShutdownDescriptor
TBuf8< 1 > | iDummySCOShutdownDescriptor | [private] |
RSocket
iListeningESCOSocket
RSocket
| iListeningESCOSocket | [private] |
RSocket
iListeningSCOSocket
RSocket
| iListeningSCOSocket | [private] |
TBTeSCOLinkParams
iNegotiatedLink
MBluetoothSynchronousLinkNotifier * iNotifier
TBool
iOpenedSCO
TBool
| iOpenedSCO | [private] |
TBool
iOpeningESCO
TBool
| iOpeningESCO | [private] |
TBool
iOpeningSCO
TBool
| iOpeningSCO | [private] |
TBTeSCOLinkParams
iRequestedLink
RSocketServ & iSockServer
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.