TUUID Class Reference

class TUUID

A Bluetooth Universally Unique Identifier.

This is a 128-bit quantity that can be created without a central registry while still being globally unique. UUIDs are always held in full 128 bit format, however they can be set from BT SIG short form (16 or 32 bit) addresses, and returned as down to their shortest form using ShortestForm() .

Constructor & Destructor Documentation

TUUID()

IMPORT_C TUUID ( )

Default constructor. Sets the UUID to all zeros.

TUUID(TUint32)

IMPORT_C TUUID ( TUint32 aLong )

Construct UUID from TUint32. The Bluetooth base UUID will be appended to the value passed. Use this form of constructor for building 16 or 32 bit short-form UUIDs.

Parameters

TUint32 aLong is a Big-endian format TUint32 containing the UUID.

TUUID(TUint32, TUint32, TUint32, TUint32)

IMPORT_C TUUID ( TUint32 aHH,
TUint32 aHL,
TUint32 aLH,
TUint32 aLL
)

128 bit UUID constructor. Use this constructor to build full length 128 bit UUIDs.

Parameters

TUint32 aHH Highest order word (bits 96 - 127) in its Big-endian format
TUint32 aHL Second highest order word (bits 64 - 95) in its Big-endian format
TUint32 aLH Secong lowset order word (bits 32 - 63) in its Big-endian format
TUint32 aLL Low order word (bits 0 - 31) in its Big-endian format

TUUID(const TUid &)

IMPORT_C TUUID ( const TUid & aUid )

Set Bluetooth UUID from an EPOC UUID. Uses a well known reserved range. This defines a one-to-one mapping between all EPOC UIDs and and a range of Bluetooth UUID.

Base UUID used is 00000000-0000-1000-8000-00001B20C7AE; the first four bytes are replaced by the 32 bit Sybmian OS Uid, in big-endian form.

Parameters

const TUid & aUid EPOC UID to set this Bluetooth UUID from

Member Functions Documentation

Des()

IMPORT_C const TPtrC8 Des ( ) const

FixedLengthL(TInt)

IMPORT_C const TPtrC8 FixedLengthL ( TInt aLength ) const

Use SpecifiedLengthL(TInt aLength) instead

Return the UUID with a specified length.

If 2 or 4 bytes, the ommitted bytes are implicity those from the Bluetooth base UUID.

leave
KErrArgument The UUID length requested is invalid.
leave
KErrTotalLossOfPrecision The UUID minimum size is less than the requested size.
use TUUID::SpecifiedLengthL() that implements the right size comparison logic

Parameters

TInt aLength The required length (2, 4 or 16 bytes).

LongForm()

IMPORT_C const TPtrC8 LongForm ( ) const

Returns the full 128 bit version of the UUID.

MinimumSize()

IMPORT_C TInt MinimumSize ( ) const

Returns the minimum size of this UUID.

SetFromLittleEndianL(const TDesC8 &)

IMPORT_C void SetFromLittleEndianL ( const TDesC8 & aDes )

Set the UUID from a binary descriptor containing Little-endian format UUID. Can accept a 2, 4, or 16 byte descriptor. Any other value will cause a leave with KErrArgument . If a 2 or 4 byte descriptor is set, the rest of the UUID will be filled with the Bluetooth well-known base UUID.

leave
This method will leave if an error occurs.

Parameters

const TDesC8 & aDes The binary descriptor. Note that the descriptor is interpretted to be in Little-endian format, i.e. index 0 holds the most significant byte.

SetL(const TDesC8 &)

IMPORT_C void SetL ( const TDesC8 & aDes )

Set the UUID from a binary descriptor. Can accept a 2, 4, or 16 byte descriptor. Any other value will cause a leave with KErrArgument . If a 2 or 4 byte descriptor is set, the rest of the UUID will be filled with the Bluetooth well-known base UUID.

leave
This method will leave if an error occurs.

Parameters

const TDesC8 & aDes The binary descriptor. Note that the descriptor is interpretted to be in Big-endian format, i.e. index 0 holds the most significant byte.

ShortestForm()

IMPORT_C const TPtrC8 ShortestForm ( ) const

Get the smallest version the UUID will compress down to. Might be 2, 4, or 16 bytes. If 2 or 4 bytes, the ommitted bytes are implicity those from the Bluetooth base UUID.

SpecifiedLengthL(TInt)

IMPORT_C const TPtrC8 SpecifiedLengthL ( TInt aLength ) const

Return the UUID with a specified length.

Does not allow compressing a UUID to less than its shortest form. If 2 or 4 bytes, the ommitted bytes are implicity those from the Bluetooth base UUID.

leave
KErrArgument The UUID length requested is invalid.
leave
KErrTotalLossOfPrecision The UUID cannot be compressed to the requested length.

Parameters

TInt aLength The required length (2, 4 or 16 bytes).

operator!=(const TUUID &)

IMPORT_C TBool operator!= ( const TUUID & aUUID ) const

Inequality operator.

Parameters

const TUUID & aUUID Object to compare to this.

operator==(const TUUID &)

IMPORT_C TBool operator== ( const TUUID & aUUID ) const

Comparison operator.

Parameters

const TUUID & aUUID Object to compare to this.

operator[](TInt)

IMPORT_C const TUint8 & operator[] ( TInt aIndex ) const

Access a single element of the UUID.

Parameters

TInt aIndex The index of the element to access.

operator[](TInt)

IMPORT_C TUint8 & operator[] ( TInt aIndex )

Access a single element of the UUID.

Parameters

TInt aIndex The index of the element to access.

Member Data Documentation

TUint32 iPadding1

TUint32 iPadding1 [private]

TUint32 iPadding2

TUint32 iPadding2 [private]

TFixedArray< TUint8, KSdpUUIDMaxLength > iUUID

TFixedArray < TUint8 , KSdpUUIDMaxLength > iUUID [private]