summaryrefslogtreecommitdiff
path: root/library/quuid.h
Unidiff
Diffstat (limited to 'library/quuid.h') (more/less context) (show whitespace changes)
-rw-r--r--library/quuid.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/library/quuid.h b/library/quuid.h
index 4f7a720..841a00f 100644
--- a/library/quuid.h
+++ b/library/quuid.h
@@ -1,28 +1,28 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#ifndef QUUID_H 21#ifndef QUUID_H
22#define QUUID_H 22#define QUUID_H
23 23
24#ifndef QT_H 24#ifndef QT_H
25#include <qstring.h> 25#include <qstring.h>
26#endif // QT_H 26#endif // QT_H
27 27
28#include <memory.h> 28#include <memory.h>
@@ -69,74 +69,95 @@ struct Q_EXPORT QUuid
69 memcpy( this, &uuid, sizeof(QUuid) ); 69 memcpy( this, &uuid, sizeof(QUuid) );
70 } 70 }
71#ifndef QT_NO_QUUID_STRING 71#ifndef QT_NO_QUUID_STRING
72 QUuid( const QString & ); 72 QUuid( const QString & );
73 QString toString() const; 73 QString toString() const;
74#endif 74#endif
75 bool isNull() const; 75 bool isNull() const;
76 76
77 QUuid &operator=(const QUuid &orig ) 77 QUuid &operator=(const QUuid &orig )
78 { 78 {
79 memcpy( this, &orig, sizeof(QUuid) ); 79 memcpy( this, &orig, sizeof(QUuid) );
80 return *this; 80 return *this;
81 } 81 }
82 82
83 bool operator==(const QUuid &orig ) const 83 bool operator==(const QUuid &orig ) const
84 { 84 {
85 return !memcmp( this, &orig, sizeof(QUuid) ); 85 return !memcmp( this, &orig, sizeof(QUuid) );
86 } 86 }
87 87
88 bool operator!=(const QUuid &orig ) const 88 bool operator!=(const QUuid &orig ) const
89 { 89 {
90 return !( *this == orig ); 90 return !( *this == orig );
91 } 91 }
92 92
93 inline bool operator<(const QUuid &orig) const
94 {
95 return ( memcmp(this, &orig, sizeof(QUuid)) < 0);
96 }
97
98 inline bool operator>(const QUuid &orig) const
99 {
100 return ( memcmp(this, &orig, sizeof(QUuid) ) > 0);
101 }
102
93#if defined(Q_OS_WIN32) 103#if defined(Q_OS_WIN32)
94 // On Windows we have a type GUID that is used by the platform API, so we 104 // On Windows we have a type GUID that is used by the platform API, so we
95 // provide convenience operators to cast from and to this type. 105 // provide convenience operators to cast from and to this type.
96 QUuid( const GUID &guid ) 106 QUuid( const GUID &guid )
97 { 107 {
98 memcpy( this, &guid, sizeof(GUID) ); 108 memcpy( this, &guid, sizeof(GUID) );
99 } 109 }
100 110
101 QUuid &operator=(const GUID &orig ) 111 QUuid &operator=(const GUID &orig )
102 { 112 {
103 memcpy( this, &orig, sizeof(QUuid) ); 113 memcpy( this, &orig, sizeof(QUuid) );
104 return *this; 114 return *this;
105 } 115 }
106 116
107 operator GUID() const 117 operator GUID() const
108 { 118 {
109 GUID guid = { data1, data2, data3, { data4[0], data4[1], data4[2], data4[3], data4[4], data4[5], data4[6], data4[7] } }; 119 GUID guid = { data1, data2, data3, { data4[0], data4[1], data4[2], data4[3], data4[4], data4[5], data4[6], data4[7] } };
110 return guid; 120 return guid;
111 } 121 }
112 122
113 bool operator==( const GUID &guid ) const 123 bool operator==( const GUID &guid ) const
114 { 124 {
115 return !memcmp( this, &guid, sizeof(QUuid) ); 125 return !memcmp( this, &guid, sizeof(QUuid) );
116 } 126 }
117 127
118 bool operator!=( const GUID &guid ) const 128 bool operator!=( const GUID &guid ) const
119 { 129 {
120 return !( *this == guid ); 130 return !( *this == guid );
121 } 131 }
132
133 inline bool operator<(const QUuid &orig) const
134 {
135 return ( memcmp(this, &orig, sizeof(QUuid) ) < 0);
136 }
137
138 inline bool operator>(const QUuid &orig) const
139 {
140 return ( memcmp(this, &orig, sizeof(QUuid) ) > 0);
141 }
142
122#endif 143#endif
123#if defined (Q_WS_QWS) 144#if defined (Q_WS_QWS)
124 QUuid( uuid_t uuid ) 145 QUuid( uuid_t uuid )
125 { 146 {
126 memcpy( this, &uuid, sizeof(uuid_t) ); 147 memcpy( this, uuid, sizeof(uuid_t) );
127 } 148 }
128 149
129 QUuid &operator=(const uuid_t &orig ) 150 QUuid &operator=(const uuid_t &orig )
130 { 151 {
131 memcpy( this, &orig, sizeof(uuid_t) ); 152 memcpy( this, &orig, sizeof(uuid_t) );
132 return *this; 153 return *this;
133 } 154 }
134#endif 155#endif
135 156
136 ulong data1; 157 ulong data1;
137 ushort data2; 158 ushort data2;
138 ushort data3; 159 ushort data3;
139 uchar data4[ 8 ]; 160 uchar data4[ 8 ];
140}; 161};
141 162
142#endif //QUUID_H 163#endif //QUUID_H