Skip to content

Latest commit

 

History

History
253 lines (152 loc) · 6.72 KB

uuid++.pod

File metadata and controls

253 lines (152 loc) · 6.72 KB

NAME

OSSP uuid - Universally Unique Identifier (C++ API)

VERSION

OSSP uuid UUID_VERSION_STR

DESCRIPTION

uuid++ is the ISO-C++ language binding of the OSSP uuid C API. It provides a thin ISO-C++ class uuid wrapping the ISO-C API type uuid_t.

APPLICATION PROGRAMMING INTERFACE

The ISO-C++ Application Programming Interface (API) of OSSP uuid consists of the following components:

CONSTANTS

The constants are the same to those provided by the ISO-C API. See uuid(3) for details.

CLASSES

The following classes are provided:

uuid

This is the class corresponding to the C API type uuid_t. It is the main object.

uuid_error_t

This is the class corresponding to the C API function uuid_error. It is the object thrown as an exception in case of any errors.

METHODS

The following methods are provided:

uuid();

The standard constructor.

uuid(const uuid &_obj);

The copy constructor for uuid class.

uuid(const uuid_t *_obj);

The import constructor for C API objects.

uuid(const void *_bin);

The import constructor for binary representation.

uuid(const char *_str);

The import constructor for string representation.

~uuid();

The standard destructor for uuid class.

uuid &uuid::operator=(const uuid &_obj);

The assignment operator corresponding to the copy constructor.

uuid &uuid::operator=(const uuid_t *_obj);

The assignment operator corresponding to the import constructor for C API objects.

uuid &uuid::operator=(const void *_bin);

The assignment operator corresponding to the import constructor for binary representation.

uuid &uuid::operator=(const char *_str);

The assignment operator corresponding to the import constructor for string and single integer value representation.

uuid uuid::clone(void);

Regular method corresponding to the C API function uuid_clone.

void uuid::load(const char *_name);

Regular method corresponding to the C API function uuid_load.

void uuid::make(unsigned int _mode, ...);

Regular method corresponding to the C API function uuid_make.

int uuid::isnil(void);

Regular method corresponding to the C API function uuid_isnil.

int uuid::compare(const uuid &_obj);

Regular method corresponding to the C API function uuid_compare.

int uuid::operator==(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for equality.

int uuid::operator!=(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for inequality.

int uuid::operator<(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for less-than.

int uuid::operator<=(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for less-than-or-equal.

int uuid::operator>(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for greater-than.

int uuid::operator>=(const uuid &_obj);

The comparison operator corresponding to uuid_compare usage for greater-than-or-equal.

void uuid::import(const void *_bin);

Regular method corresponding to the C API function uuid_import for binary representation usage.

void uuid::import(const char *_str);

Regular method corresponding to the C API function uuid_import for string representation usage.

void *uuid::binary(void);

Regular method corresponding to the C API function uuid_export for binary representation usage.

char *uuid::string(void);

Regular method corresponding to the C API function uuid_export for string representation usage.

char *uuid::integer(void);

Regular method corresponding to the C API function uuid_export for single integer value representation usage.

char *uuid::summary(void);

Regular method corresponding to the C API function uuid_export for textual summary representation usage.

unsigned long uuid::version(void);

Regular method corresponding to the C API function uuid_version.

uuid_error_t()

The standard constructor for uuid_error_t class.

uuid_error_t(uuid_rc_t _code)

The standard constructor for uuid_error_t class with return code initialization.

~uuid_error_t()

The standard destructor for uuid_error_t class.

void uuid_error_t::code(uuid_rc_t _code)

Regular method for setting the return code.

uuid_rc_t uuid_error_t::code(void)

Regular method for fetching the return code.

char *uuid_error_t::string(void)

Regular method for fetching the string corresponding to the current return code.

EXAMPLE

The following shows an example usage of the C++ API. Exception handling is omitted for code simplification and has to be re-added for production code.

/* generate a DCE 1.1 v1 UUID from system environment */
char *uuid_v1(void)
{
    uuid id;
    char *str;

    id.make(UUID_MAKE_V1);
    str = id.string();
    return str;
}

/* generate a DCE 1.1 v3 UUID from an URL */
char *uuid_v3(const char *url)
{
    uuid id;
    uuid id_ns;
    char *str;

    id_ns.load("ns:URL");
    id.make(UUID_MAKE_V3, &id_ns, url);
    str = id.string();
    return str;
}

SEE ALSO

uuid(3).