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().

Public Member Functions
TUUID()
TUUID(TUint32)
TUUID(TUint32, TUint32, TUint32, TUint32)
TUUID(const TUid &)
IMPORT_C const TPtrC8Des()
IMPORT_C const TPtrC8FixedLengthL(TInt)
IMPORT_C const TPtrC8LongForm()
IMPORT_C TIntMinimumSize()
IMPORT_C voidSetFromLittleEndianL(const TDesC8 &)
IMPORT_C voidSetL(const TDesC8 &)
IMPORT_C const TPtrC8ShortestForm()
IMPORT_C const TPtrC8SpecifiedLengthL(TInt)
IMPORT_C TBooloperator!=(const TUUID &)
IMPORT_C TBooloperator==(const TUUID &)
IMPORT_C const TUint8 &operator[](TInt)
IMPORT_C TUint8 &operator[](TInt)
Private Attributes
TUint32 iPadding1
TUint32 iPadding2
TFixedArray< TUint8, KSdpUUIDMaxLength >iUUID

Constructor & Destructor Documentation

TUUID()

IMPORT_CTUUID()

Default constructor. Sets the UUID to all zeros.

TUUID(TUint32)

IMPORT_CTUUID(TUint32aLong)

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 aLongis a Big-endian format TUint32 containing the UUID.

TUUID(TUint32, TUint32, TUint32, TUint32)

IMPORT_CTUUID(TUint32aHH,
TUint32aHL,
TUint32aLH,
TUint32aLL
)

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

Parameters

TUint32 aHHHighest order word (bits 96 - 127) in its Big-endian format
TUint32 aHLSecond highest order word (bits 64 - 95) in its Big-endian format
TUint32 aLHSecong lowset order word (bits 32 - 63) in its Big-endian format
TUint32 aLLLow order word (bits 0 - 31) in its Big-endian format

TUUID(const TUid &)

IMPORT_CTUUID(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 & aUidEPOC UID to set this Bluetooth UUID from

Member Functions Documentation

Des()

IMPORT_C const TPtrC8Des()const

FixedLengthL(TInt)

IMPORT_C const TPtrC8FixedLengthL(TIntaLength)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 aLengthThe required length (2, 4 or 16 bytes).

LongForm()

IMPORT_C const TPtrC8LongForm()const

Returns the full 128 bit version of the UUID.

MinimumSize()

IMPORT_C TIntMinimumSize()const

Returns the minimum size of this UUID.

SetFromLittleEndianL(const TDesC8 &)

IMPORT_C voidSetFromLittleEndianL(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 & aDesThe 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 voidSetL(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 & aDesThe 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 TPtrC8ShortestForm()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 TPtrC8SpecifiedLengthL(TIntaLength)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 aLengthThe required length (2, 4 or 16 bytes).

operator!=(const TUUID &)

IMPORT_C TBooloperator!=(const TUUID &aUUID)const

Inequality operator.

Parameters

const TUUID & aUUIDObject to compare to this.

operator==(const TUUID &)

IMPORT_C TBooloperator==(const TUUID &aUUID)const

Comparison operator.

Parameters

const TUUID & aUUIDObject to compare to this.

operator[](TInt)

IMPORT_C const TUint8 &operator[](TIntaIndex)const

Access a single element of the UUID.

Parameters

TInt aIndexThe index of the element to access.

operator[](TInt)

IMPORT_C TUint8 &operator[](TIntaIndex)

Access a single element of the UUID.

Parameters

TInt aIndexThe 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]