Interface Technology Basics  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
FUID Class Reference

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). More...
 
bool isValid () const
 Checks if the UID data is valid. More...
 
FUIDoperator= (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. More...
 
bool fromString (const char8 *string)
 Sets the UID data from a string. More...
 
void toRegistryString (char8 *string) const
 Converts UID to a string in Microsoft® OLE format. More...
 
bool fromRegistryString (const char8 *string)
 Sets the UID data from a string in Microsoft® OLE format. More...
 
void print (char8 *string=nullptr, int32 style=kINLINE_UID) const
 Prints the UID to a string (or debug output if string is NULL). More...
 
template<size_t N>
 FUID (const int8(&uid)[N])
 
void toTUID (TUID result) const
 
 operator const TUID & () const
 
const TUIDtoTUID () 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

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 int8(&)  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® OLE format.

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

bool fromRegistryString ( const char8 string)

Sets the UID data from a string in Microsoft® OLE format.

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

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

Parameters
stringis the output string if not NULL.
stylecan be chosen from the FUID::UIDPrintStyle enumeration.
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 ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.