Representation of a Universally Unique Identifier (UUID). More...
#include <UUID.h>
| Public Types | |
| typedef uint16_t | ShortUUIDBytes_t | 
| Type for a 16-bit UUID.  More... | |
| typedef uint8_t | LongUUIDBytes_t[LENGTH_OF_LONG_UUID] | 
| Type for a 128-bit UUID.  More... | |
| Public Member Functions | |
| UUID (const char *stringUUID) | |
| Construct a 128-bit UUID from a string.  More... | |
| UUID (const LongUUIDBytes_t longUUID, ByteOrder_t order=UUID::MSB) | |
| Construct a new UUID from a 128-bit representation.  More... | |
| UUID (ShortUUIDBytes_t _shortUUID) | |
| Creates a new 16-bit UUID.  More... | |
| UUID (const UUID &source) | |
| UUID copy constructor.  More... | |
| UUID & | operator= (const UUID &source)=default | 
| UUID copy assignment.  More... | |
| UUID () | |
| Default constructor.  More... | |
| void | setupLong (const LongUUIDBytes_t longUUID, ByteOrder_t order=UUID::MSB) | 
| Replace existing value with a 128-bit UUID.  More... | |
| UUID_Type_t | shortOrLong () const | 
| Return the internal type of the UUID.  More... | |
| const uint8_t * | getBaseUUID () const | 
| Get a pointer to the UUID value based on the current UUID type.  More... | |
| ShortUUIDBytes_t | getShortUUID () const | 
| Get the uint16_t value of the UUID.  More... | |
| uint8_t | getLen () const | 
| Get the length (in bytes) of the internal UUID representation.  More... | |
| bool | operator== (const UUID &other) const | 
| Equal to operator between UUIDs.  More... | |
| bool | operator!= (const UUID &other) const | 
| Not equal to operator.  More... | |
| Static Public Attributes | |
| static const unsigned | LENGTH_OF_LONG_UUID = 16 | 
| Length in bytes of a long UUID.  More... | |
| static const unsigned | MAX_UUID_STRING_LENGTH = LENGTH_OF_LONG_UUID * 2 + 4 | 
| Maximum length for the string representation of a UUID excluding the null terminator.  More... | |
Representation of a Universally Unique Identifier (UUID).
UUIDs are 128-bit wide numbers used to identify data type and elements in many layers of the Bluetooth specification.
Two representations of UUIDS exist:
This class acts as an adapter over these two kinds of UUIDs to allow indiscriminate use of both forms in Mbed BLE APIs.
Definition at line 76 of file common/UUID.h.
| typedef uint8_t LongUUIDBytes_t[LENGTH_OF_LONG_UUID] | 
Type for a 128-bit UUID.
Definition at line 124 of file common/UUID.h.
| typedef uint16_t ShortUUIDBytes_t | 
Type for a 16-bit UUID.
Definition at line 114 of file common/UUID.h.
| enum ByteOrder_t | 
Enumeration of byte ordering.
It is used to construct 128-byte UUIDs.
| Enumerator | |
|---|---|
| MSB | Most significant byte first (at the smallest address). | 
| LSB | Least significant byte first (at the smallest address). | 
Definition at line 99 of file common/UUID.h.
| enum UUID_Type_t | 
Enumeration of the types of UUIDs.
| Enumerator | |
|---|---|
| UUID_TYPE_SHORT | 16-bit wide UUID representation. | 
| UUID_TYPE_LONG | 128-bit wide UUID representation. | 
Definition at line 82 of file common/UUID.h.
| UUID | ( | const char * | stringUUID | ) | 
Construct a 128-bit UUID from a string.
| [in] | stringUUID | Human readable representation of the UUID following the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. | 
Definition at line 149 of file common/UUID.h.
| UUID | ( | const LongUUIDBytes_t | longUUID, | 
| ByteOrder_t | order = UUID::MSB | ||
| ) | 
Construct a new UUID from a 128-bit representation.
| [in] | longUUID | The 128-bit (16-byte) of the UUID value. | 
| [in] | order | Bytes order of longUUID. | 
Definition at line 200 of file common/UUID.h.
| UUID | ( | ShortUUIDBytes_t | _shortUUID | ) | 
Creates a new 16-bit UUID.
The Bluetooth standard body defines 16-bit wide UUIDs. They are the shortened version of the UUID 0000xxxx-0000-1000-8000-00805F9B34FB, where xxxx is the value of the 16-bit UUID.
Definition at line 220 of file common/UUID.h.
UUID copy constructor.
| [in] | source | The UUID to copy. | 
Definition at line 231 of file common/UUID.h.
| UUID | ( | ) | 
Default constructor.
Construct an invalid UUID.
Definition at line 253 of file common/UUID.h.
| const uint8_t* getBaseUUID | ( | ) | const | 
| uint8_t getLen | ( | ) | const | 
Get the length (in bytes) of the internal UUID representation.
Definition at line 324 of file common/UUID.h.
| ShortUUIDBytes_t getShortUUID | ( | ) | const | 
Get the uint16_t value of the UUID.
Definition at line 313 of file common/UUID.h.
| bool operator!= | ( | const UUID & | other | ) | const | 
Not equal to operator.
| [in] | other | The UUID compared to this. | 
Definition at line 360 of file common/UUID.h.
| bool operator== | ( | const UUID & | other | ) | const | 
Equal to operator between UUIDs.
| [in] | other | The UUID to compare to this. | 
Definition at line 338 of file common/UUID.h.
| void setupLong | ( | const LongUUIDBytes_t | longUUID, | 
| ByteOrder_t | order = UUID::MSB | ||
| ) | 
Replace existing value with a 128-bit UUID.
| [in] | longUUID | New 16-byte wide UUID value. | 
| [in] | order | Byte ordering of longUUID. | 
Definition at line 264 of file common/UUID.h.
| UUID_Type_t shortOrLong | ( | ) | const | 
Return the internal type of the UUID.
Definition at line 286 of file common/UUID.h.
| 
 | static | 
Length in bytes of a long UUID.
Definition at line 119 of file common/UUID.h.
| 
 | static | 
Maximum length for the string representation of a UUID excluding the null terminator.
The string is composed of two characters per byte plus four '-' characters.
Definition at line 133 of file common/UUID.h.