05d835e004aa420a77f483c3d0eac870f5202c9b
[sdk] / compiler / bootstrap / ecere / bootstrap / dataTypes.c
1 #if defined(__GNUC__)
2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #ifndef _WIN32
5 #define __declspec(x)
6 #endif
7 #elif defined(__TINYC__)
8 #include <stdarg.h>
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
12 #ifdef _WIN32
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
16 #else
17 #define __declspec(x)
18 #endif
19 typedef long long int64;
20 typedef unsigned long long uint64;
21 #else
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
24 #endif
25 #ifdef __BIG_ENDIAN__
26 #define __ENDIAN_PAD(x) (8 - (x))
27 #else
28 #define __ENDIAN_PAD(x) 0
29 #endif
30 #include <stdint.h>
31 #include <sys/types.h>
32
33 #if defined(_W64) || (defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
34 #define _64BIT 1
35 #else
36 #define _64BIT 0
37 #endif
38
39 #define arch_PointerSize                  sizeof(void *)
40 #define structSize_Instance               (_64BIT ? 24 : 12)
41
42 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
43
44 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
45
46 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
47
48 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
49
50 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
51
52 struct __ecereNameSpace__ecere__sys__BTNode;
53
54 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
55
56 struct __ecereNameSpace__ecere__sys__BinaryTree
57 {
58 struct __ecereNameSpace__ecere__sys__BTNode * root;
59 int count;
60 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
61 void (*  FreeKey)(void *  key);
62 } __attribute__ ((gcc_struct));
63
64 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
65
66 struct __ecereNameSpace__ecere__sys__OldList
67 {
68 void *  first;
69 void *  last;
70 int count;
71 unsigned int offset;
72 unsigned int circ;
73 } __attribute__ ((gcc_struct));
74
75 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
76
77 struct __ecereNameSpace__ecere__com__Class
78 {
79 struct __ecereNameSpace__ecere__com__Class * prev;
80 struct __ecereNameSpace__ecere__com__Class * next;
81 char *  name;
82 int offset;
83 int structSize;
84 int (* *  _vTbl)();
85 int vTblSize;
86 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
87 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
88 int offsetClass;
89 int sizeClass;
90 struct __ecereNameSpace__ecere__com__Class * base;
91 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
92 struct __ecereNameSpace__ecere__sys__BinaryTree members;
93 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
94 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
95 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
96 struct __ecereNameSpace__ecere__sys__OldList derivatives;
97 int memberID;
98 int startMemberID;
99 int type;
100 struct __ecereNameSpace__ecere__com__Instance * module;
101 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
102 char *  dataTypeString;
103 struct __ecereNameSpace__ecere__com__Instance * dataType;
104 int typeSize;
105 int defaultAlignment;
106 void (*  Initialize)();
107 int memberOffset;
108 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
109 char *  designerClass;
110 unsigned int noExpansion;
111 char *  defaultProperty;
112 unsigned int comRedefinition;
113 int count;
114 unsigned int isRemote;
115 unsigned int internalDecl;
116 void *  data;
117 unsigned int computeSize;
118 int structAlignment;
119 int destructionWatchOffset;
120 unsigned int fixed;
121 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
122 int inheritanceAccess;
123 char *  fullName;
124 void *  symbol;
125 struct __ecereNameSpace__ecere__sys__OldList conversions;
126 struct __ecereNameSpace__ecere__sys__OldList templateParams;
127 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
128 struct __ecereNameSpace__ecere__com__Class * templateClass;
129 struct __ecereNameSpace__ecere__sys__OldList templatized;
130 int numParams;
131 } __attribute__ ((gcc_struct));
132
133 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
134
135 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
136
137 struct __ecereNameSpace__ecere__com__Instance
138 {
139 int (* *  _vTbl)();
140 struct __ecereNameSpace__ecere__com__Class * _class;
141 int _refCount;
142 } __attribute__ ((gcc_struct));
143
144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
145
146 struct __ecereNameSpace__ecere__com__Property
147 {
148 struct __ecereNameSpace__ecere__com__Property * prev;
149 struct __ecereNameSpace__ecere__com__Property * next;
150 char *  name;
151 unsigned int isProperty;
152 int memberAccess;
153 int id;
154 struct __ecereNameSpace__ecere__com__Class * _class;
155 char *  dataTypeString;
156 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
157 struct __ecereNameSpace__ecere__com__Instance * dataType;
158 void (*  Set)(void * , int);
159 int (*  Get)(void * );
160 unsigned int (*  IsSet)(void * );
161 void *  data;
162 void *  symbol;
163 int vid;
164 unsigned int conversion;
165 unsigned int watcherOffset;
166 char *  category;
167 unsigned int compiled;
168 unsigned int selfWatchable;
169 unsigned int isWatchable;
170 } __attribute__ ((gcc_struct));
171
172 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
173
174 struct __ecereNameSpace__ecere__com__DataMember
175 {
176 struct __ecereNameSpace__ecere__com__DataMember * prev;
177 struct __ecereNameSpace__ecere__com__DataMember * next;
178 char *  name;
179 unsigned int isProperty;
180 int memberAccess;
181 int id;
182 struct __ecereNameSpace__ecere__com__Class * _class;
183 char *  dataTypeString;
184 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
185 struct __ecereNameSpace__ecere__com__Instance * dataType;
186 int type;
187 int offset;
188 int memberID;
189 struct __ecereNameSpace__ecere__sys__OldList members;
190 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
191 int memberOffset;
192 int structAlignment;
193 } __attribute__ ((gcc_struct));
194
195 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
196
197 struct __ecereNameSpace__ecere__com__Method
198 {
199 char *  name;
200 struct __ecereNameSpace__ecere__com__Method * parent;
201 struct __ecereNameSpace__ecere__com__Method * left;
202 struct __ecereNameSpace__ecere__com__Method * right;
203 int depth;
204 int (*  function)();
205 int vid;
206 int type;
207 struct __ecereNameSpace__ecere__com__Class * _class;
208 void *  symbol;
209 char *  dataTypeString;
210 struct __ecereNameSpace__ecere__com__Instance * dataType;
211 int memberAccess;
212 } __attribute__ ((gcc_struct));
213
214 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
215
216 struct __ecereNameSpace__ecere__com__DataValue
217 {
218 union
219 {
220 char c;
221 unsigned char uc;
222 short s;
223 unsigned short us;
224 int i;
225 unsigned int ui;
226 void *  p;
227 float f;
228 double d;
229 long long i64;
230 uint64 ui64;
231 } __attribute__ ((gcc_struct));
232 } __attribute__ ((gcc_struct));
233
234 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
235
236 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
237 {
238 union
239 {
240 struct
241 {
242 char *  dataTypeString;
243 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
244 } __attribute__ ((gcc_struct));
245 struct __ecereNameSpace__ecere__com__DataValue expression;
246 struct
247 {
248 char *  memberString;
249 union
250 {
251 struct __ecereNameSpace__ecere__com__DataMember * member;
252 struct __ecereNameSpace__ecere__com__Property * prop;
253 struct __ecereNameSpace__ecere__com__Method * method;
254 } __attribute__ ((gcc_struct));
255 } __attribute__ ((gcc_struct));
256 } __attribute__ ((gcc_struct));
257 } __attribute__ ((gcc_struct));
258
259 extern int runtimePlatform;
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278 int __ecereVMethodID_class_OnGetString;
279
280 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
281
282 int __ecereVMethodID_class_OnFree;
283
284 int __ecereVMethodID_class_OnCopy;
285
286 int __ecereVMethodID_class_OnCompare;
287
288 int __ecereVMethodID_class_OnSaveEdit;
289
290 int __ecereVMethodID_class_OnEdit;
291
292 int __ecereVMethodID_class_OnGetDataFromString;
293
294 static void __ecereNameSpace__ecere__com__UnusedFunction()
295 {
296 int a;
297
298 ((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
299 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnFree])(__ecereClass_int, &a);
300 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, (((void *)0)));
301 ((int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, (((void *)0)));
302 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * window, void *  object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSaveEdit])(__ecereClass_int, &a, (((void *)0)), 0);
303 ((struct __ecereNameSpace__ecere__com__Instance * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * dataBox, struct __ecereNameSpace__ecere__com__Instance * obsolete, int x, int y, int w, int h, void *  userData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnEdit])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), 0, 0, 0, 20, 0);
304 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  string))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &a, (((void *)0)));
305 }
306
307 typedef __builtin_va_list va_list;
308
309 void exit(int status);
310
311 void * calloc(size_t nmemb, size_t size);
312
313 void free(void * ptr);
314
315 void * malloc(size_t size);
316
317 void * realloc(void * ptr, size_t size);
318
319 long int strtol(const char * nptr, char ** endptr, int base);
320
321 long long int strtoll(const char * nptr, char ** endptr, int base);
322
323 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
324
325 typedef void FILE;
326
327 FILE * bsl_stdin(void);
328
329 FILE * bsl_stdout(void);
330
331 FILE * bsl_stderr(void);
332
333 char * fgets(char * s, int size, FILE * stream);
334
335 FILE * fopen(const char * path, const char * mode);
336
337 int fclose(FILE * fp);
338
339 int fflush(FILE * stream);
340
341 int fgetc(FILE * stream);
342
343 int fprintf(FILE * stream, const char * format, ...);
344
345 int fputc(int c, FILE * stream);
346
347 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
348
349 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
350
351 int vsnprintf(char *, size_t, const char *, ...);
352
353 int snprintf(char * str, size_t, const char * format, ...);
354
355 int fseek(FILE * stream, long offset, int whence);
356
357 long ftell(FILE * stream);
358
359 int feof(FILE * stream);
360
361 int ferror(FILE * stream);
362
363 int fileno(FILE * stream);
364
365 FILE * eC_stdout(void);
366
367 FILE * eC_stderr(void);
368
369 extern int __ecereVMethodID_class_OnGetString;
370
371 extern int __ecereVMethodID_class_OnGetDataFromString;
372
373 extern int __ecereVMethodID_class_OnCompare;
374
375 extern int __ecereVMethodID_class_OnSerialize;
376
377 extern int __ecereVMethodID_class_OnUnserialize;
378
379 extern int __ecereVMethodID_class_OnCopy;
380
381 void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
382
383 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IOChannel;
384
385 int __ecereVMethodID_class_OnSerialize;
386
387 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
388 {
389 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
390 }
391
392 int __ecereVMethodID_class_OnUnserialize;
393
394 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
395 {
396 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
397 }
398
399 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
400 {
401 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
402 }
403
404 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
405 {
406 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
407 }
408
409 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer, * __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer;
410
411 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size, * __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size;
412
413 struct __ecereNameSpace__ecere__com__SerialBuffer
414 {
415 unsigned char * _buffer;
416 unsigned int count;
417 unsigned int _size;
418 unsigned int pos;
419 } __attribute__ ((gcc_struct));
420
421 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
422
423 void __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free();
424
425 void __ecereDestructor___ecereNameSpace__ecere__com__SerialBuffer(struct __ecereNameSpace__ecere__com__Instance * this)
426 {
427 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
428
429 {
430 __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(this);
431 }
432 }
433
434 extern void *  memcpy(void * , const void * , size_t size);
435
436 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
437 {
438 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
439
440 if(this != (((void *)0)))
441 {
442 if(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes > __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size)
443 {
444 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes;
445 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size += __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size / 2;
446 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size));
447 }
448 memcpy(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count, bytes, numBytes);
449 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count += numBytes;
450 return numBytes;
451 }
452 return 0;
453 }
454
455 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
456 {
457 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
458
459 if(this != (((void *)0)))
460 {
461 unsigned int __simpleStruct0;
462 int read = (__simpleStruct0 = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, (numBytes < __simpleStruct0) ? numBytes : __simpleStruct0);
463
464 memcpy(bytes, __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, read);
465 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos += read;
466 return read;
467 }
468 return 0;
469 }
470
471 void __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(struct __ecereNameSpace__ecere__com__Instance * this)
472 {
473 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
474
475 if(this)
476 {
477 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer), __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = 0);
478 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = 0;
479 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = 0;
480 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos = 0;
481 }
482 }
483
484 unsigned char *  __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this)
485 {
486 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
487
488 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
489 }
490
491 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_buffer(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char *  value)
492 {
493 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
494
495 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = value;
496 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer);
497 }
498
499 unsigned int __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size(struct __ecereNameSpace__ecere__com__Instance * this)
500 {
501 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
502
503 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
504 }
505
506 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
507 {
508 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
509
510 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = value;
511 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size);
512 }
513
514 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__EnumClassData;
515
516 struct __ecereNameSpace__ecere__com__EnumClassData
517 {
518 struct __ecereNameSpace__ecere__sys__OldList values;
519 int largest;
520 } __attribute__ ((gcc_struct));
521
522 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
523
524 struct __ecereNameSpace__ecere__sys__NamedLink
525 {
526 struct __ecereNameSpace__ecere__sys__NamedLink * prev;
527 struct __ecereNameSpace__ecere__sys__NamedLink * next;
528 char *  name;
529 void *  data;
530 } __attribute__ ((gcc_struct));
531
532 extern char *  strcpy(char * , const char * );
533
534 extern int toupper(int);
535
536 char * __ecereNameSpace__ecere__com__Enum_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * tempString, void * fieldData, unsigned int * needClass)
537 {
538 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)_class->data;
539 struct __ecereNameSpace__ecere__sys__NamedLink * item;
540
541 for(item = enumeration->values.first; item; item = item->next)
542 if((int)item->data == *data)
543 break;
544 if(item)
545 {
546 strcpy(tempString, item->name);
547 if(!needClass || !*needClass)
548 tempString[0] = (char)toupper(tempString[0]);
549 return tempString;
550 }
551 else
552 return (((void *)0));
553 }
554
555 extern int strcasecmp(const char * , const char * );
556
557 static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int *  data, char *  string);
558
559 static unsigned int __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
560 {
561 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)_class->data;
562 struct __ecereNameSpace__ecere__sys__NamedLink * item;
563
564 for(item = enumeration->values.first; item; item = item->next)
565 {
566 if(item->name && !(strcasecmp)(item->name, string))
567 break;
568 }
569 if(item)
570 {
571 *data = (int)item->data;
572 return 0x1;
573 }
574 else
575 return __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(_class, data, string);
576 return 0x0;
577 }
578
579 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
580
581 static void __ecereNameSpace__ecere__com__OnFree(struct __ecereNameSpace__ecere__com__Class * _class, void * data)
582 {
583 if(_class->templateClass)
584 _class = _class->templateClass;
585 if(_class->type == 0)
586 {
587 __ecereNameSpace__ecere__com__eInstance_DecRef(data);
588 }
589 else if(_class->type == 5 && data)
590 {
591 while(_class && _class->type == 5)
592 {
593 if(_class->Destructor)
594 _class->Destructor(data);
595 _class = _class->base;
596 }
597 (__ecereNameSpace__ecere__com__eSystem_Delete(data), data = 0);
598 }
599 }
600
601 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
602
603 static int __ecereNameSpace__ecere__com__DataMember_OnCompare(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data1, void * data2)
604 {
605 struct __ecereNameSpace__ecere__com__DataMember * member;
606 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
607
608 for(member = parentMember->members.first; member; member = member->next)
609 {
610 int memberResult = 0;
611
612 if(member->type == 0)
613 {
614 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
615
616 if(!memberType)
617 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
618 if(!memberType)
619 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
620 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
621 {
622 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
623 if(memberResult)
624 return memberResult;
625 }
626 else
627 {
628 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
629
630 value1.i = *(int *)((unsigned char *)data1 + member->offset);
631 value2.i = *(int *)((unsigned char *)data2 + member->offset);
632 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
633 if(memberResult)
634 return memberResult;
635 }
636 }
637 else
638 {
639 memberResult = __ecereNameSpace__ecere__com__DataMember_OnCompare(member, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
640 if(memberResult)
641 return memberResult;
642 }
643 }
644 return 0;
645 }
646
647 extern int strcmp(const char * , const char * );
648
649 static int __ecereNameSpace__ecere__com__OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, void * data1, void * data2)
650 {
651 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
652
653 if(_class->type == 0 || _class->type == 5 || _class->type == 1)
654 {
655 if(data1 && data2)
656 {
657 for(; _class && _class->type != 1000; _class = _class->base)
658 {
659 struct __ecereNameSpace__ecere__com__DataMember * member;
660
661 if(_class->noExpansion)
662 {
663 if(data1 > data2)
664 return 1;
665 else if(data1 < data2)
666 return -1;
667 else
668 return 0;
669 }
670 for(member = _class->membersAndProperties.first; member; member = member->next)
671 {
672 int memberResult = 0;
673
674 if(member->isProperty || member->type == 0)
675 {
676 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
677
678 if(!memberType)
679 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
680 if(memberType)
681 {
682 if(member->isProperty)
683 {
684 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
685
686 if(!prop->conversion && prop->Get && prop->Set)
687 {
688 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
689 {
690 if(!strcmp(memberType->dataTypeString, "char *"))
691 {
692 char * a = ((char * (*)(void *))(void *)prop->Get)(data1);
693 char * b = ((char * (*)(void *))(void *)prop->Get)(data2);
694
695 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, a, b);
696 }
697 }
698 else
699 {
700 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
701
702 if(!strcmp(memberType->dataTypeString, "float"))
703 {
704 value1.f = ((float (*)(void *))(void *)prop->Get)(data1);
705 value2.f = ((float (*)(void *))(void *)prop->Get)(data2);
706 }
707 else
708 {
709 value1.i = ((int (*)(void *))(void *)prop->Get)(data1);
710 value2.i = ((int (*)(void *))(void *)prop->Get)(data2);
711 }
712 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
713 }
714 }
715 }
716 else
717 {
718 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
719 {
720 if(memberType->type == 0 || memberType->type == 5)
721 {
722 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, *(void **)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), *(void **)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)));
723 }
724 else
725 {
726 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, (unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), (unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
727 }
728 }
729 else
730 {
731 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
732
733 if(memberType->typeSize == 8)
734 {
735 value1.ui64 = *(uint64 *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
736 value2.ui64 = *(uint64 *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
737 }
738 else
739 {
740 value1.i = *(int *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
741 value2.i = *(int *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
742 }
743 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
744 }
745 }
746 }
747 else
748 {
749 }
750 }
751 else
752 {
753 memberResult = __ecereNameSpace__ecere__com__DataMember_OnCompare(member, (unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), (unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
754 }
755 if(memberResult)
756 return memberResult;
757 }
758 }
759 }
760 else if(!data1 && data2)
761 return 1;
762 else if(data1 && !data2)
763 return -1;
764 }
765 else if(_class->type == 3)
766 {
767 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
768
769 return ((int (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnCompare])(dataType, data1, data2);
770 }
771 else
772 {
773 int result = 0;
774
775 if(data1 && data2)
776 {
777 if(_class->typeSize == 8)
778 {
779 if(*(uint64 *)data1 > *(uint64 *)data2)
780 result = 1;
781 else if(*(uint64 *)data1 < *(uint64 *)data2)
782 result = -1;
783 }
784 else
785 {
786 if(*(unsigned int *)data1 > *(unsigned int *)data2)
787 result = 1;
788 else if(*(unsigned int *)data1 < *(unsigned int *)data2)
789 result = -1;
790 }
791 }
792 else if(!data1 && data2)
793 return 1;
794 else if(data1 && !data2)
795 return -1;
796 return result;
797 }
798 return 0;
799 }
800
801 extern char *  strchr(const char * , int);
802
803 extern char *  strcat(char * , const char * );
804
805 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
806
807 struct __ecereNameSpace__ecere__com__BitMember
808 {
809 struct __ecereNameSpace__ecere__com__BitMember * prev;
810 struct __ecereNameSpace__ecere__com__BitMember * next;
811 char *  name;
812 unsigned int isProperty;
813 int memberAccess;
814 int id;
815 struct __ecereNameSpace__ecere__com__Class * _class;
816 char *  dataTypeString;
817 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
818 struct __ecereNameSpace__ecere__com__Instance * dataType;
819 int type;
820 int size;
821 int pos;
822 uint64 mask;
823 } __attribute__ ((gcc_struct));
824
825 extern size_t strlen(const char * );
826
827 static char * __ecereNameSpace__ecere__com__OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
828 {
829 struct __ecereNameSpace__ecere__com__Instance * module = _class->templateClass ? _class->templateClass->module : _class->module;
830
831 if(_class->type == 4)
832 {
833 return __ecereNameSpace__ecere__com__Enum_OnGetString(_class, data, tempString, fieldData, needClass);
834 }
835 else if(_class->type == 3)
836 {
837 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
838
839 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
840 }
841 else
842 {
843 unsigned int atMember = 0x1;
844 unsigned int prev = 0x0;
845 struct __ecereNameSpace__ecere__com__Class * mainClass = _class;
846
847 _class = (((void *)0));
848 tempString[0] = '\0';
849 if(!data && (mainClass->type == 0 || mainClass->type == 5))
850 return tempString;
851 while(_class != mainClass)
852 {
853 struct __ecereNameSpace__ecere__com__DataMember * member;
854 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
855
856 for(_class = mainClass; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
857 ;
858 for(member = _class->membersAndProperties.first; member; member = member->next)
859 {
860 char memberString[1024];
861 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
862 char * name = member->name;
863
864 memberString[0] = (char)0;
865 if(!memberType)
866 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
867 if(!memberType)
868 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
869 if(member->isProperty)
870 {
871 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
872
873 if(!prop->conversion && prop->Get && prop->Set && (!prop->IsSet || prop->IsSet(data)))
874 {
875 if(memberType->type != 1 && (memberType->type != 0 || !strcmp(memberType->dataTypeString, "char *")) && memberType->type != 2 && data)
876 {
877 struct __ecereNameSpace__ecere__com__DataValue value = 
878 {
879 (char)0
880 };
881
882 if(!strcmp(prop->dataTypeString, "float"))
883 {
884 value.f = ((float (*)(void *))(void *)prop->Get)(data);
885 if(value.f)
886 {
887 unsigned int needClass = 0x1;
888 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
889
890 if(result && result != memberString)
891 strcpy(memberString, result);
892 if(strchr(memberString, '.'))
893 strcat(memberString, "f");
894 }
895 }
896 else if(memberType->type == 0 || memberType->type == 5)
897 {
898 value.p = ((void * (*)(void *))(void *)prop->Get)(data);
899 if(value.p || prop->IsSet)
900 {
901 unsigned int needClass = 0x1;
902 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.p : &value, memberString, (((void *)0)), &needClass);
903
904 if(result && result != memberString)
905 strcpy(memberString, result);
906 }
907 }
908 else
909 {
910 value.i = ((int (*)(void *))(void *)prop->Get)(data);
911 if(value.i || prop->IsSet)
912 {
913 unsigned int needClass = 0x1;
914 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
915
916 if(result && result != memberString)
917 strcpy(memberString, result);
918 }
919 }
920 }
921 }
922 }
923 else
924 {
925 if(member->type == 0)
926 {
927 if(memberType->type == 1 || memberType->type == 0)
928 {
929 char internalMemberString[1024];
930 unsigned char * memberData = ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
931 int c;
932
933 for(c = 0; c < memberType->structSize; c++)
934 if(memberData[c])
935 break;
936 if(c < memberType->structSize)
937 {
938 unsigned int needClass = 0x1;
939 char * result;
940
941 if(memberType->type == 0)
942 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(struct __ecereNameSpace__ecere__com__Instance **)memberData, internalMemberString, (((void *)0)), &needClass);
943 else
944 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, (((void *)0)), &needClass);
945 if(needClass)
946 {
947 strcat(memberString, "{ ");
948 if(result)
949 strcat(memberString, result);
950 strcat(memberString, " }");
951 }
952 else if(result)
953 strcpy(memberString, result);
954 }
955 }
956 else
957 {
958 struct __ecereNameSpace__ecere__com__DataValue value = 
959 {
960 (char)0
961 };
962
963 if(_class->type == 2)
964 {
965 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)member;
966
967 value.ui64 = ((*(unsigned int *)data & bitMember->mask) >> bitMember->pos);
968 if(value.ui64)
969 {
970 unsigned int needClass = 0x1;
971 char internalMemberString[1024];
972 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, (((void *)0)), &needClass);
973
974 if(needClass && memberType->type != 1000 && memberType->type != 4 && memberType->type != 3)
975 {
976 strcat(memberString, " { ");
977 if(result)
978 strcat(memberString, result);
979 strcat(memberString, " }");
980 }
981 else if(result)
982 strcpy(memberString, result);
983 }
984 }
985 else if(!memberType->noExpansion)
986 {
987 if(memberType->typeSize <= 4)
988 {
989 value.i = *(int *)((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
990 if(value.i)
991 {
992 unsigned int needClass = 0x1;
993 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
994
995 if(result && memberString != result)
996 strcpy(memberString, result);
997 }
998 }
999 else
1000 {
1001 unsigned int needClass = 0x1;
1002 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), memberString, (((void *)0)), &needClass);
1003
1004 if(result && memberString != result)
1005 strcpy(memberString, result);
1006 }
1007 }
1008 }
1009 }
1010 }
1011 if(memberString[0])
1012 {
1013 if(prev)
1014 strcat(tempString, ", ");
1015 if(!atMember || !strcmp(memberType->name, "bool"))
1016 {
1017 strcat(tempString, name);
1018 strcat(tempString, " = ");
1019 }
1020 if(!strcmp(memberType->name, "char *"))
1021 {
1022 int len = strlen(tempString);
1023 int c;
1024
1025 strcat(tempString, "\"");
1026 len++;
1027 for(c = 0; memberString[c]; c++)
1028 {
1029 if(memberString[c] == '\"')
1030 {
1031 strcat(tempString, "\\\"");
1032 len += 2;
1033 }
1034 else if(memberString[c] == '\\')
1035 {
1036 strcat(tempString, "\\\\");
1037 len += 2;
1038 }
1039 else
1040 {
1041 tempString[len++] = memberString[c];
1042 tempString[len] = (char)0;
1043 }
1044 }
1045 strcat(tempString, "\"");
1046 }
1047 else
1048 strcat(tempString, memberString);
1049 atMember = 0x1;
1050 prev = 0x1;
1051 }
1052 else if(member && (!member->isProperty || !((struct __ecereNameSpace__ecere__com__Property *)member)->conversion))
1053 atMember = 0x0;
1054 }
1055 }
1056 }
1057 return tempString;
1058 }
1059
1060 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
1061
1062 extern void *  memset(void *  area, int value, size_t count);
1063
1064 extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(char *  string, char *  output);
1065
1066 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, unsigned int *  offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
1067
1068 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
1069
1070 extern void __ecereNameSpace__ecere__com__eClass_FindNextMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class **  curClass, struct __ecereNameSpace__ecere__com__DataMember **  curMember, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
1071
1072 static unsigned int __ecereNameSpace__ecere__com__OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, char * string)
1073 {
1074 unsigned int result;
1075 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1076
1077 if(_class->type == 4)
1078 result = __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(_class, (int *)data, string);
1079 else if(_class->type == 3)
1080 {
1081 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1082
1083 return ((unsigned int (*)(void *, void *, const char *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(dataType, data, string);
1084 }
1085 else if(!string[0] && _class->type == 0)
1086 {
1087 *data = (((void *)0));
1088 return 0x1;
1089 }
1090 else
1091 {
1092 int c;
1093 char memberName[1024];
1094 char memberString[10240];
1095 int count = 0;
1096 unsigned int quoted = 0x0;
1097 int brackets = 0;
1098 char ch;
1099 unsigned int escape = 0x0;
1100 unsigned int gotChar;
1101 unsigned int memberOffset;
1102 struct __ecereNameSpace__ecere__com__Class * curClass = (((void *)0));
1103 struct __ecereNameSpace__ecere__com__DataMember * curMember = (((void *)0));
1104 struct __ecereNameSpace__ecere__com__DataMember * subMemberStack[256];
1105 int subMemberStackPos = 0;
1106
1107 result = 0x1;
1108 if(_class->type == 5 || _class->type == 0)
1109 {
1110 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
1111 if(_class->type == 0)
1112 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
1113 }
1114 else if(_class->type == 1)
1115 memset(data, 0, _class->structSize);
1116 memberName[0] = '\0';
1117 for(c = 0; string[c] && count < sizeof memberString; )
1118 {
1119 unsigned int found = 0x0;
1120 struct __ecereNameSpace__ecere__com__DataMember * thisMember = (((void *)0));
1121
1122 brackets = 0;
1123 gotChar = 0x0;
1124 for(; (ch = string[c]) && count < sizeof memberString; c++)
1125 {
1126 if(ch == '\"' && !escape)
1127 {
1128 quoted ^= 0x1;
1129 }
1130 else if(quoted)
1131 {
1132 if(!escape && ch == '\\')
1133 {
1134 escape = 0x1;
1135 }
1136 else
1137 {
1138 memberString[count++] = ch;
1139 escape = 0x0;
1140 }
1141 }
1142 else if(ch == ' ')
1143 {
1144 if(gotChar)
1145 memberString[count++] = ch;
1146 }
1147 else if(ch == ',')
1148 {
1149 if(brackets)
1150 {
1151 memberString[count++] = ch;
1152 }
1153 else
1154 {
1155 c++;
1156 break;
1157 }
1158 }
1159 else if(ch == '{')
1160 {
1161 if(gotChar && !brackets)
1162 {
1163 count = 0;
1164 gotChar = 0x0;
1165 }
1166 if(brackets)
1167 {
1168 memberString[count++] = ch;
1169 gotChar = 0x1;
1170 }
1171 brackets++;
1172 }
1173 else if(ch == '}')
1174 {
1175 brackets--;
1176 if(brackets)
1177 {
1178 gotChar = 0x1;
1179 memberString[count++] = ch;
1180 }
1181 }
1182 else if(ch == '=')
1183 {
1184 if(brackets)
1185 {
1186 memberString[count++] = ch;
1187 }
1188 else
1189 {
1190 memberString[count] = '\0';
1191 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberName);
1192 count = 0;
1193 gotChar = 0x0;
1194 }
1195 }
1196 else
1197 {
1198 memberString[count++] = ch;
1199 gotChar = 0x1;
1200 }
1201 }
1202 memberString[count] = '\0';
1203 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberString);
1204 if(memberName[0])
1205 {
1206 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
1207 int _subMemberStackPos = 0;
1208
1209 thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, memberName, &memberOffset, _class->module, _subMemberStack, &_subMemberStackPos);
1210 if(!thisMember)
1211 thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(_class, memberName, _class->module);
1212 if(thisMember)
1213 {
1214 if(thisMember->memberAccess == 1)
1215 {
1216 curMember = thisMember;
1217 curClass = thisMember->_class;
1218 memcpy(subMemberStack, _subMemberStack, sizeof(int) * _subMemberStackPos);
1219 subMemberStackPos = _subMemberStackPos;
1220 }
1221 found = 0x1;
1222 }
1223 }
1224 else
1225 {
1226 __ecereNameSpace__ecere__com__eClass_FindNextMember(_class, &curClass, &curMember, subMemberStack, &subMemberStackPos);
1227 thisMember = curMember;
1228 if(thisMember)
1229 {
1230 found = 0x1;
1231 __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, thisMember->name, &memberOffset, _class->module, (((void *)0)), (((void *)0)));
1232 }
1233 }
1234 if(found)
1235 {
1236 struct __ecereNameSpace__ecere__com__Class * memberType = thisMember->dataTypeClass;
1237
1238 if(!memberType)
1239 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, thisMember->dataTypeString);
1240 if(!memberType)
1241 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1242 if(memberType->type == 1)
1243 {
1244 if(thisMember)
1245 {
1246 if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, (unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + memberOffset), memberString))
1247 result = 0x0;
1248 }
1249 }
1250 else
1251 {
1252 struct __ecereNameSpace__ecere__com__DataValue value = 
1253 {
1254 (char)0
1255 };
1256
1257 if(memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString] == _class->_vTbl[__ecereVMethodID_class_OnGetDataFromString])
1258 {
1259 if(!__ecereNameSpace__ecere__com__OnGetDataFromString(memberType, &value, memberString))
1260 result = 0x0;
1261 }
1262 else if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, &value, memberString))
1263 result = 0x0;
1264 if(thisMember && !thisMember->isProperty)
1265 {
1266 if(_class->type == 2)
1267 {
1268 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)thisMember;
1269
1270 *(unsigned int *)data = (unsigned int)(((*(unsigned int *)data & ~bitMember->mask)) | ((value.ui64 << bitMember->pos) & bitMember->mask));
1271 }
1272 else
1273 *(int *)((unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + thisMember->offset)) = value.i;
1274 }
1275 else if(thisMember->isProperty && ((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)
1276 {
1277 if(memberType->type == 5 || memberType->type == 0 || memberType->type == 1)
1278 ((void (*)(void *, void *))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.p);
1279 else
1280 ((void (*)(void *, int))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.i);
1281 }
1282 }
1283 }
1284 else
1285 result = 0x0;
1286 count = 0;
1287 memberName[0] = '\0';
1288 }
1289 }
1290 return result;
1291 }
1292
1293 static void __ecereNameSpace__ecere__com__OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, void * newData)
1294 {
1295 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1296 {
1297 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->dataTypeString);
1298
1299 if(dataType)
1300 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnCopy])(dataType, data, newData);
1301 }
1302 else if(_class->type != 1 && _class->type != 1000)
1303 {
1304 *data = newData;
1305 }
1306 else if(newData)
1307 memcpy(data, newData, _class->typeSize);
1308 else
1309 memset(data, 0, _class->typeSize);
1310 }
1311
1312 static int __ecereNameSpace__ecere__com__DataMember_OnSerialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1313 {
1314 struct __ecereNameSpace__ecere__com__DataMember * member;
1315 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1316
1317 for(member = parentMember->members.first; member; member = member->next)
1318 {
1319 if(member->type == 0)
1320 {
1321 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1322
1323 if(!memberType)
1324 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1325 if(!memberType)
1326 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1327 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1328 {
1329 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, (unsigned char *)data + member->offset, channel);
1330 }
1331 else
1332 {
1333 struct __ecereNameSpace__ecere__com__DataValue value;
1334
1335 value.i = *(int *)((unsigned char *)data + member->offset);
1336 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, &value, channel);
1337 }
1338 }
1339 else
1340 {
1341 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, (unsigned char *)data + member->offset, channel);
1342 }
1343 }
1344 return 0;
1345 }
1346
1347 static void __ecereNameSpace__ecere__com__OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1348 {
1349 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1350
1351 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1352 {
1353 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1354
1355 if(dataType)
1356 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnSerialize])(dataType, data, channel);
1357 }
1358 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
1359 {
1360 {
1361 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
1362
1363 while(lastClass != _class)
1364 {
1365 struct __ecereNameSpace__ecere__com__DataMember * member;
1366
1367 for(; _class && (!_class->base || _class->base->type != 1000) && _class != lastClass; _class = _class->base)
1368 ;
1369 lastClass = _class;
1370 for(member = _class->membersAndProperties.first; member; member = member->next)
1371 {
1372 if(member->isProperty || member->type == 0)
1373 {
1374 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1375
1376 if(!memberType)
1377 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1378 if(memberType)
1379 {
1380 if(member->isProperty)
1381 {
1382 }
1383 else
1384 {
1385 if(!strcmp(memberType->name, "String") || memberType->type == 0 || memberType->type == 5)
1386 {
1387 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, data ? (*(void **)((unsigned char *)data + member->_class->offset + member->offset)) : (((void *)0)), channel);
1388 }
1389 else
1390 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, data ? (((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset))) : (((void *)0)), channel);
1391 }
1392 }
1393 else
1394 {
1395 }
1396 }
1397 else
1398 {
1399 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, data ? ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)) : (((void *)0)), channel);
1400 }
1401 }
1402 }
1403 }
1404 }
1405 }
1406
1407 static int __ecereNameSpace__ecere__com__DataMember_OnUnserialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1408 {
1409 struct __ecereNameSpace__ecere__com__DataMember * member;
1410 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1411
1412 for(member = parentMember->members.first; member; member = member->next)
1413 {
1414 if(member->type == 0)
1415 {
1416 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1417
1418 if(!memberType)
1419 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1420 if(!memberType)
1421 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1422 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1423 {
1424 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, (unsigned char *)data + member->offset, channel);
1425 }
1426 else
1427 {
1428 struct __ecereNameSpace__ecere__com__DataValue value;
1429
1430 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, &value, channel);
1431 *(int *)((unsigned char *)data + member->offset) = value.i;
1432 }
1433 }
1434 else
1435 {
1436 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + member->offset, channel);
1437 }
1438 }
1439 return 0;
1440 }
1441
1442 static void __ecereNameSpace__ecere__com__OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, struct __ecereNameSpace__ecere__com__Instance * channel)
1443 {
1444 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1445
1446 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1447 {
1448 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1449
1450 if(dataType)
1451 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnUnserialize])(dataType, data, channel);
1452 }
1453 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
1454 {
1455 if(data)
1456 {
1457 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
1458
1459 if(_class->type == 0 || _class->type == 5)
1460 {
1461 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
1462 if(_class->type == 0)
1463 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
1464 }
1465 else if(_class->type == 1)
1466 memset(data, 0, _class->structSize);
1467 while(lastClass != _class)
1468 {
1469 struct __ecereNameSpace__ecere__com__DataMember * member;
1470
1471 for(; _class && (!_class->base || _class->base->type != 1000) && _class != lastClass; _class = _class->base)
1472 ;
1473 lastClass = _class;
1474 for(member = _class->membersAndProperties.first; member; member = member->next)
1475 {
1476 if(member->isProperty || member->type == 0)
1477 {
1478 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1479
1480 if(!memberType)
1481 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1482 if(memberType)
1483 {
1484 if(member->isProperty)
1485 {
1486 }
1487 else
1488 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, (unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), channel);
1489 }
1490 else
1491 {
1492 }
1493 }
1494 else
1495 {
1496 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), channel);
1497 }
1498 }
1499 }
1500 }
1501 }
1502 }
1503
1504 static int __ecereNameSpace__ecere__com__Integer_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, int * data1, int * data2)
1505 {
1506 int result = 0;
1507
1508 if(!data1 && !data2)
1509 result = 0;
1510 else if(data1 && !data2)
1511 result = 1;
1512 else if(!data1 && data2)
1513 result = -1;
1514 else if(*data1 > *data2)
1515 result = 1;
1516 else if(*data1 < *data2)
1517 result = -1;
1518 return result;
1519 }
1520
1521 extern int sprintf(char * , char * , ...);
1522
1523 char * __ecereNameSpace__ecere__com__Integer_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string, void * fieldData, unsigned int * needClass)
1524 {
1525 sprintf(string, "%d", *data);
1526 return string;
1527 }
1528
1529 static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
1530 {
1531 char * end;
1532 int result = strtol(string, &end, 0);
1533
1534 if(end > string)
1535 {
1536 *data = result;
1537 return 0x1;
1538 }
1539 return 0x0;
1540 }
1541
1542 static int __ecereNameSpace__ecere__com__UInteger_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data1, unsigned int * data2)
1543 {
1544 int result = 0;
1545
1546 if(!data1 && !data2)
1547 result = 0;
1548 else if(data1 && !data2)
1549 result = 1;
1550 else if(!data1 && data2)
1551 result = -1;
1552 else if(*data1 > *data2)
1553 result = 1;
1554 else if(*data1 < *data2)
1555 result = -1;
1556 return result;
1557 }
1558
1559 static char * __ecereNameSpace__ecere__com__UInteger_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
1560 {
1561 sprintf(string, "%u", *data);
1562 return string;
1563 }
1564
1565 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
1566
1567 static unsigned int __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string)
1568 {
1569 char * end;
1570 unsigned int result = strtoul(string, &end, 0);
1571
1572 if(end > string)
1573 {
1574 *data = result;
1575 return 0x1;
1576 }
1577 return 0x0;
1578 }
1579
1580 static int __ecereNameSpace__ecere__com__Byte_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data1, unsigned char * data2)
1581 {
1582 int result = 0;
1583
1584 if(!data1 && !data2)
1585 result = 0;
1586 else if(data1 && !data2)
1587 result = 1;
1588 else if(!data1 && data2)
1589 result = -1;
1590 else if(*data1 > *data2)
1591 result = 1;
1592 else if(*data1 < *data2)
1593 result = -1;
1594 return result;
1595 }
1596
1597 static char * __ecereNameSpace__ecere__com__Byte_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string, void * fieldData, unsigned int * needClass)
1598 {
1599 sprintf(string, "%u", (int)*data);
1600 return string;
1601 }
1602
1603 static char * __ecereNameSpace__ecere__com__Char_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * data, char * string, void * fieldData, unsigned int * needClass)
1604 {
1605 if(needClass && *needClass)
1606 {
1607 char ch = *data;
1608
1609 if(ch == '\t')
1610 strcpy(string, "'\t'");
1611 else if(ch == '\n')
1612 strcpy(string, "'\n'");
1613 else if(ch == '\r')
1614 strcpy(string, "'\r'");
1615 else if(ch == '\a')
1616 strcpy(string, "'\a'");
1617 else if(ch == '\\')
1618 strcpy(string, "'\\'");
1619 else if(ch < (char)32 || ch >= (char)127)
1620 sprintf(string, "'\o'", ch);
1621 else
1622 sprintf(string, "'%c'", ch);
1623 }
1624 else
1625 sprintf(string, "%c", *data);
1626 return string;
1627 }
1628
1629 static unsigned int __ecereNameSpace__ecere__com__Byte_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string)
1630 {
1631 char * end;
1632 unsigned char result = (unsigned char)strtoul(string, &end, 0);
1633
1634 if(end > string)
1635 {
1636 *data = result;
1637 return 0x1;
1638 }
1639 return 0x0;
1640 }
1641
1642 static int __ecereNameSpace__ecere__com__Int64_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, long long * data1, long long * data2)
1643 {
1644 int result = 0;
1645
1646 if(!data1 && !data2)
1647 result = 0;
1648 else if(data1 && !data2)
1649 result = 1;
1650 else if(!data1 && data2)
1651 result = -1;
1652 else if(*data1 > *data2)
1653 result = 1;
1654 else if(*data1 < *data2)
1655 result = -1;
1656 return result;
1657 }
1658
1659 static int __ecereNameSpace__ecere__com__UInt64_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data1, uint64 * data2)
1660 {
1661 int result = 0;
1662
1663 if(!data1 && !data2)
1664 result = 0;
1665 else if(data1 && !data2)
1666 result = 1;
1667 else if(!data1 && data2)
1668 result = -1;
1669 else if(*data1 > *data2)
1670 result = 1;
1671 else if(*data1 < *data2)
1672 result = -1;
1673 return result;
1674 }
1675
1676 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
1677
1678 static char * __ecereNameSpace__ecere__com__Int64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, char * string, void * fieldData, unsigned int * needClass)
1679 {
1680 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64d" : "%lld"), *data);
1681 return string;
1682 }
1683
1684 static char * __ecereNameSpace__ecere__com__UInt64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
1685 {
1686 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64u" : "%llu"), *data);
1687 return string;
1688 }
1689
1690 extern long long __ecereNameSpace__ecere__com___strtoi64(char *  string, char * *  endString, int base);
1691
1692 static unsigned int __ecereNameSpace__ecere__com__Int64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
1693 {
1694 char * end;
1695 uint64 result = __ecereNameSpace__ecere__com___strtoi64(string, &end, 0);
1696
1697 if(end > string)
1698 {
1699 *data = result;
1700 return 0x1;
1701 }
1702 return 0x0;
1703 }
1704
1705 extern uint64 __ecereNameSpace__ecere__com___strtoui64(char *  string, char * *  endString, int base);
1706
1707 static unsigned int __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
1708 {
1709 char * end;
1710 uint64 result = __ecereNameSpace__ecere__com___strtoui64(string, &end, 0);
1711
1712 if(end > string)
1713 {
1714 *data = result;
1715 return 0x1;
1716 }
1717 return 0x0;
1718 }
1719
1720 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData;
1721
1722 void __ecereNameSpace__ecere__com__Byte_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1723 {
1724 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, data, 1);
1725 }
1726
1727 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData;
1728
1729 void __ecereNameSpace__ecere__com__Byte_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1730 {
1731 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, data, 1) != 1)
1732 *data = (unsigned char)0;
1733 }
1734
1735 void __ecereNameSpace__ecere__com__Int_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1736 {
1737 unsigned char bytes[4];
1738
1739 (bytes)[0] = (unsigned char)(((*data) >> 24) & 0xFF);
1740 (bytes)[1] = (unsigned char)(((*data) >> 16) & 0xFF);
1741 (bytes)[2] = (unsigned char)(((*data) >> 8) & 0xFF);
1742 (bytes)[3] = (unsigned char)((*data) & 0xFF);
1743 ;
1744 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 4);
1745 }
1746
1747 void __ecereNameSpace__ecere__com__Int_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1748 {
1749 unsigned char bytes[4];
1750
1751 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 4) == 4)
1752 *data = (unsigned int)(((bytes)[0] << (unsigned char)24) | ((bytes)[1] << (unsigned char)16) | ((bytes)[2] << (unsigned char)8) | (bytes)[3]);
1753 else
1754 *data = 0;
1755 }
1756
1757 void __ecereNameSpace__ecere__com__Int64_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1758 {
1759 unsigned char bytes[8];
1760
1761 (bytes)[0] = (unsigned char)(((*data) >> 56) & 0xFF);
1762 (bytes)[1] = (unsigned char)(((*data) >> 48) & 0xFF);
1763 (bytes)[2] = (unsigned char)(((*data) >> 40) & 0xFF);
1764 (bytes)[3] = (unsigned char)(((*data) >> 32) & 0xFF);
1765 (bytes)[4] = (unsigned char)(((*data) >> 24) & 0xFF);
1766 (bytes)[5] = (unsigned char)(((*data) >> 16) & 0xFF);
1767 (bytes)[6] = (unsigned char)(((*data) >> 8) & 0xFF);
1768 (bytes)[7] = (unsigned char)((*data) & 0xFF);
1769 ;
1770 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 8);
1771 }
1772
1773 void __ecereNameSpace__ecere__com__Int64_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1774 {
1775 unsigned char bytes[8];
1776
1777 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 8) == 8)
1778 *data = (((uint64)(bytes)[0] << 56) | ((uint64)(bytes)[1] << 48) | ((uint64)(bytes)[2] << 40) | ((uint64)(bytes)[3] << 32) | ((uint64)(bytes)[4] << 24) | ((bytes)[5] << (unsigned char)16) | ((bytes)[6] << (unsigned char)8) | (bytes)[7]);
1779 else
1780 *data = 0;
1781 }
1782
1783 void __ecereNameSpace__ecere__com__Word_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1784 {
1785 unsigned char bytes[2];
1786
1787 (bytes)[0] = (unsigned char)(((*data) >> (unsigned short)8) & (unsigned short)0xFF);
1788 (bytes)[1] = (unsigned char)(((*data)) & (unsigned short)0xFF);
1789 ;
1790 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 2);
1791 }
1792
1793 void __ecereNameSpace__ecere__com__Word_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1794 {
1795 unsigned char bytes[2];
1796
1797 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 2) == 2)
1798 *data = (unsigned short)(((bytes)[0] << (unsigned char)8) | (bytes)[1]);
1799 else
1800 *data = (unsigned short)0;
1801 }
1802
1803 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (* )(void * ), void (* )(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
1804
1805 extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
1806
1807 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
1808
1809 static void __ecereNameSpace__ecere__com__RegisterClass_Integer(struct __ecereNameSpace__ecere__com__Instance * module)
1810 {
1811 struct __ecereNameSpace__ecere__com__Class * integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1812
1813 integerClass->type = 1000;
1814 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1815 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int");
1816 integerClass->structSize = 0;
1817 integerClass->typeSize = sizeof(int);
1818 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
1819 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
1820 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
1821 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1822 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1823 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1824 integerClass->type = 1000;
1825 integerClass->structSize = 0;
1826 integerClass->typeSize = sizeof(long long);
1827 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1828 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int64");
1829 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
1830 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
1831 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
1832 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1833 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1834 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1835 integerClass->type = 1000;
1836 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1837 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
1838 integerClass->structSize = 0;
1839 integerClass->typeSize = sizeof(unsigned int);
1840 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1841 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1842 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1843 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1844 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1845 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "unsigned int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1846 integerClass->type = 1000;
1847 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1848 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
1849 integerClass->structSize = 0;
1850 integerClass->typeSize = sizeof(unsigned int);
1851 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1852 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1853 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1854 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1855 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1856 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint16", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1857 integerClass->type = 1000;
1858 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1859 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned short");
1860 integerClass->structSize = 0;
1861 integerClass->typeSize = sizeof(unsigned short);
1862 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
1863 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
1864 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "short", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1865 integerClass->type = 1000;
1866 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1867 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("short");
1868 integerClass->structSize = 0;
1869 integerClass->typeSize = sizeof(short);
1870 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
1871 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
1872 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint32", "uint", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1873 integerClass->type = 1000;
1874 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1875 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
1876 integerClass->structSize = 0;
1877 integerClass->typeSize = sizeof(unsigned int);
1878 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1879 integerClass->type = 1000;
1880 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1881 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uint64");
1882 integerClass->structSize = 0;
1883 integerClass->typeSize = sizeof(uint64);
1884 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
1885 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
1886 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1887 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1888 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
1889 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "byte", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1890 integerClass->type = 1000;
1891 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1892 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned char");
1893 integerClass->structSize = 0;
1894 integerClass->typeSize = sizeof(unsigned char);
1895 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
1896 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetString, 1);
1897 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
1898 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
1899 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
1900 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1901 integerClass->type = 1000;
1902 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1903 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char");
1904 integerClass->structSize = 0;
1905 integerClass->typeSize = sizeof(char);
1906 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
1907 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Char_OnGetString, 1);
1908 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
1909 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
1910 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
1911 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1912 integerClass->type = 1000;
1913 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1914 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("ssize_t");
1915 integerClass->structSize = 0;
1916 integerClass->typeSize = sizeof(ssize_t);
1917 if(sizeof(size_t) == 8)
1918 {
1919 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
1920 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
1921 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1922 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1923 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
1924 }
1925 else
1926 {
1927 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
1928 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
1929 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
1930 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1931 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1932 }
1933 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1934 integerClass->type = 1000;
1935 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1936 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("size_t");
1937 integerClass->structSize = 0;
1938 integerClass->typeSize = sizeof(size_t);
1939 if(sizeof(size_t) == 8)
1940 {
1941 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
1942 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
1943 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1944 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1945 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
1946 }
1947 else
1948 {
1949 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1950 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1951 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1952 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1953 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1954 }
1955 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1956 integerClass->type = 1000;
1957 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1958 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uintptr_t");
1959 integerClass->structSize = 0;
1960 integerClass->typeSize = sizeof(uintptr_t);
1961 if(sizeof(uintptr_t) == 8)
1962 {
1963 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
1964 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
1965 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1966 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1967 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
1968 }
1969 else
1970 {
1971 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1972 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1973 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1974 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1975 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1976 }
1977 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1978 integerClass->type = 1000;
1979 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1980 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("intptr_t");
1981 integerClass->structSize = 0;
1982 integerClass->typeSize = sizeof(intptr_t);
1983 if(sizeof(intptr_t) == 8)
1984 {
1985 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
1986 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
1987 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1988 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1989 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
1990 }
1991 else
1992 {
1993 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
1994 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
1995 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
1996 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1997 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1998 }
1999 }
2000
2001 static int __ecereNameSpace__ecere__com__Float_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, float * data1, float * data2)
2002 {
2003 int result = 0;
2004
2005 if(!data1 && !data2)
2006 result = 0;
2007 else if(data1 && !data2)
2008 result = 1;
2009 else if(!data1 && data2)
2010 result = -1;
2011 else if(*data1 > *data2)
2012 result = 1;
2013 else if(*data1 < *data2)
2014 result = -1;
2015 return result;
2016 }
2017
2018 static char * __ecereNameSpace__ecere__com__Float_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string, void * fieldData, unsigned int * needClass)
2019 {
2020 int c;
2021 int last = 0;
2022 int numDigits = 7, num = 1;
2023 char format[10];
2024
2025 while(numDigits && (float)num < *data)
2026 numDigits--, num *= 10;
2027 sprintf(format, "%%.%df", numDigits);
2028 sprintf(string, format, *data);
2029 c = strlen(string) - 1;
2030 for(; c >= 0; c--)
2031 {
2032 if(string[c] != '0')
2033 last = ((last > c) ? last : c);
2034 if(string[c] == '.')
2035 {
2036 if(last == c)
2037 string[c] = (char)0;
2038 else
2039 string[last + 1] = (char)0;
2040 break;
2041 }
2042 }
2043 return string;
2044 }
2045
2046 extern double strtod(char * , char * * );
2047
2048 static unsigned int __ecereNameSpace__ecere__com__Float_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string)
2049 {
2050 char * end;
2051 float result = (float)strtod(string, &end);
2052
2053 if(end > string)
2054 {
2055 *data = result;
2056 return 0x1;
2057 }
2058 return 0x0;
2059 }
2060
2061 static void __ecereNameSpace__ecere__com__Float_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2062 {
2063 unsigned char bytes[4];
2064
2065 (bytes)[0] = (unsigned char)(((*(unsigned int *)data) >> 24) & 0xFF);
2066 (bytes)[1] = (unsigned char)(((*(unsigned int *)data) >> 16) & 0xFF);
2067 (bytes)[2] = (unsigned char)(((*(unsigned int *)data) >> 8) & 0xFF);
2068 (bytes)[3] = (unsigned char)((*(unsigned int *)data) & 0xFF);
2069 ;
2070 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 4);
2071 }
2072
2073 static void __ecereNameSpace__ecere__com__Float_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2074 {
2075 unsigned char bytes[4];
2076
2077 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 4) == 4)
2078 *(unsigned int *)data = (unsigned int)(((bytes)[0] << (unsigned char)24) | ((bytes)[1] << (unsigned char)16) | ((bytes)[2] << (unsigned char)8) | (bytes)[3]);
2079 else
2080 *data = (float)0;
2081 }
2082
2083 static void __ecereNameSpace__ecere__com__RegisterClass_Float(struct __ecereNameSpace__ecere__com__Instance * module)
2084 {
2085 struct __ecereNameSpace__ecere__com__Class * floatClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "float", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2086
2087 floatClass->type = 1000;
2088 (__ecereNameSpace__ecere__com__eSystem_Delete(floatClass->dataTypeString), floatClass->dataTypeString = 0);
2089 floatClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("float");
2090 floatClass->structSize = 0;
2091 floatClass->typeSize = sizeof(float);
2092 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnCompare, 1);
2093 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetString, 1);
2094 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetDataFromString, 1);
2095 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnSerialize, 1);
2096 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnUnserialize, 1);
2097 }
2098
2099 static int __ecereNameSpace__ecere__com__Double_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, double * data1, double * data2)
2100 {
2101 int result = 0;
2102
2103 if(!data1 && !data2)
2104 result = 0;
2105 else if(data1 && !data2)
2106 result = 1;
2107 else if(!data1 && data2)
2108 result = -1;
2109 else if(*data1 > *data2)
2110 result = 1;
2111 else if(*data1 < *data2)
2112 result = -1;
2113 return result;
2114 }
2115
2116 static char * __ecereNameSpace__ecere__com__Double_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string, void * fieldData, unsigned int * needClass)
2117 {
2118 int c;
2119 int last = 0;
2120
2121 if(runtimePlatform == 1)
2122 sprintf(string, "%.15g", *data);
2123 else
2124 sprintf(string, "%.13lf", *data);
2125 c = strlen(string) - 1;
2126 for(; c >= 0; c--)
2127 {
2128 if(string[c] != '0')
2129 last = ((last > c) ? last : c);
2130 if(string[c] == '.')
2131 {
2132 if(last == c)
2133 string[c] = (char)0;
2134 else
2135 string[last + 1] = (char)0;
2136 break;
2137 }
2138 }
2139 return string;
2140 }
2141
2142 static unsigned int __ecereNameSpace__ecere__com__Double_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string)
2143 {
2144 char * end;
2145 double result;
2146
2147 result = strtod(string, &end);
2148 if(end > string)
2149 {
2150 *data = result;
2151 return 0x1;
2152 }
2153 return 0x0;
2154 }
2155
2156 static void __ecereNameSpace__ecere__com__Double_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2157 {
2158 unsigned char bytes[8];
2159
2160 (bytes)[0] = (unsigned char)(((*(uint64 *)data) >> 56) & 0xFF);
2161 (bytes)[1] = (unsigned char)(((*(uint64 *)data) >> 48) & 0xFF);
2162 (bytes)[2] = (unsigned char)(((*(uint64 *)data) >> 40) & 0xFF);
2163 (bytes)[3] = (unsigned char)(((*(uint64 *)data) >> 32) & 0xFF);
2164 (bytes)[4] = (unsigned char)(((*(uint64 *)data) >> 24) & 0xFF);
2165 (bytes)[5] = (unsigned char)(((*(uint64 *)data) >> 16) & 0xFF);
2166 (bytes)[6] = (unsigned char)(((*(uint64 *)data) >> 8) & 0xFF);
2167 (bytes)[7] = (unsigned char)((*(uint64 *)data) & 0xFF);
2168 ;
2169 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 8);
2170 }
2171
2172 static void __ecereNameSpace__ecere__com__Double_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2173 {
2174 unsigned char bytes[8];
2175
2176 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 8) == 8)
2177 *(uint64 *)data = (((uint64)(bytes)[0] << 56) | ((uint64)(bytes)[1] << 48) | ((uint64)(bytes)[2] << 40) | ((uint64)(bytes)[3] << 32) | ((uint64)(bytes)[4] << 24) | ((bytes)[5] << (unsigned char)16) | ((bytes)[6] << (unsigned char)8) | (bytes)[7]);
2178 else
2179 *data = (double)0;
2180 }
2181
2182 static void __ecereNameSpace__ecere__com__RegisterClass_Double(struct __ecereNameSpace__ecere__com__Instance * module)
2183 {
2184 struct __ecereNameSpace__ecere__com__Class * doubleClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "double", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2185
2186 doubleClass->type = 1000;
2187 (__ecereNameSpace__ecere__com__eSystem_Delete(doubleClass->dataTypeString), doubleClass->dataTypeString = 0);
2188 doubleClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("double");
2189 doubleClass->structSize = 0;
2190 doubleClass->typeSize = sizeof(double);
2191 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnCompare, 1);
2192 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetString, 1);
2193 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetDataFromString, 1);
2194 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnSerialize, 1);
2195 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnUnserialize, 1);
2196 }
2197
2198 struct __ecereNameSpace__ecere__com__StaticString
2199 {
2200 char string[1];
2201 } __attribute__ ((gcc_struct));
2202
2203 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__StaticString;
2204
2205 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, struct __ecereNameSpace__ecere__com__Instance * channel)
2206 {
2207 int len = this ? strlen(this->string) : 0;
2208
2209 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, this ? this->string : "", len + 1);
2210 }
2211
2212 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, struct __ecereNameSpace__ecere__com__Instance * channel)
2213 {
2214 if(this)
2215 {
2216 int c;
2217 unsigned int size;
2218
2219 for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, &(*(this)).string[c], 1) && (*(this)).string[c]; c++)
2220 ;
2221 (*(this)).string[c++] = '\0';
2222 }
2223 }
2224
2225 int __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, struct __ecereNameSpace__ecere__com__StaticString * string2)
2226 {
2227 int result = 0;
2228
2229 if(this && string2)
2230 result = (strcasecmp)(this->string, string2->string);
2231 else if(!this && string2)
2232 result = -1;
2233 else if(this && !string2)
2234 result = 1;
2235 return result;
2236 }
2237
2238 char * __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, char * tempString, void * fieldData, unsigned int * needClass)
2239 {
2240 return (char *)(this ? this->string : (((void *)0)));
2241 }
2242
2243 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this)
2244 {
2245 }
2246
2247 static void __ecereNameSpace__ecere__com__String_OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
2248 {
2249 if(newData)
2250 {
2251 int len = strlen(newData);
2252
2253 if(len)
2254 {
2255 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
2256 memcpy(*data, newData, len + 1);
2257 }
2258 else
2259 *data = (((void *)0));
2260 }
2261 else
2262 *data = (((void *)0));
2263 }
2264
2265 static unsigned int __ecereNameSpace__ecere__com__String_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
2266 {
2267 if(newData)
2268 {
2269 int len = strlen(newData);
2270
2271 if(len)
2272 {
2273 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
2274 memcpy(*data, newData, len + 1);
2275 }
2276 else
2277 *data = (((void *)0));
2278 }
2279 return 0x1;
2280 }
2281
2282 int __ecereNameSpace__ecere__com__String_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, char * string1, char * string2)
2283 {
2284 int result = 0;
2285
2286 if(string1 && string2)
2287 result = (strcasecmp)(string1, string2);
2288 else if(!string1 && string2)
2289 result = 1;
2290 else if(string1 && !string2)
2291 result = -1;
2292 return result;
2293 }
2294
2295 static char * __ecereNameSpace__ecere__com__String_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * string, char * tempString, void * fieldData, unsigned int * needClass)
2296 {
2297 return string;
2298 }
2299
2300 static void __ecereNameSpace__ecere__com__String_OnFree(struct __ecereNameSpace__ecere__com__Class * _class, char * string)
2301 {
2302 if(string)
2303 {
2304 __ecereNameSpace__ecere__com__eSystem_Delete(string);
2305 }
2306 }
2307
2308 static void __ecereNameSpace__ecere__com__String_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, char * string, struct __ecereNameSpace__ecere__com__Instance * channel)
2309 {
2310 int len = string ? strlen(string) : 0;
2311
2312 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, string ? string : "", len + 1);
2313 }
2314
2315 extern unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(char *  source);
2316
2317 extern int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(char *  source, char *  dest, int max);
2318
2319 static void __ecereNameSpace__ecere__com__String_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, char ** string, struct __ecereNameSpace__ecere__com__Instance * channel)
2320 {
2321 if(string)
2322 {
2323 int c;
2324 unsigned int size = 64;
2325
2326 *string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size));
2327 for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, &(*string)[c], 1) && (*string)[c]; c++)
2328 {
2329 if(c == size - 1)
2330 {
2331 size += size / 2;
2332 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (size));
2333 }
2334 }
2335 (*string)[c++] = '\0';
2336 if(!__ecereNameSpace__ecere__sys__UTF8Validate(*string))
2337 {
2338 char * newString = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c * 2));
2339
2340 __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(*string, newString, c * 2);
2341 (__ecereNameSpace__ecere__com__eSystem_Delete(*string), *string = 0);
2342 *string = __ecereNameSpace__ecere__com__eSystem_Renew(newString, sizeof(char) * (strlen(newString) + 1));
2343 }
2344 else
2345 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (c));
2346 }
2347 }
2348
2349 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
2350
2351 static void __ecereNameSpace__ecere__com__RegisterClass_String(struct __ecereNameSpace__ecere__com__Instance * module)
2352 {
2353 struct __ecereNameSpace__ecere__com__Class * stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char *", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2354
2355 (__ecereNameSpace__ecere__com__eSystem_Delete(stringClass->dataTypeString), stringClass->dataTypeString = 0);
2356 stringClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char *");
2357 stringClass->structSize = 0;
2358 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCompare, 1);
2359 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCopy", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCopy, 1);
2360 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnFree", (((void *)0)), __ecereNameSpace__ecere__com__String_OnFree, 1);
2361 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetString, 1);
2362 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetDataFromString, 1);
2363 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnSerialize, 1);
2364 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnUnserialize, 1);
2365 stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "String", "char *", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2366 stringClass->structSize = 0;
2367 __ecereNameSpace__ecere__com__eClass_AddProperty(stringClass, (((void *)0)), "char *", (((void *)0)), (((void *)0)), 1);
2368 }
2369
2370 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
2371
2372 void __ecereNameSpace__ecere__com__InitializeDataTypes1(struct __ecereNameSpace__ecere__com__Instance * module)
2373 {
2374 struct __ecereNameSpace__ecere__com__Class * baseClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "class");
2375
2376 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnDisplay", "void typed_object::OnDisplay(Surface surface, int x, int y, int width, void * fieldData, Alignment alignment, DataDisplayFlags displayFlags)", (((void *)0)), 1);
2377 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCompare", "int typed_object::OnCompare(any_object object)", __ecereNameSpace__ecere__com__OnCompare, 1);
2378 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCopy", "void typed_object&::OnCopy(any_object newData)", __ecereNameSpace__ecere__com__OnCopy, 1);
2379 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnFree", "void typed_object::OnFree(void)", __ecereNameSpace__ecere__com__OnFree, 1);
2380 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetString", "char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__OnGetString, 1);
2381 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(char * string)", __ecereNameSpace__ecere__com__OnGetDataFromString, 1);
2382 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnEdit", "Window typed_object::OnEdit(DataBox dataBox, DataBox obsolete, int x, int y, int w, int h, void * userData)", (((void *)0)), 1);
2383 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSerialize", "void typed_object::OnSerialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnSerialize, 1);
2384 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnUnserialize", "void typed_object&::OnUnserialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnUnserialize, 1);
2385 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSaveEdit", "bool typed_object&::OnSaveEdit(Window window, void * object)", (((void *)0)), 1);
2386 }
2387
2388 void __ecereNameSpace__ecere__com__InitializeDataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2389 {
2390 struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "enum");
2391
2392 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2393 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2394 __ecereNameSpace__ecere__com__RegisterClass_Integer(module);
2395 __ecereNameSpace__ecere__com__RegisterClass_Float(module);
2396 __ecereNameSpace__ecere__com__RegisterClass_Double(module);
2397 __ecereNameSpace__ecere__com__RegisterClass_String(module);
2398 }
2399
2400 int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, va_list args)
2401 {
2402 int len = 0;
2403 char * result = ((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))class->_vTbl[__ecereVMethodID_class_OnGetString])(class, object, buffer, (((void *)0)), (((void *)0)));
2404
2405 if(result)
2406 {
2407 len = strlen(result);
2408 if(len >= maxLen)
2409 len = maxLen - 1;
2410 if(result != buffer)
2411 memcpy(buffer, result, len);
2412 }
2413 while(0x1)
2414 {
2415 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
2416 void * data = (((void *)0));
2417
2418 _class = __builtin_va_arg(args, void *);
2419 if(!_class)
2420 break;
2421 data = __builtin_va_arg(args, void *);
2422 if(data)
2423 {
2424 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)_class->_vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, (((void *)0)), (((void *)0)));
2425 if(result)
2426 {
2427 int newLen = strlen(result);
2428
2429 if(len + newLen >= maxLen)
2430 newLen = maxLen - 1 - len;
2431 if(result != buffer + len)
2432 memcpy(buffer + len, result, newLen);
2433 len += newLen;
2434 }
2435 }
2436 }
2437 buffer[len] = (char)0;
2438 return len;
2439 }
2440
2441 int __ecereNameSpace__ecere__com__PrintBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2442 {
2443 va_list args;
2444 int len;
2445
2446 __builtin_va_start(args, object);
2447 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen, class, object, args);
2448 __builtin_va_end(args);
2449 return len;
2450 }
2451
2452 int __ecereNameSpace__ecere__com__PrintLnBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2453 {
2454 va_list args;
2455 int len;
2456
2457 __builtin_va_start(args, object);
2458 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen - 1, class, object, args);
2459 buffer[len++] = '\n';
2460 buffer[len] = '\0';
2461 __builtin_va_end(args);
2462 return len;
2463 }
2464
2465 char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2466 {
2467 char buffer[4096];
2468 va_list args;
2469 char * string;
2470 int len;
2471
2472 __builtin_va_start(args, object);
2473 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2474 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1));
2475 memcpy(string, buffer, len + 1);
2476 __builtin_va_end(args);
2477 return string;
2478 }
2479
2480 char * __ecereNameSpace__ecere__com__PrintLnString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2481 {
2482 char buffer[4096];
2483 va_list args;
2484 char * string;
2485 int len;
2486
2487 __builtin_va_start(args, object);
2488 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2489 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 2));
2490 memcpy(string, buffer, len);
2491 string[len++] = '\n';
2492 string[len] = '\0';
2493 __builtin_va_end(args);
2494 return string;
2495 }
2496
2497 extern int puts(char * );
2498
2499 void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2500 {
2501 va_list args;
2502 char buffer[4096];
2503
2504 __builtin_va_start(args, object);
2505 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2506 __builtin_va_end(args);
2507 puts(buffer);
2508 }
2509
2510 extern int fputs(char * , void *  stream);
2511
2512 void __ecereNameSpace__ecere__com__Print(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2513 {
2514 va_list args;
2515 char buffer[4096];
2516
2517 __builtin_va_start(args, object);
2518 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2519 __builtin_va_end(args);
2520 fputs(buffer, eC_stdout());
2521 }
2522
2523 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
2524
2525 struct __ecereNameSpace__ecere__com__DefinedExpression;
2526
2527 extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2528
2529 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
2530
2531 struct __ecereNameSpace__ecere__com__NameSpace
2532 {
2533 char *  name;
2534 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
2535 struct __ecereNameSpace__ecere__com__NameSpace *  left;
2536 struct __ecereNameSpace__ecere__com__NameSpace *  right;
2537 int depth;
2538 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
2539 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2540 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2541 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2542 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2543 } __attribute__ ((gcc_struct));
2544
2545 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2546
2547 struct __ecereNameSpace__ecere__com__Module
2548 {
2549 struct __ecereNameSpace__ecere__com__Instance * application;
2550 struct __ecereNameSpace__ecere__sys__OldList classes;
2551 struct __ecereNameSpace__ecere__sys__OldList defines;
2552 struct __ecereNameSpace__ecere__sys__OldList functions;
2553 struct __ecereNameSpace__ecere__sys__OldList modules;
2554 struct __ecereNameSpace__ecere__com__Instance * prev;
2555 struct __ecereNameSpace__ecere__com__Instance * next;
2556 char *  name;
2557 void *  library;
2558 void *  Unload;
2559 int importType;
2560 int origImportType;
2561 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2562 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2563 } __attribute__ ((gcc_struct));
2564
2565 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2566
2567 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
2568
2569 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
2570
2571 struct __ecereNameSpace__ecere__com__GlobalFunction;
2572
2573 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2574
2575 void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2576 {
2577 struct __ecereNameSpace__ecere__com__Class * class;
2578
2579 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXBYTE", "0xff", module, 4);
2580 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXWORD", "0xffff", module, 4);
2581 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT", "((int)0x80000000)", module, 4);
2582 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT", "((int)0x7fffffff)", module, 4);
2583 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT64", "((long long)0x8000000000000000LL)", module, 4);
2584 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT64", "((long long)0x7fffffffffffffffLL)", module, 4);
2585 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDWORD", "0xffffffff", module, 4);
2586 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXQWORD", "0xffffffffffffffffLL", module, 4);
2587 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINFLOAT", "((float)1.17549435082228750e-38)", module, 4);
2588 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXFLOAT", "((float)3.40282346638528860e+38)", module, 4);
2589 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINDOUBLE", "((double)2.2250738585072014e-308)", module, 4);
2590 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDOUBLE", "((double)1.7976931348623158e+308)", module, 4);
2591 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEXLL", "(GetRuntimePlatform() == win32) ? \"0x%I64XLL\" : \"0x%llXLL\"", module, 4);
2592 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEX", "(GetRuntimePlatform() == win32) ? \"0x%I64X\" : \"0x%llX\"", module, 4);
2593 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64DLL", "(GetRuntimePlatform() == win32) ? \"%I64dLL\" : \"%lldLL\"", module, 4);
2594 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64D", "(GetRuntimePlatform() == win32) ? \"%I64d\" : \"%lld\"", module, 4);
2595 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64U", "(GetRuntimePlatform() == win32) ? \"%I64u\" : \"%llu\"", module, 4);
2596 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::IOChannel", 0, 0, 0, 0, 0, module, 4, 1);
2597 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2598 __ecereClass___ecereNameSpace__ecere__com__IOChannel = class;
2599 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "WriteData", "unsigned int WriteData(byte * data, unsigned int numBytes)", 0, 1);
2600 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ReadData", "unsigned int ReadData(byte * data, unsigned int numBytes)", 0, 1);
2601 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Get", "void Get(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get, 1);
2602 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Put", "void Put(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put, 1);
2603 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Serialize", "void Serialize(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize, 1);
2604 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Unserialize", "void Unserialize(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize, 1);
2605 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::SerialBuffer", "ecere::com::IOChannel", sizeof(struct __ecereNameSpace__ecere__com__SerialBuffer), 0, 0, __ecereDestructor___ecereNameSpace__ecere__com__SerialBuffer, module, 4, 1);
2606 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2607 __ecereClass___ecereNameSpace__ecere__com__SerialBuffer = class;
2608 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData, 1);
2609 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData, 1);
2610 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free, 1);
2611 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_buffer", "byte *", arch_PointerSize, arch_PointerSize, 1);
2612 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "uint", 4, 4, 1);
2613 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_size", "uint", 4, 4, 1);
2614 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pos", "uint", 4, 4, 1);
2615 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffer", "byte *", __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_buffer, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_buffer, 1);
2616 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
2617 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
2618 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "size", "unsigned int", __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size, 1);
2619 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
2620 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
2621 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Enum_OnGetString", "char * ecere::com::Enum_OnGetString(ecere::com::Class _class, int * data, char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Enum_OnGetString, module, 4);
2622 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Integer_OnGetString", "char * ecere::com::Integer_OnGetString(ecere::com::Class _class, int * data, char * string, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Integer_OnGetString, module, 4);
2623 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Byte_OnSerialize", "void ecere::com::Byte_OnSerialize(ecere::com::Class _class, byte * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Byte_OnSerialize, module, 4);
2624 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Byte_OnUnserialize", "void ecere::com::Byte_OnUnserialize(ecere::com::Class _class, byte * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Byte_OnUnserialize, module, 4);
2625 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Int_OnSerialize", "void ecere::com::Int_OnSerialize(ecere::com::Class _class, int * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Int_OnSerialize, module, 4);
2626 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Int_OnUnserialize", "void ecere::com::Int_OnUnserialize(ecere::com::Class _class, int * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Int_OnUnserialize, module, 4);
2627 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Int64_OnSerialize", "void ecere::com::Int64_OnSerialize(ecere::com::Class _class, int64 * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Int64_OnSerialize, module, 4);
2628 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Int64_OnUnserialize", "void ecere::com::Int64_OnUnserialize(ecere::com::Class _class, int64 * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Int64_OnUnserialize, module, 4);
2629 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Word_OnSerialize", "void ecere::com::Word_OnSerialize(ecere::com::Class _class, uint16 * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Word_OnSerialize, module, 4);
2630 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Word_OnUnserialize", "void ecere::com::Word_OnUnserialize(ecere::com::Class _class, uint16 * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Word_OnUnserialize, module, 4);
2631 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::StaticString", 0, sizeof(struct __ecereNameSpace__ecere__com__StaticString), 0, 0, 0, module, 4, 1);
2632 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2633 __ecereClass___ecereNameSpace__ecere__com__StaticString = class;
2634 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnCompare, 1);
2635 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree, 1);
2636 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString, 1);
2637 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize, 1);
2638 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnUnserialize, 1);
2639 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "string", "char[1]", 1, 1, 1);
2640 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::String_OnCompare", "int ecere::com::String_OnCompare(ecere::com::Class _class, char * string1, char * string2)", __ecereNameSpace__ecere__com__String_OnCompare, module, 4);
2641 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes1", "void ecere::com::InitializeDataTypes1(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes1, module, 4);
2642 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes", "void ecere::com::InitializeDataTypes(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes, module, 4);
2643 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintStdArgsToBuffer", "int ecere::com::PrintStdArgsToBuffer(char * buffer, int maxLen, typed_object object, __builtin_va_list args)", __ecereNameSpace__ecere__com__PrintStdArgsToBuffer, module, 4);
2644 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintBuf", "int ecere::com::PrintBuf(char * buffer, int maxLen, typed_object object, ...)", __ecereNameSpace__ecere__com__PrintBuf, module, 4);
2645 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLnBuf", "int ecere::com::PrintLnBuf(char * buffer, int maxLen, typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLnBuf, module, 4);
2646 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintString", "char * ecere::com::PrintString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintString, module, 4);
2647 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLnString", "char * ecere::com::PrintLnString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLnString, module, 4);
2648 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLn", "void ecere::com::PrintLn(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLn, module, 4);
2649 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Print", "void ecere::com::Print(typed_object object, ...)", __ecereNameSpace__ecere__com__Print, module, 4);
2650 }
2651
2652 void __ecereUnregisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2653 {
2654
2655 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
2656 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
2657 }
2658