LMMS
Loading...
Searching...
No Matches
Steinberg::FUID Class Reference

#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 ()
bool isValid () const
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
bool fromString (const char8 *string)
void toRegistryString (char8 *string) const
bool fromRegistryString (const char8 *string)
void print (char8 *string=nullptr, int32 style=kINLINE_UID) const
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

◆ String

typedef char8 Steinberg::FUID::String[33]

Member Enumeration Documentation

◆ 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() [1/4]

Steinberg::FUID::FUID ( )

◆ FUID() [2/4]

Steinberg::FUID::FUID ( uint32 l1,
uint32 l2,
uint32 l3,
uint32 l4 )

◆ FUID() [3/4]

Steinberg::FUID::FUID ( const FUID & f)

◆ ~FUID()

virtual Steinberg::FUID::~FUID ( )
inlinevirtual

◆ FUID() [4/4]

template<size_t N>
Steinberg::FUID::FUID ( const int8(&) uid[N])
inlineexplicit

Member Function Documentation

◆ from4Int()

void Steinberg::FUID::from4Int ( uint32 d1,
uint32 d2,
uint32 d3,
uint32 d4 )

◆ fromRegistryString()

bool Steinberg::FUID::fromRegistryString ( const char8 * string)

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

◆ fromString()

bool Steinberg::FUID::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.

◆ fromTUID()

FUID Steinberg::FUID::fromTUID ( const TUID uid)
inlinestatic

◆ generate()

bool Steinberg::FUID::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.

◆ getLong1()

uint32 Steinberg::FUID::getLong1 ( ) const

◆ getLong2()

uint32 Steinberg::FUID::getLong2 ( ) const

◆ getLong3()

uint32 Steinberg::FUID::getLong3 ( ) const

◆ getLong4()

uint32 Steinberg::FUID::getLong4 ( ) const

◆ isValid()

bool Steinberg::FUID::isValid ( ) const

Checks if the UID data is valid. The default constructor initializes the memory with zeros.

◆ operator const TUID &()

Steinberg::FUID::operator const TUID & ( ) const
inline

◆ operator!=()

bool Steinberg::FUID::operator!= ( const FUID & f) const
inline

◆ operator<()

bool Steinberg::FUID::operator< ( const FUID & f) const
inline

◆ operator=()

FUID & Steinberg::FUID::operator= ( const FUID & f)

◆ operator==()

bool Steinberg::FUID::operator== ( const FUID & f) const
inline

◆ print()

void Steinberg::FUID::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.

◆ to4Int()

void Steinberg::FUID::to4Int ( uint32 & d1,
uint32 & d2,
uint32 & d3,
uint32 & d4 ) const

◆ toRegistryString()

void Steinberg::FUID::toRegistryString ( char8 * string) const

Converts UID to a string in Microsoft(R) OLE format. (e.g. "{c200e360-38c5-11ce-ae62-08002b2b79ef}")

◆ toString()

void Steinberg::FUID::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);
Definition funknown.h:233
void toString(char8 *string) const
Definition funknown.cpp:296
bool generate()
Definition funknown.cpp:151
char char8
Definition ftypes.h:93

◆ toTUID() [1/2]

const TUID & Steinberg::FUID::toTUID ( ) const
inline

◆ toTUID() [2/2]

void Steinberg::FUID::toTUID ( TUID result) const
inline

Member Data Documentation

◆ data

TUID Steinberg::FUID::data
protected

The documentation for this class was generated from the following files: