include/katie/QtCore/QTranslator
include/katie/QtCore/QTypeInfo
include/katie/QtCore/QUrl
-include/katie/QtCore/QUuid
include/katie/QtCore/QVarLengthArray
include/katie/QtCore/QVariant
include/katie/QtCore/QVariantHash
include/katie/QtCore/qtimer.h
include/katie/QtCore/qtranslator.h
include/katie/QtCore/qurl.h
-include/katie/QtCore/quuid.h
include/katie/QtCore/qvariant.h
include/katie/QtCore/qvarlengtharray.h
include/katie/QtCore/qvector.h
include/katie/QtCore/QTranslator
include/katie/QtCore/QTypeInfo
include/katie/QtCore/QUrl
-include/katie/QtCore/QUuid
include/katie/QtCore/QVarLengthArray
include/katie/QtCore/QVariant
include/katie/QtCore/QVariantHash
include/katie/QtCore/qtimer.h
include/katie/QtCore/qtranslator.h
include/katie/QtCore/qurl.h
-include/katie/QtCore/quuid.h
include/katie/QtCore/qvariant.h
include/katie/QtCore/qvarlengtharray.h
include/katie/QtCore/qvector.h
include/katie/QtCore/QTranslator
include/katie/QtCore/QTypeInfo
include/katie/QtCore/QUrl
-include/katie/QtCore/QUuid
include/katie/QtCore/QVarLengthArray
include/katie/QtCore/QVariant
include/katie/QtCore/QVariantHash
include/katie/QtCore/qtimer.h
include/katie/QtCore/qtranslator.h
include/katie/QtCore/qurl.h
-include/katie/QtCore/quuid.h
include/katie/QtCore/qvariant.h
include/katie/QtCore/qvarlengtharray.h
include/katie/QtCore/qvector.h
"QUnixPrintWidget",
"QUpdateLaterEvent",
"QUrl",
- "QUuid",
"QValidator",
"QVariant",
"QVariantAnimation",
QEventLoop
QDataStream
QScopedValueRollback
- QUuid
QAbstractItemModel
QTextBoundaryFinder
QTimer
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qlibrary.h
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qlibrary_p.h
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qplugin.h
- ${CMAKE_CURRENT_SOURCE_DIR}/plugin/quuid.h
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qfactoryloader_p.h
${CMAKE_CURRENT_SOURCE_DIR}/thread/qmutex.h
${CMAKE_CURRENT_SOURCE_DIR}/thread/qreadwritelock.h
${CMAKE_CURRENT_SOURCE_DIR}/kernel/qeventdispatcher_unix.cpp
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qpluginloader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qfactoryloader.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/plugin/quuid.cpp
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qlibrary.cpp
${CMAKE_CURRENT_SOURCE_DIR}/plugin/qlibrary_unix.cpp
${CMAKE_CURRENT_SOURCE_DIR}/thread/qatomic.cpp
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the QtCore module of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "quuid.h"
-#include "qdatastream.h"
-#include "qendian.h"
-#include "qcorecommon_p.h"
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_NO_QUUID_STRING
-template <class Char, class Integral>
-void _q_toHex(Char *&dst, Integral value)
-{
- static const char digits[] = "0123456789abcdef";
-
- value = qToBigEndian(value);
-
- const char* p = reinterpret_cast<const char*>(&value);
-
- for (uint i = 0; i < sizeof(Integral); ++i, dst += 2) {
- uint j = (p[i] >> 4) & 0xf;
- dst[0] = Char(digits[j]);
- j = p[i] & 0xf;
- dst[1] = Char(digits[j]);
- }
-}
-
-template <class Char, class Integral>
-bool _q_fromHex(const Char *&src, Integral &value)
-{
- value = 0;
-
- for (uint i = 0; i < sizeof(Integral) * 2; ++i) {
- int ch = *src++;
- int tmp;
- if (ch >= '0' && ch <= '9')
- tmp = ch - '0';
- else if (ch >= 'a' && ch <= 'f')
- tmp = ch - 'a' + 10;
- else if (ch >= 'A' && ch <= 'F')
- tmp = ch - 'A' + 10;
- else
- return false;
-
- value = value * 16 + tmp;
- }
-
- return true;
-}
-
-template <class Char>
-void _q_uuidToHex(Char *dst, const uint &d1, const ushort &d2, const ushort &d3, const uchar (&d4)[8])
-{
- *dst++ = Char('{');
- _q_toHex(dst, d1);
- *dst++ = Char('-');
- _q_toHex(dst, d2);
- *dst++ = Char('-');
- _q_toHex(dst, d3);
- *dst++ = Char('-');
- for (int i = 0; i < 2; i++)
- _q_toHex(dst, d4[i]);
- *dst++ = Char('-');
- for (int i = 2; i < 8; i++)
- _q_toHex(dst, d4[i]);
- *dst = Char('}');
-}
-
-template <class Char>
-bool _q_uuidFromHex(const Char *&src, uint &d1, ushort &d2, ushort &d3, uchar (&d4)[8])
-{
- if (*src == Char('{'))
- src++;
- if (!_q_fromHex(src, d1)
- || *src++ != Char('-')
- || !_q_fromHex(src, d2)
- || *src++ != Char('-')
- || !_q_fromHex(src, d3)
- || *src++ != Char('-')
- || !_q_fromHex(src, d4[0])
- || !_q_fromHex(src, d4[1])
- || *src++ != Char('-')
- || !_q_fromHex(src, d4[2])
- || !_q_fromHex(src, d4[3])
- || !_q_fromHex(src, d4[4])
- || !_q_fromHex(src, d4[5])
- || !_q_fromHex(src, d4[6])
- || !_q_fromHex(src, d4[7])) {
- return false;
- }
-
- return true;
-}
-#endif
-
-/*!
- \class QUuid
- \brief The QUuid class stores a Universally Unique Identifier (UUID).
-
- \reentrant
-
- Using \e{U}niversally \e{U}nique \e{ID}entifiers (UUID) is a
- standard way to uniquely identify entities in a distributed
- computing environment. A UUID is a 16-byte (128-bit) number
- generated by some algorithm that is meant to guarantee that the
- UUID will be unique in the distributed computing environment where
- it is used. The acronym GUID is often used instead, \e{G}lobally
- \e{U}nique \e{ID}entifiers, but it refers to the same thing.
-
- \target Variant field
- Actually, the GUID is one \e{variant} of UUID. Multiple variants
- are in use. Each UUID contains a bit field that specifies which
- type (variant) of UUID it is. Call variant() to discover which
- type of UUID an instance of QUuid contains. It extracts the three
- most signifcant bits of byte 8 of the 16 bytes. In QUuid, byte 8
- is \c{QUuid::data4[0]}. If you create instances of QUuid using the
- constructor that accepts all the numeric values as parameters, use
- the following table to set the three most significant bits of
- parameter \c{b1}, which becomes \c{QUuid::data4[0]} and contains
- the variant field in its three most significant bits. In the
- table, 'x' means \e {don't care}.
-
- \table
- \header
- \o msb0
- \o msb1
- \o msb2
- \o Variant
-
- \row
- \o 0
- \o x
- \o x
- \o NCS (Network Computing System)
-
- \row
- \o 1
- \o 0
- \o x
- \o DCE (Distributed Computing Environment)
-
- \row
- \o 1
- \o 1
- \o 0
- \o Microsoft (GUID)
-
- \row
- \o 1
- \o 1
- \o 1
- \o Reserved for future expansion
-
- \endtable
-
- \target Version field
- If variant() returns QUuid::DCE, the UUID also contains a
- \e{version} field in the four most significant bits of
- \c{QUuid::data3}, and you can call version() to discover which
- version your QUuid contains. If you create instances of QUuid
- using the constructor that accepts all the numeric values as
- parameters, use the following table to set the four most
- significant bits of parameter \c{w2}, which becomes
- \c{QUuid::data3} and contains the version field in its four most
- significant bits.
-
- \table
- \header
- \o msb0
- \o msb1
- \o msb2
- \o msb3
- \o Version
-
- \row
- \o 0
- \o 0
- \o 0
- \o 1
- \o Time
-
- \row
- \o 0
- \o 0
- \o 1
- \o 0
- \o Embedded POSIX
-
- \row
- \o 0
- \o 0
- \o 1
- \o 1
- \o Name
-
- \row
- \o 0
- \o 1
- \o 0
- \o 0
- \o Random
-
- \endtable
-
- The field layouts for the DCE versions listed in the table above
- are specified in the \l{https://www.ietf.org/rfc/rfc4122.txt}
- {Network Working Group UUID Specification}.
-
- Most platforms provide a tool for generating new UUIDs, e.g. \c
- uuidgen and \c guidgen. You can also use createUuid(). UUIDs
- generated by createUuid() are of the random type. Their
- QUuid::Version bits are set to QUuid::Random, and their
- QUuid::Variant bits are set to QUuid::DCE. The rest of the UUID is
- composed of random numbers. Theoretically, this means there is a
- small chance that a UUID generated by createUuid() will not be
- unique. But it is
- \l{https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions}
- {a \e{very} small chance}.
-
- UUIDs can be constructed from numeric values or from strings, or
- using the static createUuid() function. They can be converted to a
- string with toString(). UUIDs have a variant() and a version(),
- and null UUIDs return true from isNull().
-*/
-
-/*!
- \fn QUuid::QUuid()
-
- Creates the null UUID. toString() will output the null UUID
- as "{00000000-0000-0000-0000-000000000000}".
-*/
-
-/*!
- \fn QUuid::QUuid(uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8)
-
- Creates a UUID with the value specified by the parameters, \a l,
- \a w1, \a w2, \a b1, \a b2, \a b3, \a b4, \a b5, \a b6, \a b7, \a
- b8.
-
- Example:
- \snippet doc/src/snippets/code/src_corelib_plugin_quuid.cpp 0
-*/
-
-#ifndef QT_NO_QUUID_STRING
-/*!
- Creates a QUuid object from the string \a text, which must be
- formatted as five hex fields separated by '-', e.g.,
- "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" where 'x' is a hex
- digit. The curly braces shown here are optional, but it is normal to
- include them. If the conversion fails, a null UUID is created. See
- toString() for an explanation of how the five hex fields map to the
- public data members in QUuid.
-
- \sa toString(), QUuid()
-*/
-QUuid::QUuid(const QString &text)
-{
- if (text.length() < 36) {
- *this = QUuid();
- return;
- }
-
- const ushort *data = reinterpret_cast<const ushort *>(text.unicode());
-
- if (*data == '{' && text.length() < 37) {
- *this = QUuid();
- return;
- }
-
- if (!_q_uuidFromHex(data, data1, data2, data3, data4)) {
- *this = QUuid();
- return;
- }
-}
-
-/*!
- \internal
-*/
-QUuid::QUuid(const char *text)
-{
- if (!text) {
- *this = QUuid();
- return;
- }
-
- if (!_q_uuidFromHex(text, data1, data2, data3, data4)) {
- *this = QUuid();
- return;
- }
-}
-
-/*!
- Creates a QUuid object from the QByteArray \a text, which must be
- formatted as five hex fields separated by '-', e.g.,
- "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" where 'x' is a hex
- digit. The curly braces shown here are optional, but it is normal to
- include them. If the conversion fails, a null UUID is created. See
- toByteArray() for an explanation of how the five hex fields map to the
- public data members in QUuid.
-
- \since 4.8
-
- \sa toByteArray(), QUuid()
-*/
-QUuid::QUuid(const QByteArray &text)
-{
- if (text.length() < 36) {
- *this = QUuid();
- return;
- }
-
- const char *data = text.constData();
-
- if (*data == '{' && text.length() < 37) {
- *this = QUuid();
- return;
- }
-
- if (!_q_uuidFromHex(data, data1, data2, data3, data4)) {
- *this = QUuid();
- return;
- }
-}
-#endif
-
-/*!
- \since 4.8
-
- Creates a QUuid object from the binary representation of the UUID given
- by \a bytes, as specified by RFC 4122 section 4.1.2. See toRfc4122() for a
- further explanation of the order of bytes required.
-
- The byte array accepted is \e not a human readable format.
-
- If the conversion fails, a null UUID is created.
-
- \sa toRfc4122(), QUuid()
-*/
-QUuid QUuid::fromRfc4122(const QByteArray &bytes)
-{
- if (bytes.isEmpty() || bytes.length() != 16)
- return QUuid();
-
- const uchar *data = reinterpret_cast<const uchar *>(bytes.constData());
-
- uint d1 = qFromBigEndian<quint32>(data);
- data += sizeof(quint32);
- ushort d2 = qFromBigEndian<quint16>(data);
- data += sizeof(quint16);
- ushort d3 = qFromBigEndian<quint16>(data);
- data += sizeof(quint16);
-
- QSTACKARRAY(uchar, d4, 8);
- for (int i = 0; i < 8; ++i) {
- d4[i] = *(data);
- data++;
- }
-
- return QUuid(d1, d2, d3, d4[0], d4[1], d4[2], d4[3], d4[4], d4[5], d4[6], d4[7]);
-}
-
-/*!
- \fn bool QUuid::operator==(const QUuid &other) const
-
- Returns true if this QUuid and the \a other QUuid are identical;
- otherwise returns false.
-*/
-
-/*!
- \fn bool QUuid::operator!=(const QUuid &other) const
-
- Returns true if this QUuid and the \a other QUuid are different;
- otherwise returns false.
-*/
-#ifndef QT_NO_QUUID_STRING
-/*!
- Returns the string representation of this QUuid. The string is
- formatted as five hex fields separated by '-' and enclosed in
- curly braces, i.e., "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" where
- 'x' is a hex digit. From left to right, the five hex fields are
- obtained from the four public data members in QUuid as follows:
-
- \table
- \header
- \o Field #
- \o Source
-
- \row
- \o 1
- \o data1
-
- \row
- \o 2
- \o data2
-
- \row
- \o 3
- \o data3
-
- \row
- \o 4
- \o data4[0] .. data4[1]
-
- \row
- \o 5
- \o data4[2] .. data4[7]
-
- \endtable
-*/
-QString QUuid::toString() const
-{
- QSTACKARRAY(char, data, 38);
- _q_uuidToHex(data, data1, data2, data3, data4);
- return QString::fromLatin1(data, 38);
-}
-
-/*!
- Returns the binary representation of this QUuid. The byte array is
- formatted as five hex fields separated by '-' and enclosed in
- curly braces, i.e., "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" where
- 'x' is a hex digit. From left to right, the five hex fields are
- obtained from the four public data members in QUuid as follows:
-
- \table
- \header
- \o Field #
- \o Source
-
- \row
- \o 1
- \o data1
-
- \row
- \o 2
- \o data2
-
- \row
- \o 3
- \o data3
-
- \row
- \o 4
- \o data4[0] .. data4[1]
-
- \row
- \o 5
- \o data4[2] .. data4[7]
-
- \endtable
-
- \since 4.8
-*/
-QByteArray QUuid::toByteArray() const
-{
- QSTACKARRAY(char, data, 38);
- _q_uuidToHex(data, data1, data2, data3, data4);
- return QByteArray(data, 38);
-}
-#endif
-
-/*!
- Returns the binary representation of this QUuid. The byte array is in big
- endian format, and formatted according to RFC 4122, section 4.1.2 -
- "Layout and byte order".
-
- The order is as follows:
-
- \table
- \header
- \o Field #
- \o Source
-
- \row
- \o 1
- \o data1
-
- \row
- \o 2
- \o data2
-
- \row
- \o 3
- \o data3
-
- \row
- \o 4
- \o data4[0] .. data4[7]
-
- \endtable
-
- \since 4.8
-*/
-QByteArray QUuid::toRfc4122() const
-{
- // we know how many bytes a UUID has, I hope :)
- QByteArray bytes(16, Qt::Uninitialized);
- uchar *data = reinterpret_cast<uchar*>(bytes.data());
-
- qToBigEndian(data1, data);
- data += sizeof(quint32);
- qToBigEndian(data2, data);
- data += sizeof(quint16);
- qToBigEndian(data3, data);
- data += sizeof(quint16);
-
- for (int i = 0; i < 8; ++i) {
- *(data) = data4[i];
- data++;
- }
-
- return bytes;
-}
-
-#ifndef QT_NO_DATASTREAM
-/*!
- \relates QUuid
- Writes the UUID \a id to the data stream \a s.
-*/
-QDataStream &operator<<(QDataStream &s, const QUuid &id)
-{
- QByteArray bytes;
- if (s.byteOrder() == QDataStream::BigEndian) {
- bytes = id.toRfc4122();
- } else {
- // we know how many bytes a UUID has, I hope :)
- bytes = QByteArray(16, Qt::Uninitialized);
- uchar *data = reinterpret_cast<uchar*>(bytes.data());
-
- qToLittleEndian(id.data1, data);
- data += sizeof(quint32);
- qToLittleEndian(id.data2, data);
- data += sizeof(quint16);
- qToLittleEndian(id.data3, data);
- data += sizeof(quint16);
-
- for (int i = 0; i < 8; ++i) {
- *(data) = id.data4[i];
- data++;
- }
- }
-
- if (s.writeRawData(bytes.data(), 16) != 16) {
- s.setStatus(QDataStream::WriteFailed);
- }
- return s;
-}
-
-/*!
- \relates QUuid
- Reads a UUID from the stream \a s into \a id.
-*/
-QDataStream &operator>>(QDataStream &s, QUuid &id)
-{
- QByteArray bytes(16, Qt::Uninitialized);
- if (s.readRawData(bytes.data(), 16) != 16) {
- s.setStatus(QDataStream::ReadPastEnd);
- return s;
- }
-
- if (s.byteOrder() == QDataStream::BigEndian) {
- id = QUuid::fromRfc4122(bytes);
- } else {
- const uchar *data = reinterpret_cast<const uchar *>(bytes.constData());
-
- id.data1 = qFromLittleEndian<quint32>(data);
- data += sizeof(quint32);
- id.data2 = qFromLittleEndian<quint16>(data);
- data += sizeof(quint16);
- id.data3 = qFromLittleEndian<quint16>(data);
- data += sizeof(quint16);
-
- for (int i = 0; i < 8; ++i) {
- id.data4[i] = *(data);
- data++;
- }
- }
-
- return s;
-}
-#endif // QT_NO_DATASTREAM
-
-/*!
- Returns true if this is the null UUID
- {00000000-0000-0000-0000-000000000000}; otherwise returns false.
-*/
-bool QUuid::isNull() const
-{
- return data4[0] == 0 && data4[1] == 0 && data4[2] == 0 && data4[3] == 0 &&
- data4[4] == 0 && data4[5] == 0 && data4[6] == 0 && data4[7] == 0 &&
- data1 == 0 && data2 == 0 && data3 == 0;
-}
-
-/*!
- \enum QUuid::Variant
-
- This enum defines the values used in the \l{Variant field}
- {variant field} of the UUID. The value in the variant field
- determines the layout of the 128-bit value.
-
- \value VarUnknown Variant is unknown
- \value NCS Reserved for NCS (Network Computing System) backward compatibility
- \value DCE Distributed Computing Environment, the scheme used by QUuid
- \value Microsoft Reserved for Microsoft backward compatibility (GUID)
- \value Reserved Reserved for future definition
-*/
-
-/*!
- \enum QUuid::Version
-
- This enum defines the values used in the \l{Version field}
- {version field} of the UUID. The version field is meaningful
- only if the value in the \l{Variant field} {variant field}
- is QUuid::DCE.
-
- \value VerUnknown Version is unknown
- \value Time Time-based, by using timestamp, clock sequence, and
- MAC network card address (if available) for the node sections
- \value EmbeddedPOSIX DCE Security version, with embedded POSIX UUIDs
- \value Name Name-based, by using values from a name for all sections
- \value Random Random-based, by using random numbers for all sections
-*/
-
-/*!
- \fn QUuid::Variant QUuid::variant() const
-
- Returns the value in the \l{Variant field} {variant field} of the
- UUID. If the return value is QUuid::DCE, call version() to see
- which layout it uses. The null UUID is considered to be of an
- unknown variant.
-
- \sa version()
-*/
-QUuid::Variant QUuid::variant() const
-{
- if (isNull())
- return VarUnknown;
- // Check the 3 MSB of data4[0]
- if ((data4[0] & 0x80) == 0x00) return NCS;
- else if ((data4[0] & 0xC0) == 0x80) return DCE;
- else if ((data4[0] & 0xE0) == 0xC0) return Microsoft;
- else if ((data4[0] & 0xE0) == 0xE0) return Reserved;
- return VarUnknown;
-}
-
-/*!
- \fn QUuid::Version QUuid::version() const
-
- Returns the \l{Version field} {version field} of the UUID, if the
- UUID's \l{Variant field} {variant field} is QUuid::DCE. Otherwise
- it returns QUuid::VerUnknown.
-
- \sa variant()
-*/
-QUuid::Version QUuid::version() const
-{
- // Check the 4 MSB of data3
- Version ver = (Version)(data3>>12);
- if (isNull()
- || (variant() != DCE)
- || ver < Time
- || ver > Random)
- return VerUnknown;
- return ver;
-}
-
-/*!
- \fn bool QUuid::operator<(const QUuid &other) const
-
- Returns true if this QUuid has the same \l{Variant field}
- {variant field} as the \a other QUuid and is lexicographically
- \e{before} the \a other QUuid. If the \a other QUuid has a
- different variant field, the return value is determined by
- comparing the two \l{QUuid::Variant} {variants}.
-
- \sa variant()
-*/
-#define ISLESS(f1, f2) if (f1!=f2) return (f1<f2);
-bool QUuid::operator<(const QUuid &other) const
-{
- if (variant() != other.variant())
- return variant() < other.variant();
-
- ISLESS(data1, other.data1);
- ISLESS(data2, other.data2);
- ISLESS(data3, other.data3);
- for (int n = 0; n < 8; n++) {
- ISLESS(data4[n], other.data4[n]);
- }
- return false;
-}
-#undef ISLESS
-
-/*!
- \fn bool QUuid::operator>(const QUuid &other) const
-
- Returns true if this QUuid has the same \l{Variant field}
- {variant field} as the \a other QUuid and is lexicographically
- \e{after} the \a other QUuid. If the \a other QUuid has a
- different variant field, the return value is determined by
- comparing the two \l{QUuid::Variant} {variants}.
-
- \sa variant()
-*/
-#define ISMORE(f1, f2) if (f1!=f2) return (f1>f2);
-bool QUuid::operator>(const QUuid &other) const
-{
- if (variant() != other.variant())
- return variant() > other.variant();
-
- ISMORE(data1, other.data1);
- ISMORE(data2, other.data2);
- ISMORE(data3, other.data3);
- for (int n = 0; n < 8; n++) {
- ISMORE(data4[n], other.data4[n]);
- }
- return false;
-}
-#undef ISMORE
-
-/*!
- \fn QUuid QUuid::createUuid()
-
- This function returns a new UUID with variant QUuid::DCE and
- version QUuid::Random. The randomness of the created UUID depends
- on qrand().
-
- \sa variant(), version()
-*/
-
-QUuid QUuid::createUuid()
-{
- QUuid result;
- uint *data = &(result.data1);
-
- int chunks = 16 / sizeof(uint);
- while (chunks--) {
- *(data+chunks) = qrand();
- }
-
- result.data4[0] = (result.data4[0] & 0x3F) | 0x80; // UV_DCE
- result.data3 = (result.data3 & 0x0FFF) | 0x4000; // UV_Random
-
- return result;
-}
-
-/*!
- \fn bool QUuid::operator==(const GUID &guid) const
-
- Returns true if this UUID is equal to the Windows GUID \a guid;
- otherwise returns false.
-*/
-
-/*!
- \fn bool QUuid::operator!=(const GUID &guid) const
-
- Returns true if this UUID is not equal to the Windows GUID \a
- guid; otherwise returns false.
-*/
-
-/**
- Returns a hash of the QUuid
- */
-uint qHash(const QUuid &uuid)
-{
- return uuid.data1 ^ uuid.data2 ^ (uuid.data3 << 16)
- ^ ((uuid.data4[0] << 24) | (uuid.data4[1] << 16) | (uuid.data4[2] << 8) | uuid.data4[3])
- ^ ((uuid.data4[4] << 24) | (uuid.data4[5] << 16) | (uuid.data4[6] << 8) | uuid.data4[7]);
-}
-
-
-QT_END_NAMESPACE
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the QtCore module of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QUUID_H
-#define QUUID_H
-
-#include <QtCore/qstring.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-struct Q_CORE_EXPORT QUuid
-{
- enum Variant {
- VarUnknown = -1,
- NCS = 0, // 0 - -
- DCE = 2, // 1 0 -
- Microsoft = 6, // 1 1 0
- Reserved = 7 // 1 1 1
- };
-
- enum Version {
- VerUnknown = -1,
- Time = 1, // 0 0 0 1
- EmbeddedPOSIX = 2, // 0 0 1 0
- Name = 3, // 0 0 1 1
- Random = 4 // 0 1 0 0
- };
-
- QUuid()
- {
- data1 = 0;
- data2 = 0;
- data3 = 0;
- for(int i = 0; i < 8; i++)
- data4[i] = 0;
- }
- QUuid(uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8)
- {
- data1 = l;
- data2 = w1;
- data3 = w2;
- data4[0] = b1;
- data4[1] = b2;
- data4[2] = b3;
- data4[3] = b4;
- data4[4] = b5;
- data4[5] = b6;
- data4[6] = b7;
- data4[7] = b8;
- }
-#ifndef QT_NO_QUUID_STRING
- QUuid(const QString &);
- QUuid(const char *);
- QString toString() const;
- QUuid(const QByteArray &);
- QByteArray toByteArray() const;
-#endif
- QByteArray toRfc4122() const;
- static QUuid fromRfc4122(const QByteArray &);
- bool isNull() const;
-
- bool operator==(const QUuid &orig) const
- {
- if (data1 != orig.data1 || data2 != orig.data2 ||
- data3 != orig.data3)
- return false;
-
- for(int i = 0; i < 8; i++)
- if (data4[i] != orig.data4[i])
- return false;
-
- return true;
- }
-
- bool operator!=(const QUuid &orig) const
- {
- return !(*this == orig);
- }
-
- bool operator<(const QUuid &other) const;
- bool operator>(const QUuid &other) const;
-
- static QUuid createUuid();
- QUuid::Variant variant() const;
- QUuid::Version version() const;
-
- uint data1;
- ushort data2;
- ushort data3;
- uchar data4[8];
-};
-
-#ifndef QT_NO_DATASTREAM
-Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QUuid &);
-Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QUuid &);
-#endif
-
-Q_CORE_EXPORT uint qHash(const QUuid &uuid);
-
-QT_END_NAMESPACE
-
-
-#endif // QUUID_H
{ QLatin1String("QUndoStack"), QLatin1String("QtGui/qundostack.h") },
{ QLatin1String("QUndoView"), QLatin1String("QtGui/qundoview.h") },
{ QLatin1String("QUrl"), QLatin1String("QtCore/qurl.h") },
- { QLatin1String("QUuid"), QLatin1String("QtCore/quuid.h") },
{ QLatin1String("QVBoxLayout"), QLatin1String("QtGui/qboxlayout.h") },
{ QLatin1String("QValidator"), QLatin1String("QtGui/qvalidator.h") },
{ QLatin1String("QVarLengthArray"), QLatin1String("QtCore/qvarlengtharray.h") },
+++ /dev/null
-katie_test(tst_quuid
- ${CMAKE_CURRENT_SOURCE_DIR}/tst_quuid.cpp
-)
-
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-add_executable(quuid_testProcessUniqueness
- ${CMAKE_CURRENT_SOURCE_DIR}/testProcessUniqueness/main.cpp
-)
-target_link_libraries(quuid_testProcessUniqueness KtCore)
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the test suite of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <stdio.h>
-#include <QUuid>
-
-// This is a testcase for QTBUG-11213
-int main(int argc, char **argv)
-{
- Q_UNUSED(argc)
- Q_UNUSED(argv)
-
- // First, break QUuid.
- qrand();
-
- // Now print a few uuids.
- printf("%s", qPrintable(QUuid::createUuid().toRfc4122().toHex()));
- printf("%s", qPrintable(QUuid::createUuid().toRfc4122().toHex()));
- printf("%s", qPrintable(QUuid::createUuid().toRfc4122().toHex()));
-
- // Done
- return 0;
-}
-
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the test suite of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtTest/QtTest>
-
-#include <qcoreapplication.h>
-#include <quuid.h>
-#include <qthread.h>
-#include <qprocess.h>
-#include <qdir.h>
-#include <qvector.h>
-
-//TESTED_CLASS=
-//TESTED_FILES=
-
-class tst_QUuid : public QObject
-{
- Q_OBJECT
-
-public:
- tst_QUuid();
-
-private slots:
- void initTestCase();
- void fromChar();
- void toString();
- void fromString();
- void toByteArray();
- void fromByteArray();
- void toRfc4122();
- void fromRfc4122();
- void check_QDataStream();
- void isNull();
- void equal();
- void notEqual();
-
- // Only in Qt > 3.2.x
- void generate();
- void less();
- void more();
- void variants();
- void versions();
-
- void threadUniqueness();
- void processUniqueness();
-
-public:
- // Variables
- QUuid uuidA;
- QUuid uuidB;
-};
-
-tst_QUuid::tst_QUuid()
-{
- //"{fc69b59e-cc34-4436-a43c-ee95d128b8c5}";
- uuidA = QUuid(0xfc69b59e, 0xcc34 ,0x4436 ,0xa4 ,0x3c ,0xee ,0x95 ,0xd1 ,0x28 ,0xb8 ,0xc5);
-
- //"{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}";
- uuidB = QUuid(0x1ab6e93a ,0xb1cb ,0x4a87 ,0xba ,0x47 ,0xec ,0x7e ,0x99 ,0x03 ,0x9a ,0x7b);
-}
-
-void tst_QUuid::initTestCase()
-{
-}
-
-void tst_QUuid::fromChar()
-{
-#ifndef QT_NO_QUUID_STRING
- QCOMPARE(uuidA, QUuid("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}"));
- QCOMPARE(uuidA, QUuid("fc69b59e-cc34-4436-a43c-ee95d128b8c5}"));
- QCOMPARE(uuidA, QUuid("{fc69b59e-cc34-4436-a43c-ee95d128b8c5"));
- QCOMPARE(uuidA, QUuid("fc69b59e-cc34-4436-a43c-ee95d128b8c5"));
- QCOMPARE(QUuid(), QUuid("{fc69b59e-cc34-4436-a43c-ee95d128b8c"));
- QCOMPARE(QUuid(), QUuid("{fc69b59e-cc34"));
- QCOMPARE(QUuid(), QUuid("fc69b59e-cc34-"));
- QCOMPARE(QUuid(), QUuid("fc69b59e-cc34"));
- QCOMPARE(QUuid(), QUuid("cc34"));
- QCOMPARE(QUuid(), QUuid(NULL));
-
- QCOMPARE(uuidB, QUuid(QString("{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}")));
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::toString()
-{
-#ifndef QT_NO_QUUID_STRING
- QCOMPARE(uuidA.toString(), QString("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}"));
-
- QCOMPARE(uuidB.toString(), QString("{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}"));
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::fromString()
-{
-#ifndef QT_NO_QUUID_STRING
- QCOMPARE(uuidA, QUuid(QString("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}")));
- QCOMPARE(uuidA, QUuid(QString("fc69b59e-cc34-4436-a43c-ee95d128b8c5}")));
- QCOMPARE(uuidA, QUuid(QString("{fc69b59e-cc34-4436-a43c-ee95d128b8c5")));
- QCOMPARE(uuidA, QUuid(QString("fc69b59e-cc34-4436-a43c-ee95d128b8c5")));
- QCOMPARE(QUuid(), QUuid(QString("{fc69b59e-cc34-4436-a43c-ee95d128b8c")));
-
- QCOMPARE(uuidB, QUuid(QString("{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}")));
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::toByteArray()
-{
-#ifndef QT_NO_QUUID_STRING
- QCOMPARE(uuidA.toByteArray(), QByteArray("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}"));
-
- QCOMPARE(uuidB.toByteArray(), QByteArray("{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}"));
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::fromByteArray()
-{
-#ifndef QT_NO_QUUID_STRING
- QCOMPARE(uuidA, QUuid(QByteArray("{fc69b59e-cc34-4436-a43c-ee95d128b8c5}")));
- QCOMPARE(uuidA, QUuid(QByteArray("fc69b59e-cc34-4436-a43c-ee95d128b8c5}")));
- QCOMPARE(uuidA, QUuid(QByteArray("{fc69b59e-cc34-4436-a43c-ee95d128b8c5")));
- QCOMPARE(uuidA, QUuid(QByteArray("fc69b59e-cc34-4436-a43c-ee95d128b8c5")));
- QCOMPARE(QUuid(), QUuid(QByteArray("{fc69b59e-cc34-4436-a43c-ee95d128b8c")));
-
- QCOMPARE(uuidB, QUuid(QByteArray("{1ab6e93a-b1cb-4a87-ba47-ec7e99039a7b}")));
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::toRfc4122()
-{
- QCOMPARE(uuidA.toRfc4122(), QByteArray::fromHex("fc69b59ecc344436a43cee95d128b8c5"));
-
- QCOMPARE(uuidB.toRfc4122(), QByteArray::fromHex("1ab6e93ab1cb4a87ba47ec7e99039a7b"));
-}
-
-void tst_QUuid::fromRfc4122()
-{
- QCOMPARE(uuidA, QUuid::fromRfc4122(QByteArray::fromHex("fc69b59ecc344436a43cee95d128b8c5")));
-
- QCOMPARE(uuidB, QUuid::fromRfc4122(QByteArray::fromHex("1ab6e93ab1cb4a87ba47ec7e99039a7b")));
-}
-
-void tst_QUuid::check_QDataStream()
-{
- QUuid tmp;
- QByteArray ar;
- {
- QDataStream out(&ar,QIODevice::WriteOnly);
- out.setByteOrder(QDataStream::BigEndian);
- out << uuidA;
- }
- {
- QDataStream in(&ar,QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::BigEndian);
- in >> tmp;
- QCOMPARE(uuidA, tmp);
- }
- {
- QDataStream out(&ar,QIODevice::WriteOnly);
- out.setByteOrder(QDataStream::LittleEndian);
- out << uuidA;
- }
- {
- QDataStream in(&ar,QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::LittleEndian);
- in >> tmp;
- QCOMPARE(uuidA, tmp);
- }
-}
-
-void tst_QUuid::isNull()
-{
- QVERIFY( !uuidA.isNull() );
-
- QUuid should_be_null_uuid;
- QVERIFY( should_be_null_uuid.isNull() );
-}
-
-void tst_QUuid::equal()
-{
- QVERIFY( !(uuidA == uuidB) );
-
- QUuid copy(uuidA);
- QVERIFY(uuidA == copy);
-
- QUuid assigned;
- assigned = uuidA;
- QVERIFY(uuidA == assigned);
-}
-
-void tst_QUuid::notEqual()
-{
- QVERIFY( uuidA != uuidB );
-}
-
-void tst_QUuid::generate()
-{
- QUuid shouldnt_be_null_uuidA = QUuid::createUuid();
- QUuid shouldnt_be_null_uuidB = QUuid::createUuid();
- QVERIFY( !shouldnt_be_null_uuidA.isNull() );
- QVERIFY( !shouldnt_be_null_uuidB.isNull() );
- QVERIFY( shouldnt_be_null_uuidA != shouldnt_be_null_uuidB );
-}
-
-void tst_QUuid::less()
-{
- QVERIFY( !(uuidA < uuidB) );
-
- QUuid null_uuid;
- QVERIFY(null_uuid < uuidA); // Null uuid is always less than a valid one
-}
-
-void tst_QUuid::more()
-{
- QVERIFY( uuidA > uuidB );
-
- QUuid null_uuid;
- QVERIFY( !(null_uuid > uuidA) ); // Null uuid is always less than a valid one
-}
-
-void tst_QUuid::variants()
-{
- QVERIFY( uuidA.variant() == QUuid::DCE );
- QVERIFY( uuidB.variant() == QUuid::DCE );
-
-#ifndef QT_NO_QUUID_STRING
- QUuid NCS = "{3a2f883c-4000-000d-0000-00fb40000000}";
- QVERIFY( NCS.variant() == QUuid::NCS );
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_QUuid::versions()
-{
- QVERIFY( uuidA.version() == QUuid::Random );
- QVERIFY( uuidB.version() == QUuid::Random );
-
-#ifndef QT_NO_QUUID_STRING
- QUuid DCE_time = "{406c45a0-3b7e-11d0-80a3-0000c08810a7}";
- QVERIFY( DCE_time.version() == QUuid::Time );
-
- QUuid NCS = "{3a2f883c-4000-000d-0000-00fb40000000}";
- QVERIFY( NCS.version() == QUuid::VerUnknown );
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-class UuidThread : public QThread
-{
-public:
- QUuid uuid;
-
- void run()
- {
- uuid = QUuid::createUuid();
- }
-};
-
-void tst_QUuid::threadUniqueness()
-{
- QVector<UuidThread *> threads(qMax(2, QThread::idealThreadCount()));
- for (int i = 0; i < threads.count(); ++i)
- threads[i] = new UuidThread;
- for (int i = 0; i < threads.count(); ++i)
- threads[i]->start();
- for (int i = 0; i < threads.count(); ++i)
- QVERIFY(threads[i]->wait(1000));
- for (int i = 1; i < threads.count(); ++i)
- QVERIFY(threads[0]->uuid != threads[i]->uuid);
- qDeleteAll(threads);
-}
-
-static inline QByteArray msgCannotStartProcess(const QString &binary, const QString &why)
-{
- return QString::fromLatin1("Cannot start '%1' from '%2': %3")
- .arg(QDir::toNativeSeparators(binary),
- QDir::toNativeSeparators(QDir::currentPath()),
- why).toLocal8Bit();
-}
-
-void tst_QUuid::processUniqueness()
-{
- QDir workingDirectory = QCoreApplication::applicationDirPath();
- const QString binary = workingDirectory.absoluteFilePath(QLatin1String("quuid_testProcessUniqueness"));
-
- // Start it once
- QProcess process;
- process.start(binary);
- QVERIFY2(process.waitForStarted(), msgCannotStartProcess(binary, process.errorString()).constData());
- QVERIFY(process.waitForFinished());
- const QByteArray processOneOutput = process.readAllStandardOutput();
-
- // Start it twice
- process.start(binary);
- QVERIFY2(process.waitForStarted(), msgCannotStartProcess(binary, process.errorString()).constData());
- QVERIFY(process.waitForFinished());
- const QByteArray processTwoOutput = process.readAllStandardOutput();
-
- // They should be *different*!
- QVERIFY(processOneOutput != processTwoOutput);
-}
-
-QTEST_MAIN(tst_QUuid)
-
-#include "moc_tst_quuid.cpp"
+++ /dev/null
-katie_test(tst_bench_quuid
- ${CMAKE_CURRENT_SOURCE_DIR}/tst_quuid.cpp
-)
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the test suite of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/QCoreApplication>
-#include <QtCore/QUuid>
-#include <QtTest/QtTest>
-
-QT_USE_NAMESPACE
-
-class tst_bench_QUuid : public QObject
-{
- Q_OBJECT
-
-public:
- tst_bench_QUuid()
- { }
-
-private slots:
- void qRandomUuid_vs_createUuid_data();
- void qRandomUuid_vs_createUuid();
- void createUuid();
- void fromChar();
- void toString();
- void fromString();
- void toByteArray();
- void fromByteArray();
- void toRfc4122();
- void fromRfc4122();
- void toDataStream();
- void fromDataStream();
- void isNull();
- void operatorLess();
- void operatorMore();
-};
-
-void tst_bench_QUuid::qRandomUuid_vs_createUuid_data()
-{
- QTest::addColumn<bool>("qrandomuuid");
-
- QTest::newRow("qRandomUuid()") << true;
- QTest::newRow("QUuid::createUuid") << false;
-}
-
-void tst_bench_QUuid::qRandomUuid_vs_createUuid()
-{
- QFETCH(bool, qrandomuuid);
-
- if (qrandomuuid) {
- QBENCHMARK {
- (void)qRandomUuid();
- }
- } else {
- QBENCHMARK {
- (void)QUuid::createUuid().toByteArray();
- }
- }
-}
-
-void tst_bench_QUuid::createUuid()
-{
- QBENCHMARK {
- QUuid::createUuid();
- }
-}
-
-void tst_bench_QUuid::fromChar()
-{
-#ifndef QT_NO_QUUID_STRING
- QBENCHMARK {
- QUuid uuid("{67C8770B-44F1-410A-AB9A-F9B5446F13EE}");
- }
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_bench_QUuid::toString()
-{
-#ifndef QT_NO_QUUID_STRING
- QUuid uuid = QUuid::createUuid();
- QBENCHMARK {
- uuid.toString();
- }
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_bench_QUuid::fromString()
-{
-#ifndef QT_NO_QUUID_STRING
- QString string = QLatin1String("{67C8770B-44F1-410A-AB9A-F9B5446F13EE}");
- QBENCHMARK {
- QUuid uuid(string);
- }
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_bench_QUuid::toByteArray()
-{
-#ifndef QT_NO_QUUID_STRING
- QUuid uuid = QUuid::createUuid();
- QBENCHMARK {
- uuid.toByteArray();
- }
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_bench_QUuid::fromByteArray()
-{
-#ifndef QT_NO_QUUID_STRING
- QByteArray string = "{67C8770B-44F1-410A-AB9A-F9B5446F13EE}";
- QBENCHMARK {
- QUuid uuid(string);
- }
-#else // QT_NO_QUUID_STRING
- QSKIP("Katie compiled without uuid from/to string support (QT_NO_QUUID_STRING)", SkipAll);
-#endif // QT_NO_QUUID_STRING
-}
-
-void tst_bench_QUuid::toRfc4122()
-{
- QUuid uuid = QUuid::createUuid();
- QBENCHMARK {
- uuid.toRfc4122();
- }
-}
-
-void tst_bench_QUuid::fromRfc4122()
-{
- QByteArray string = QByteArray::fromHex("67C8770B44F1410AAB9AF9B5446F13EE");
- QBENCHMARK {
- QUuid::fromRfc4122(string);
- }
-}
-
-void tst_bench_QUuid::toDataStream()
-{
- QUuid uuid1, uuid2;
- uuid1 = QUuid::createUuid();
- QByteArray ar;
- {
- QDataStream out(&ar,QIODevice::WriteOnly);
- QBENCHMARK {
- out << uuid1;
- }
- }
-}
-
-void tst_bench_QUuid::fromDataStream()
-{
- QUuid uuid1, uuid2;
- uuid1 = QUuid::createUuid();
- QByteArray ar;
- {
- QDataStream out(&ar,QIODevice::WriteOnly);
- out << uuid1;
- }
- {
- QDataStream in(&ar,QIODevice::ReadOnly);
- QBENCHMARK {
- in >> uuid2;
- }
- }
-}
-
-void tst_bench_QUuid::isNull()
-{
- QUuid uuid = QUuid();
- QBENCHMARK {
- uuid.isNull();
- }
-}
-
-void tst_bench_QUuid::operatorLess()
-{
- QUuid uuid1, uuid2;
- uuid1 = QUuid::createUuid();
- uuid2 = QUuid::createUuid();
- QBENCHMARK {
- (void)(uuid1 < uuid2);
- }
-}
-
-void tst_bench_QUuid::operatorMore()
-{
- QUuid uuid1, uuid2;
- uuid1 = QUuid::createUuid();
- uuid2 = QUuid::createUuid();
- QBENCHMARK {
- (void)(uuid1 > uuid2);
- }
-}
-
-QTEST_MAIN(tst_bench_QUuid);
-
-#include "moc_tst_quuid.cpp"