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