- class QBluetoothServiceInfo#
The
QBluetoothServiceInfo
class enables access to the attributes of a Bluetooth service. More…Synopsis#
Methods#
def
__init__()
def
attribute()
def
attributes()
def
contains()
def
device()
def
isComplete()
def
isRegistered()
def
isValid()
def
serverChannel()
def
serviceName()
def
serviceUuid()
def
setAttribute()
def
setDevice()
def
setServiceName()
def
setServiceUuid()
def
socketProtocol()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
QBluetoothServiceInfo
provides information about a service offered by a Bluetooth device. In addition it can be used to register new services on the local device. Note that such a registration only affects the Bluetooth SDP entries. Any server listening for incoming connections (e.g an RFCOMM server) must be started beforeregisterService()
is called. Deregistration must happen in the reverse order.QBluetoothServiceInfo
is not a value type in the traditional sense. All copies of the same service info object share the same data as they do not detach upon changing them. This ensures that two copies can (de)register the same Bluetooth service.On iOS, this class cannot be used because the platform does not expose an API which may permit access to
QBluetoothServiceInfo
related features.- class AttributeId#
Bluetooth service attributes. Please check the Bluetooth Core Specification for a more detailed description of these attributes.
Constant
Description
QBluetoothServiceInfo.ServiceRecordHandle
Specifies a service record from which attributes can be retrieved.
QBluetoothServiceInfo.ServiceClassIds
UUIDs of service classes that the service conforms to. The most common service classes are defined in (
ServiceClassUuid
)QBluetoothServiceInfo.ServiceRecordState
Attibute changes when any other service attribute is added, deleted or modified.
QBluetoothServiceInfo.ServiceId
UUID that uniquely identifies the service.
QBluetoothServiceInfo.ProtocolDescriptorList
List of protocols used by the service. The most common protocol Uuids are defined in
ProtocolUuid
QBluetoothServiceInfo.BrowseGroupList
List of browse groups the service is in.
QBluetoothServiceInfo.LanguageBaseAttributeIdList
List of language base attribute IDs to support human-readable attributes.
QBluetoothServiceInfo.ServiceInfoTimeToLive
Number of seconds for which the service record is expected to remain valid and unchanged.
QBluetoothServiceInfo.ServiceAvailability
Value indicating the availability of the service.
QBluetoothServiceInfo.BluetoothProfileDescriptorList
List of profiles to which the service conforms.
QBluetoothServiceInfo.DocumentationUrl
URL that points to the documentation on the service..
QBluetoothServiceInfo.ClientExecutableUrl
URL that refers to the location of an application that can be used to utilize the service.
QBluetoothServiceInfo.IconUrl
URL to the location of the icon representing the service.
QBluetoothServiceInfo.AdditionalProtocolDescriptorList
Additional protocols used by the service. This attribute extends
ProtocolDescriptorList
.QBluetoothServiceInfo.PrimaryLanguageBase
Base index for primary language text descriptors.
QBluetoothServiceInfo.ServiceName
Name of the Bluetooth service in the primary language.
QBluetoothServiceInfo.ServiceDescription
Description of the Bluetooth service in the primary language.
QBluetoothServiceInfo.ServiceProvider
Name of the company / entity that provides the Bluetooth service primary language.
Note
On Windows ServiceClassIds and ProtocolDescriptorList are automatically set to default values when a service is created. Manually setting values for these attributes will not work and might lead to unexpected results on this platform.
- class Protocol#
This enum describes the socket protocol used by the service.
Constant
Description
QBluetoothServiceInfo.UnknownProtocol
The service uses an unknown socket protocol.
QBluetoothServiceInfo.L2capProtocol
The service uses the L2CAP socket protocol. This protocol is not supported for direct socket connections on Android.
QBluetoothServiceInfo.RfcommProtocol
The service uses the RFCOMM socket protocol.
- __init__(other)#
- Parameters:
other –
QBluetoothServiceInfo
Construct a new
QBluetoothServiceInfo
that is a copy ofother
.The two copies continue to share the same underlying data which does not detach upon write.
- __init__()
Construct a new invalid
QBluetoothServiceInfo
;- attribute(attributeId)#
- Parameters:
attributeId – int
- Return type:
object
Returns the value of the attribute
attributeId
.See also
- attributes()#
- Return type:
.list of quint16
Returns a list of all attribute ids that the
QBluetoothServiceInfo
object has.- contains(attributeId)#
- Parameters:
attributeId – int
- Return type:
bool
Returns true if the
QBluetoothServiceInfo
object contains the attributeattributeId
, otherwise returns false.- device()#
- Return type:
Returns the address of the Bluetooth device that provides this service.
See also
- isComplete()#
- Return type:
bool
Returns true if the
QBluetoothServiceInfo
object is considered complete, otherwise returns false.A complete
QBluetoothServiceInfo
object contains aProtocolDescriptorList
attribute.- isRegistered()#
- Return type:
bool
Returns true if the service information is registered with the platform’s Service Discovery Protocol (SDP) implementation, otherwise returns false.
- isValid()#
- Return type:
bool
Returns true if the
QBluetoothServiceInfo
object is valid, otherwise returns false.An invalid
QBluetoothServiceInfo
object will have no attributes.- protocolDescriptor(protocol)#
- Parameters:
protocol –
ProtocolUuid
- Return type:
Sequence
Returns the protocol parameters as a
Sequence
for protocolprotocol
.An empty
Sequence
is returned ifprotocol
is not supported.- protocolServiceMultiplexer()#
- Return type:
int
This is a convenience function. Returns the protocol/service multiplexer for services which support the L2CAP protocol, otherwise returns -1.
This function is equivalent to extracting the information from
Sequence
returned byattribute
(ProtocolDescriptorList
).- registerService([localAdapter=QBluetoothAddress()])#
- Parameters:
localAdapter –
QBluetoothAddress
- Return type:
bool
Registers this service with the platform’s Service Discovery Protocol (SDP) implementation, making it findable by other devices when they perform service discovery. Returns true if the service is successfully registered, otherwise returns false. Once registered changes to the record cannot be made. The service must be unregistered and registered again with the changes.
The
localAdapter
parameter determines the local Bluetooth adapter under which the service should be registered. IflocalAdapter
isnull
the default Bluetooth adapter will be used. If this service info object is already registered via a local adapter and this is function is called using a different local adapter, the previous registration is removed and the service reregistered using the new adapter.- removeAttribute(attributeId)#
- Parameters:
attributeId – int
Removes the attribute
attributeId
from theQBluetoothServiceInfo
object.If the service information is already registered with the platforms SDP database, the database entry will not be updated until
registerService()
was called again.- serverChannel()#
- Return type:
int
This is a convenience function. Returns the server channel for services which support the RFCOMM protocol, otherwise returns -1.
This function is equivalent to extracting the information from
Sequence
returned byattribute
(QBluetootherServiceInfo::ProtocolDescriptorList).- serviceAvailability()#
- Return type:
int
This is a convenience function. It is equivalent to calling attribute(
ServiceAvailability
).toUInt().Returns the availability of the service.
See also
- serviceClassUuids()#
- Return type:
.list of QBluetoothUuid
Returns a list of UUIDs describing the service classes that this service conforms to.
This is a convenience function. It is equivalent to calling attribute(
ServiceClassIds
).value<Sequence
>() and subsequently iterating over itsQBluetoothUuid
entries.See also
- serviceDescription()#
- Return type:
str
This is a convenience function. It is equivalent to calling attribute(
ServiceDescription
).toString().Returns the service description in the primary language.
See also
- serviceName()#
- Return type:
str
This is a convenience function. It is equivalent to calling attribute(
ServiceName
).toString().Returns the service name in the primary language.
See also
- serviceProvider()#
- Return type:
str
This is a convenience function. It is equivalent to calling attribute(
ServiceProvider
).toString().Returns the service provider in the primary language.
See also
- serviceUuid()#
- Return type:
This is a convenience function. It is equivalent to calling attribute(
ServiceId
).value<QBluetoothUuid
>().Returns the custom UUID of the service. This UUID may be null. UUIDs based on Bluetooth SIG standards should be retrieved via
serviceClassUuids()
.See also
- setAttribute(attributeId, value)#
- Parameters:
attributeId – int
value –
Alternative
This is a convenience function.
Sets the attribute identified by
attributeId
tovalue
.If the service information is already registered with the platform’s SDP database, the database entry will not be updated until
registerService()
was called again.- setAttribute(attributeId, value)
- Parameters:
attributeId – int
value –
Sequence
This is a convenience function.
Sets the attribute identified by
attributeId
tovalue
.If the service information is already registered with the platform’s SDP database, the database entry will not be updated until
registerService()
was called again.- setAttribute(attributeId, value)
- Parameters:
attributeId – int
value –
QBluetoothUuid
This is a convenience function.
Sets the attribute identified by
attributeId
tovalue
.If the service information is already registered with the platform’s SDP database, the database entry will not be updated until
registerService()
was called again.- setAttribute(attributeId, value)
- Parameters:
attributeId – int
value – object
Sets the attribute identified by
attributeId
tovalue
.If the service information is already registered with the platform’s SDP database, the database entry will not be updated until
registerService()
was called again.Note
If an attribute expectes a byte-encoded value (e.g. Bluetooth HID services), it should be set as QByteArray.
See also
- setDevice(info)#
- Parameters:
info –
QBluetoothDeviceInfo
Sets the Bluetooth device that provides this service to
device
.See also
- setServiceAvailability(availability)#
- Parameters:
availability – int
This is a convenience function. It is equivalent to calling
setAttribute
(ServiceAvailability
, availability).Sets the availabiltiy of the service to
availability
.See also
- setServiceDescription(description)#
- Parameters:
description – str
This is a convenience function. It is equivalent to calling
setAttribute
(ServiceDescription
, description).Sets the service description in the primary language to
description
.See also
- setServiceName(name)#
- Parameters:
name – str
This is a convenience function. It is equivalent to calling
setAttribute
(ServiceName
, name).Sets the service name in the primary language to
name
.See also
- setServiceProvider(provider)#
- Parameters:
provider – str
This is a convenience function. It is equivalent to calling
setAttribute
(ServiceProvider
, provider).Sets the service provider in the primary language to
provider
.See also
- setServiceUuid(uuid)#
- Parameters:
uuid –
QBluetoothUuid
This is a convenience function. It is equivalent to calling
setAttribute
(ServiceId
, uuid).Sets the custom service UUID to
uuid
. This function should not be used to set a standardized service UUID.See also
Returns the protocol that the
QBluetoothServiceInfo
object uses.- unregisterService()#
- Return type:
bool
Unregisters this service with the platform’s Service Discovery Protocol (SDP) implementation. After this, the service will no longer be findable by other devices through service discovery.
Returns true if the service is successfully unregistered, otherwise returns false.