Interface Technology Basics: FUID Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
FUID Class Reference
Basic Interfaces

Handling 16 Byte Globally Unique Identifiers. More...

`#include <funknown.h>`

## Public Types
enum | UIDPrintStyle { kINLINE_UID, kDECLARE_UID, kFUID, kCLASS_UID }
typedef char8 | String [33]

## Public Member Functions
| FUID ()
| FUID (uint32 l1, uint32 l2, uint32 l3, uint32 l4)
| FUID (const FUID &)
virtual | ~FUID ()
bool | generate ()
| Generates a new Unique Identifier (UID).
bool | isValid () const
| Checks if the UID data is valid.
FUID & | operator= (const FUID &f)
bool | operator== (const FUID &f) const
bool | operator< (const FUID &f) const
bool | operator!= (const FUID &f) const
uint32 | getLong1 () const
uint32 | getLong2 () const
uint32 | getLong3 () const
uint32 | getLong4 () const
void | from4Int (uint32 d1, uint32 d2, uint32 d3, uint32 d4)
void | to4Int (uint32 &d1, uint32 &d2, uint32 &d3, uint32 &d4) const
void | toString (char8 *string) const
| Converts UID to a string.
bool | fromString (const char8 *string)
| Sets the UID data from a string.
void | toRegistryString (char8 *string) const
| Converts UID to a string in Microsoft(R) OLE format.
bool | fromRegistryString (const char8 *string)
| Sets the UID data from a string in Microsoft(R) OLE format.
void | print (int32 style, char8 *string=nullptr, size_t stringBufferSize=0) const
| Prints the UID to a string (or debug output if string is NULL).
void | print (char8 *string=nullptr, int32 style=kINLINE_UID) const
template<size_t N>
| FUID (const char(&uid)[N])
void | toTUID (TUID result) const
| operator const TUID & () const
const TUID & | toTUID () const

## Static Public Member Functions
static FUID | fromTUID (const TUID uid)

## Protected Attributes
TUID | data

## Detailed Description

Handling 16 Byte Globally Unique Identifiers.

Each interface declares its identifier as static member inside the interface namespace (e.g. FUnknown::iid).

## Member Typedef Documentation

typedef char8 String[33]

## Member Enumeration Documentation

enum UIDPrintStyle

Enumerator
kINLINE_UID | "INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)"
kDECLARE_UID | "DECLARE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)"
kFUID | "FUID (0x00000000, 0x00000000, 0x00000000, 0x00000000)"
kCLASS_UID | "DECLARE_CLASS_IID (Interface, 0x00000000, 0x00000000, 0x00000000, 0x00000000)"

## Constructor & Destructor Documentation

FUID | ( |  | ) |

FUID | ( | uint32 | l1,
|  | uint32 | l2,
|  | uint32 | l3,
|  | uint32 | l4
| ) |  |

FUID | ( | const FUID & | f | ) |

virtual ~FUID | ( |  | ) |
| inlinevirtual

FUID | ( | const char(&) | uid[N] | ) |
| inlineexplicit

## Member Function Documentation

bool generate | ( |  | ) |

Generates a new Unique Identifier (UID).

Will return true for success. If the return value is false, either no UID is generated or the UID is not guaranteed to be unique worldwide.

bool isValid | ( |  | ) | const

Checks if the UID data is valid.

The default constructor initializes the memory with zeros.

FUID & operator= | ( | const FUID & | f | ) |

bool operator== | ( | const FUID & | f | ) | const
| inline

bool operator< | ( | const FUID & | f | ) | const
| inline

bool operator!= | ( | const FUID & | f | ) | const
| inline

uint32 getLong1 | ( |  | ) | const

uint32 getLong2 | ( |  | ) | const

uint32 getLong3 | ( |  | ) | const

uint32 getLong4 | ( |  | ) | const

void from4Int | ( | uint32 | d1,
|  | uint32 | d2,
|  | uint32 | d3,
|  | uint32 | d4
| ) |  |

void to4Int | ( | uint32 & | d1,
|  | uint32 & | d2,
|  | uint32 & | d3,
|  | uint32 & | d4
| ) |  | const

void toString | ( | char8 * | string | ) | const

Converts UID to a string.

The string will be 32 characters long, representing the hexadecimal values of each data byte (e.g. "9127BE30160E4BB69966670AA6087880").

Typical use-case is:

char8[33] strUID = {0};
FUID uid;
if (uid.generate ())
uid.toString (strUID);

bool fromString | ( | const char8 * | string | ) |

Sets the UID data from a string.

The string has to be 32 characters long, where each character-pair is the ASCII-encoded hexadecimal value of the corresponding data byte.

void toRegistryString | ( | char8 * | string | ) | const

Converts UID to a string in Microsoft(R) OLE format.

(e.g. "{c200e360-38c5-11ce-ae62-08002b2b79ef}")

bool fromRegistryString | ( | const char8 * | string | ) |

Sets the UID data from a string in Microsoft(R) OLE format.

void print | ( | int32 | style,
|  | char8 * | string = `nullptr`,
|  | size_t | stringBufferSize = `0`
| ) |  | const

Prints the UID to a string (or debug output if string is NULL).

Parameters

  style | can be chosen from the FUID::UIDPrintStyle enumeration.
  string | is the output string if not NULL.
  stringBufferSize | is the size of the output string

void print | ( | char8 * | string = `nullptr`,
|  | int32 | style = `kINLINE_UID`
| ) |  | const

void toTUID | ( | TUID | result | ) | const
| inline

operator const TUID & | ( |  | ) | const
| inline

const TUID& toTUID | ( |  | ) | const
| inline

static FUID fromTUID | ( | const TUID | uid | ) |
| inlinestatic

## Member Data Documentation

TUID data
| protected

Empty

Copyright ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.