summaryrefslogtreecommitdiff
path: root/qmake/include/private/qucom_p.h
Unidiff
Diffstat (limited to 'qmake/include/private/qucom_p.h') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/private/qucom_p.h76
1 files changed, 20 insertions, 56 deletions
diff --git a/qmake/include/private/qucom_p.h b/qmake/include/private/qucom_p.h
index d2ff48e..6b6ad40 100644
--- a/qmake/include/private/qucom_p.h
+++ b/qmake/include/private/qucom_p.h
@@ -1,314 +1,314 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of the QUcom interfaces 4** Definition of the QUcom interfaces
5** 5**
6** Created : 990101 6** Created : 990101
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QUCOM_H 38#ifndef QUCOM_P_H
39#define QUCOM_H 39#define QUCOM_P_H
40
41#ifndef QT_H
42#include <qstring.h>
43#include "quuid.h"
44#endif // QT_H
45 40
46// 41//
47// W A R N I N G 42// W A R N I N G
48// ------------- 43// -------------
49// 44//
50// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
51// of a number of Qt sources files. This header file may change from 46// of a number of Qt sources files. This header file may change from
52// version to version without notice, or even be removed. 47// version to version without notice, or even be removed.
53// 48//
54// We mean it. 49// We mean it.
55// 50//
56// 51//
57 52
53#ifndef QT_H
54#include <qstring.h>
55#include "quuid.h"
56#endif // QT_H
57
58#ifdef check 58#ifdef check
59#undef check 59#undef check
60#endif 60#endif
61 61
62struct QUObject; 62struct QUObject;
63struct QUInterfaceDescription; 63struct QUInterfaceDescription;
64struct QUnknownInterface; 64struct QUnknownInterface;
65struct QDispatchInterface; 65struct QDispatchInterface;
66 66
67 67
68struct Q_EXPORT QUBuffer 68struct Q_EXPORT QUBuffer
69{ 69{
70 virtual long read( char *data, ulong maxlen ) = 0; 70 virtual long read( char *data, ulong maxlen ) = 0;
71 virtual long write( const char *data, ulong len ) = 0; 71 virtual long write( const char *data, ulong len ) = 0;
72}; 72};
73 73
74 74
75// A type for a QUObject 75// A type for a QUObject
76struct Q_EXPORT QUType 76struct Q_EXPORT QUType
77{ 77{
78 virtual const QUuid *uuid() const = 0; 78 virtual const QUuid *uuid() const = 0;
79 virtual const char *desc() const = 0; 79 virtual const char *desc() const = 0;
80 80
81 81
82 virtual bool canConvertFrom( QUObject *, QUType * ) = 0; 82 virtual bool canConvertFrom( QUObject *, QUType * ) = 0;
83 // virtual private, only called by canConvertFrom 83 // virtual private, only called by canConvertFrom
84 virtual bool canConvertTo( QUObject *, QUType * ) = 0; 84 virtual bool canConvertTo( QUObject *, QUType * ) = 0;
85 85
86 86
87 virtual bool convertFrom( QUObject *, QUType * ) = 0; 87 virtual bool convertFrom( QUObject *, QUType * ) = 0;
88 // virtual private, only called by convertFrom 88 // virtual private, only called by convertFrom
89 virtual bool convertTo( QUObject *, QUType * ) = 0; 89 virtual bool convertTo( QUObject *, QUType * ) = 0;
90 90
91 virtual void clear( QUObject * ) = 0; 91 virtual void clear( QUObject * ) = 0;
92 92
93 virtual int serializeTo( QUObject *, QUBuffer * ) = 0; 93 virtual int serializeTo( QUObject *, QUBuffer * ) = 0;
94 virtual int serializeFrom( QUObject *, QUBuffer * ) = 0; 94 virtual int serializeFrom( QUObject *, QUBuffer * ) = 0;
95 95
96 static bool isEqual( const QUType *t1, const QUType *t2 ); 96 static bool isEqual( const QUType *t1, const QUType *t2 );
97 static bool check( QUObject* o, QUType* t ); 97 static bool check( QUObject* o, QUType* t );
98}; 98};
99 99
100 100
101// {DE56510E-4E9F-4b76-A3C2-D1E2EF42F1AC} 101// {DE56510E-4E9F-4b76-A3C2-D1E2EF42F1AC}
102extern Q_EXPORT const QUuid TID_QUType_Null; 102extern Q_EXPORT const QUuid TID_QUType_Null;
103struct Q_EXPORT QUType_Null : public QUType 103struct Q_EXPORT QUType_Null : public QUType
104{ 104{
105 const QUuid *uuid() const; 105 const QUuid *uuid() const;
106 const char *desc() const; 106 const char *desc() const;
107 107
108 bool canConvertFrom( QUObject *, QUType * ); 108 bool canConvertFrom( QUObject *, QUType * );
109 bool canConvertTo( QUObject *, QUType * ); 109 bool canConvertTo( QUObject *, QUType * );
110 bool convertFrom( QUObject *, QUType * ); 110 bool convertFrom( QUObject *, QUType * );
111 bool convertTo( QUObject *, QUType * ); 111 bool convertTo( QUObject *, QUType * );
112 void clear( QUObject * ); 112 void clear( QUObject * );
113 int serializeTo( QUObject *, QUBuffer * ); 113 int serializeTo( QUObject *, QUBuffer * );
114 int serializeFrom( QUObject *, QUBuffer * ); 114 int serializeFrom( QUObject *, QUBuffer * );
115}; 115};
116extern Q_EXPORT QUType_Null static_QUType_Null; 116extern Q_EXPORT QUType_Null static_QUType_Null;
117 117
118 118
119// The magic QUObject 119// The magic QUObject
120struct Q_EXPORT QUObject 120struct Q_EXPORT QUObject
121{ 121{
122public: // scary MSVC bug makes this necessary 122public: // scary MSVC bug makes this necessary
123 QUObject() : type( &static_QUType_Null ) {} 123 QUObject() : type( &static_QUType_Null ) {}
124 ~QUObject() { type->clear( this ); } 124 ~QUObject() { type->clear( this ); }
125 125
126 QUType *type; 126 QUType *type;
127 127
128 // the unavoidable union 128 // the unavoidable union
129 union 129 union
130 { 130 {
131 bool b; 131 bool b;
132 132
133 char c; 133 char c;
134 short s; 134 short s;
135 int i; 135 int i;
136 long l; 136 long l;
137 137
138 unsigned char uc; 138 unsigned char uc;
139 unsigned short us; 139 unsigned short us;
140 unsigned int ui; 140 unsigned int ui;
141 unsigned long ul; 141 unsigned long ul;
142 142
143 float f; 143 float f;
144 double d; 144 double d;
145 145
146 char byte[16]; 146 char byte[16];
147 147
148 struct { 148 struct {
149 char* data; 149 char* data;
150 unsigned long size; 150 unsigned long size;
151 } bytearray; 151 } bytearray;
152 152
153 void* ptr; 153 void* ptr;
154 154
155 struct { 155 struct {
156 void *ptr; 156 void *ptr;
157 bool owner; 157 bool owner;
158 } voidstar; 158 } voidstar;
159 159
160 struct { 160 struct {
161 char *ptr; 161 char *ptr;
162 bool owner; 162 bool owner;
163 } charstar; 163 } charstar;
164 164
165 struct { 165 struct {
166 char *ptr; 166 char *ptr;
167 bool owner; 167 bool owner;
168 } utf8; 168 } utf8;
169 169
170 struct { 170 struct {
171 char *ptr; 171 char *ptr;
172 bool owner; 172 bool owner;
173 } local8bit; 173 } local8bit;
174 174
175 QUnknownInterface* iface; 175 QUnknownInterface* iface;
176 QDispatchInterface* idisp; 176 QDispatchInterface* idisp;
177 177
178 } payload; 178 } payload;
179 179
180}; 180};
181 181
182 182
183// A parameter description describes one method parameters. A 183// A parameter description describes one method parameters. A
184// parameter has a name, a type and a flag describing whether it's an 184// parameter has a name, a type and a flag describing whether it's an
185// in parameter, an out parameter, or both ways 185// in parameter, an out parameter, or both ways
186struct Q_EXPORT QUParameter 186struct Q_EXPORT QUParameter
187{ 187{
188 const char* name; 188 const char* name;
189 QUType *type; 189 QUType *type;
190 const void* typeExtra; //Usually 0, UEnum* for QUType_enum, const char* for QUType_ptr, int* for QUType_varptr 190 const void* typeExtra; //Usually 0, UEnum* for QUType_enum, const char* for QUType_ptr, int* for QUType_varptr
191 enum { In = 1, Out = 2, InOut = In | Out }; 191 enum { In = 1, Out = 2, InOut = In | Out };
192 int inOut; 192 int inOut;
193}; 193};
194 194
195// A method description describes one method. A method has a name and 195// A method description describes one method. A method has a name and
196// an array of parameters. 196// an array of parameters.
197struct Q_EXPORT QUMethod 197struct Q_EXPORT QUMethod
198{ 198{
199 const char* name; 199 const char* name;
200 int count; 200 int count;
201 const QUParameter* parameters; 201 const QUParameter* parameters;
202}; 202};
203 203
204// A Property description. Not used yet in the example. 204// A Property description. Not used yet in the example.
205struct Q_EXPORT QUProperty 205struct Q_EXPORT QUProperty
206{ 206{
207 const char* name; 207 const char* name;
208 QUType* type; 208 QUType* type;
209 const void* typeExtra; //type dependend. Usually 0, but UEnum for QUTypeenum or const char* for QUTypeptr 209 const void* typeExtra; //type dependend. Usually 0, but UEnum for QUTypeenum or const char* for QUTypeptr
210 210
211 int set; // -1 undefined 211 int set; // -1 undefined
212 int get; // -1 undefined 212 int get; // -1 undefined
213 213
214 int designable; // -1 FALSE, -2 TRUE, else method 214 int designable; // -1 FALSE, -2 TRUE, else method
215 int stored; // -1 FALSE, -2 TRUE, else method 215 int stored; // -1 FALSE, -2 TRUE, else method
216}; 216};
217 217
218// An interface description describes one interface, that is all its 218// An interface description describes one interface, that is all its
219// methods and properties. 219// methods and properties.
220struct Q_EXPORT QUInterfaceDescription 220struct Q_EXPORT QUInterfaceDescription
221{ 221{
222 int methodCount; 222 int methodCount;
223 const QUMethod* methods; 223 const QUMethod* methods;
224 int propertyCount; 224 int propertyCount;
225 const QUProperty* properties; 225 const QUProperty* properties;
226}; 226};
227 227
228 228
229// A component description describe one component, that is its name, 229// A component description describe one component, that is its name,
230// vendor, release, info, its component uuid and all its interface 230// vendor, release, info, its component uuid and all its interface
231// uuids. 231// uuids.
232struct Q_EXPORT QUComponentDescription 232struct Q_EXPORT QUComponentDescription
233{ 233{
234 const char* name; 234 const char* name;
235 const char* vendor; 235 const char* vendor;
236 const char* release; 236 const char* release;
237 const char* info; 237 const char* info;
238 QUuid cid; 238 QUuid cid;
239 int count; 239 int count;
240 const QUuid* interfaces; 240 const QUuid* interfaces;
241}; 241};
242 242
243 243
244// A component server description describe one component server, that 244// A component server description describe one component server, that
245// is its name, vendor, release, info and the descriptions of all 245// is its name, vendor, release, info and the descriptions of all
246// components it can instantiate. 246// components it can instantiate.
247struct Q_EXPORT QUComponentServerDescription 247struct Q_EXPORT QUComponentServerDescription
248{ 248{
249 const char* name; 249 const char* name;
250 const char* vendor; 250 const char* vendor;
251 const char* release; 251 const char* release;
252 const char* info; 252 const char* info;
253 int count; 253 int count;
254 const QUComponentDescription* components; 254 const QUComponentDescription* components;
255}; 255};
256 256
257 257
258 258
259 struct Q_EXPORT QUEnumItem // - a name/value pair 259 struct Q_EXPORT QUEnumItem // - a name/value pair
260{ 260{
261 const char *key; 261 const char *key;
262 int value; 262 int value;
263}; 263};
264 264
265struct Q_EXPORT QUEnum 265struct Q_EXPORT QUEnum
266 { 266{
267 const char *name; // - enumerator name 267 const char *name; // - enumerator name
268 unsigned int count; // - number of values 268 unsigned int count; // - number of values
269 const QUEnumItem *items; // - the name/value pairs 269 const QUEnumItem *items; // - the name/value pairs
270 bool set; // whether enum has to be treated as a set 270 bool set; // whether enum has to be treated as a set
271}; 271};
272 272
273inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) { 273inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) {
274 return t1 == t2 || t1->uuid() == t2->uuid() || 274 return t1 == t2 || t1->uuid() == t2->uuid() ||
275 *(t1->uuid()) == *(t2->uuid()); 275 *(t1->uuid()) == *(t2->uuid());
276} 276}
277 277
278inline bool QUType::check( QUObject* o, QUType* t ) { 278inline bool QUType::check( QUObject* o, QUType* t ) {
279 return isEqual( o->type, t ) || t->convertFrom( o, o->type ); 279 return isEqual( o->type, t ) || t->convertFrom( o, o->type );
280} 280}
281 281
282 282
283 283
284// {7EE17B08-5419-47e2-9776-8EEA112DCAEC} 284// {7EE17B08-5419-47e2-9776-8EEA112DCAEC}
285extern Q_EXPORT const QUuid TID_QUType_enum; 285extern Q_EXPORT const QUuid TID_QUType_enum;
286struct Q_EXPORT QUType_enum : public QUType 286struct Q_EXPORT QUType_enum : public QUType
287{ 287{
288 const QUuid *uuid() const; 288 const QUuid *uuid() const;
289 const char *desc() const; 289 const char *desc() const;
290 290
291 void set( QUObject *, int ); 291 void set( QUObject *, int );
292 int &get( QUObject * o ) { return o->payload.i; } 292 int &get( QUObject * o ) { return o->payload.i; }
293 bool canConvertFrom( QUObject *, QUType * ); 293 bool canConvertFrom( QUObject *, QUType * );
294 bool canConvertTo( QUObject *, QUType * ); 294 bool canConvertTo( QUObject *, QUType * );
295 bool convertFrom( QUObject *, QUType * ); 295 bool convertFrom( QUObject *, QUType * );
296 bool convertTo( QUObject *, QUType * ); 296 bool convertTo( QUObject *, QUType * );
297 void clear( QUObject * ) {} 297 void clear( QUObject * ) {}
298 int serializeTo( QUObject *, QUBuffer * ); 298 int serializeTo( QUObject *, QUBuffer * );
299 int serializeFrom( QUObject *, QUBuffer * ); 299 int serializeFrom( QUObject *, QUBuffer * );
300}; 300};
301extern Q_EXPORT QUType_enum static_QUType_enum; 301extern Q_EXPORT QUType_enum static_QUType_enum;
302 302
303 303
304// {8AC26448-5AB4-49eb-968C-8F30AB13D732} 304// {8AC26448-5AB4-49eb-968C-8F30AB13D732}
305extern Q_EXPORT const QUuid TID_QUType_ptr; 305extern Q_EXPORT const QUuid TID_QUType_ptr;
306struct Q_EXPORT QUType_ptr : public QUType 306struct Q_EXPORT QUType_ptr : public QUType
307{ 307{
308 const QUuid *uuid() const; 308 const QUuid *uuid() const;
309 const char *desc() const; 309 const char *desc() const;
310 310
311 void set( QUObject *, const void* ); 311 void set( QUObject *, const void* );
312 void* &get( QUObject * o ) { return o->payload.ptr; } 312 void* &get( QUObject * o ) { return o->payload.ptr; }
313 bool canConvertFrom( QUObject *, QUType * ); 313 bool canConvertFrom( QUObject *, QUType * );
314 bool canConvertTo( QUObject *, QUType * ); 314 bool canConvertTo( QUObject *, QUType * );
@@ -351,149 +351,113 @@ struct Q_EXPORT QUType_idisp : public QUType
351 bool canConvertFrom( QUObject *, QUType * ); 351 bool canConvertFrom( QUObject *, QUType * );
352 bool canConvertTo( QUObject *, QUType * ); 352 bool canConvertTo( QUObject *, QUType * );
353 bool convertFrom( QUObject *, QUType * ); 353 bool convertFrom( QUObject *, QUType * );
354 bool convertTo( QUObject *, QUType * ); 354 bool convertTo( QUObject *, QUType * );
355 void clear( QUObject * ) {} 355 void clear( QUObject * ) {}
356 int serializeTo( QUObject *, QUBuffer * ); 356 int serializeTo( QUObject *, QUBuffer * );
357 int serializeFrom( QUObject *, QUBuffer * ); 357 int serializeFrom( QUObject *, QUBuffer * );
358}; 358};
359extern Q_EXPORT QUType_idisp static_QUType_idisp; 359extern Q_EXPORT QUType_idisp static_QUType_idisp;
360 360
361// {CA42115D-13D0-456c-82B5-FC10187F313E} 361// {CA42115D-13D0-456c-82B5-FC10187F313E}
362extern Q_EXPORT const QUuid TID_QUType_bool; 362extern Q_EXPORT const QUuid TID_QUType_bool;
363struct Q_EXPORT QUType_bool : public QUType 363struct Q_EXPORT QUType_bool : public QUType
364{ 364{
365 const QUuid *uuid() const; 365 const QUuid *uuid() const;
366 const char *desc() const; 366 const char *desc() const;
367 367
368 void set( QUObject *, bool ); 368 void set( QUObject *, bool );
369 bool &get( QUObject *o ) { return o->payload.b; } 369 bool &get( QUObject *o ) { return o->payload.b; }
370 bool canConvertFrom( QUObject *, QUType * ); 370 bool canConvertFrom( QUObject *, QUType * );
371 bool canConvertTo( QUObject *, QUType * ); 371 bool canConvertTo( QUObject *, QUType * );
372 bool convertFrom( QUObject *, QUType * ); 372 bool convertFrom( QUObject *, QUType * );
373 bool convertTo( QUObject *, QUType * ); 373 bool convertTo( QUObject *, QUType * );
374 void clear( QUObject * ) {} 374 void clear( QUObject * ) {}
375 int serializeTo( QUObject *, QUBuffer * ); 375 int serializeTo( QUObject *, QUBuffer * );
376 int serializeFrom( QUObject *, QUBuffer * ); 376 int serializeFrom( QUObject *, QUBuffer * );
377}; 377};
378extern Q_EXPORT QUType_bool static_QUType_bool; 378extern Q_EXPORT QUType_bool static_QUType_bool;
379 379
380// {53C1F3BE-73C3-4c7d-9E05-CCF09EB676B5} 380// {53C1F3BE-73C3-4c7d-9E05-CCF09EB676B5}
381extern Q_EXPORT const QUuid TID_QUType_int; 381extern Q_EXPORT const QUuid TID_QUType_int;
382struct Q_EXPORT QUType_int : public QUType 382struct Q_EXPORT QUType_int : public QUType
383{ 383{
384 const QUuid *uuid() const; 384 const QUuid *uuid() const;
385 const char *desc() const; 385 const char *desc() const;
386 386
387 void set( QUObject *, int ); 387 void set( QUObject *, int );
388 int &get( QUObject *o ) { return o->payload.i; } 388 int &get( QUObject *o ) { return o->payload.i; }
389 bool canConvertFrom( QUObject *, QUType * ); 389 bool canConvertFrom( QUObject *, QUType * );
390 bool canConvertTo( QUObject *, QUType * ); 390 bool canConvertTo( QUObject *, QUType * );
391 bool convertFrom( QUObject *, QUType * ); 391 bool convertFrom( QUObject *, QUType * );
392 bool convertTo( QUObject *, QUType * ); 392 bool convertTo( QUObject *, QUType * );
393 void clear( QUObject * ) {} 393 void clear( QUObject * ) {}
394 int serializeTo( QUObject *, QUBuffer * ); 394 int serializeTo( QUObject *, QUBuffer * );
395 int serializeFrom( QUObject *, QUBuffer * ); 395 int serializeFrom( QUObject *, QUBuffer * );
396}; 396};
397extern Q_EXPORT QUType_int static_QUType_int; 397extern Q_EXPORT QUType_int static_QUType_int;
398 398
399// {5938712A-C496-11D5-8CB2-00C0F03BC0F3}
400extern Q_EXPORT const QUuid TID_QUType_uint;
401struct Q_EXPORT QUType_uint : public QUType
402{
403 const QUuid *uuid() const;
404 const char *desc() const;
405
406 void set( QUObject *, uint );
407 uint &get( QUObject *o ) { return o->payload.ui; }
408 bool canConvertFrom( QUObject *, QUType * );
409 bool canConvertTo( QUObject *, QUType * );
410 bool convertFrom( QUObject *, QUType * );
411 bool convertTo( QUObject *, QUType * );
412 void clear( QUObject * ) {}
413 int serializeTo( QUObject *, QUBuffer * );
414 int serializeFrom( QUObject *, QUBuffer * );
415};
416extern Q_EXPORT QUType_uint static_QUType_uint;
417 399
418// {2D0974E5-0BA6-4ec2-8837-C198972CB48C} 400// {2D0974E5-0BA6-4ec2-8837-C198972CB48C}
419extern Q_EXPORT const QUuid TID_QUType_double; 401extern Q_EXPORT const QUuid TID_QUType_double;
420struct Q_EXPORT QUType_double : public QUType 402struct Q_EXPORT QUType_double : public QUType
421{ 403{
422 const QUuid *uuid() const; 404 const QUuid *uuid() const;
423 const char *desc() const; 405 const char *desc() const;
424 406
425 void set( QUObject *, double ); 407 void set( QUObject *, double );
426 double &get( QUObject *o ) { return o->payload.d; } 408 double &get( QUObject *o ) { return o->payload.d; }
427 bool canConvertFrom( QUObject *, QUType * ); 409 bool canConvertFrom( QUObject *, QUType * );
428 bool canConvertTo( QUObject *, QUType * ); 410 bool canConvertTo( QUObject *, QUType * );
429 bool convertFrom( QUObject *, QUType * ); 411 bool convertFrom( QUObject *, QUType * );
430 bool convertTo( QUObject *, QUType * ); 412 bool convertTo( QUObject *, QUType * );
431 void clear( QUObject * ) {} 413 void clear( QUObject * ) {}
432 int serializeTo( QUObject *, QUBuffer * ); 414 int serializeTo( QUObject *, QUBuffer * );
433 int serializeFrom( QUObject *, QUBuffer * ); 415 int serializeFrom( QUObject *, QUBuffer * );
434}; 416};
435extern Q_EXPORT QUType_double static_QUType_double; 417extern Q_EXPORT QUType_double static_QUType_double;
436 418
437// {544C5175-6993-4486-B04D-CEC4D21BF4B9 }
438extern Q_EXPORT const QUuid TID_QUType_float;
439struct Q_EXPORT QUType_float : public QUType
440{
441 const QUuid *uuid() const;
442 const char *desc() const;
443
444 void set( QUObject *, float );
445 float &get( QUObject *o ) { return o->payload.f; }
446 bool canConvertFrom( QUObject *, QUType * );
447 bool canConvertTo( QUObject *, QUType * );
448 bool convertFrom( QUObject *, QUType * );
449 bool convertTo( QUObject *, QUType * );
450 void clear( QUObject * ) {}
451 int serializeTo( QUObject *, QUBuffer * );
452 int serializeFrom( QUObject *, QUBuffer * );
453};
454extern Q_EXPORT QUType_float static_QUType_float;
455 419
456// {EFCDD1D4-77A3-4b8e-8D46-DC14B8D393E9} 420// {EFCDD1D4-77A3-4b8e-8D46-DC14B8D393E9}
457extern Q_EXPORT const QUuid TID_QUType_charstar; 421extern Q_EXPORT const QUuid TID_QUType_charstar;
458struct Q_EXPORT QUType_charstar : public QUType 422struct Q_EXPORT QUType_charstar : public QUType
459{ 423{
460 const QUuid *uuid() const; 424 const QUuid *uuid() const;
461 const char *desc() const; 425 const char *desc() const;
462 426
463 void set( QUObject *, const char*, bool take = FALSE ); 427 void set( QUObject *, const char*, bool take = FALSE );
464 char* get( QUObject *o ){ return o->payload.charstar.ptr; } 428 char* get( QUObject *o ){ return o->payload.charstar.ptr; }
465 bool canConvertFrom( QUObject *, QUType * ); 429 bool canConvertFrom( QUObject *, QUType * );
466 bool canConvertTo( QUObject *, QUType * ); 430 bool canConvertTo( QUObject *, QUType * );
467 bool convertFrom( QUObject *, QUType * ); 431 bool convertFrom( QUObject *, QUType * );
468 bool convertTo( QUObject *, QUType * ); 432 bool convertTo( QUObject *, QUType * );
469 void clear( QUObject * ); 433 void clear( QUObject * );
470 int serializeTo( QUObject *, QUBuffer * ); 434 int serializeTo( QUObject *, QUBuffer * );
471 int serializeFrom( QUObject *, QUBuffer * ); 435 int serializeFrom( QUObject *, QUBuffer * );
472 436
473}; 437};
474extern Q_EXPORT QUType_charstar static_QUType_charstar; 438extern Q_EXPORT QUType_charstar static_QUType_charstar;
475 439
476// {44C2A547-01E7-4e56-8559-35AF9D2F42B7} 440// {44C2A547-01E7-4e56-8559-35AF9D2F42B7}
477extern const QUuid TID_QUType_QString; 441extern const QUuid TID_QUType_QString;
478 442
479struct Q_EXPORT QUType_QString : public QUType 443struct Q_EXPORT QUType_QString : public QUType
480{ 444{
481 const QUuid *uuid() const; 445 const QUuid *uuid() const;
482 const char *desc() const; 446 const char *desc() const;
483 447
484 void set( QUObject *, const QString & ); 448 void set( QUObject *, const QString & );
485 QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; } 449 QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; }
486 450
487 bool canConvertFrom( QUObject *, QUType * ); 451 bool canConvertFrom( QUObject *, QUType * );
488 bool canConvertTo( QUObject *, QUType * ); 452 bool canConvertTo( QUObject *, QUType * );
489 bool convertFrom( QUObject *, QUType * ); 453 bool convertFrom( QUObject *, QUType * );
490 bool convertTo( QUObject *, QUType * ); 454 bool convertTo( QUObject *, QUType * );
491 void clear( QUObject * ); 455 void clear( QUObject * );
492 int serializeTo( QUObject *, QUBuffer * ); 456 int serializeTo( QUObject *, QUBuffer * );
493 int serializeFrom( QUObject *, QUBuffer * ); 457 int serializeFrom( QUObject *, QUBuffer * );
494 458
495}; 459};
496extern Q_EXPORT QUType_QString static_QUType_QString; 460extern Q_EXPORT QUType_QString static_QUType_QString;
497 461
498 462
499#endif // QUCOM_H 463#endif // QUCOM_P_H