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 unsigned int checkFor1 = 1, checkFor9 = 1;
698 int numDigits = 7, num = 1;
699 int first9 = 0;
700 char format[10];
701 char * dot;
702 int len;
703
704 while(numDigits && (float)num < f)
705 numDigits--, num *= 10;
706 sprintf(format, "%%.%df", numDigits);
707 sprintf(string, format, f);
708 dot = strchr(string, '.');
709 len = strlen(string);
710 c = len - 1;
711 for(; c >= 0; c--)
712 {
713 char ch = string[c];
714
715 if(ch != '0' && dot)
716 {
717 if(ch == '1' && string + c - dot >= 6 && c == len - 1 && checkFor1)
718 checkFor1 = 0;
719 else if(ch == '9' && string + c - dot >= 6 && c == len - 1 && checkFor9)
720 first9 = c;
721 else
722 {
723 last = ((last > c) ? last : c);
724 checkFor9 = 0;
725 checkFor1 = 0;
726 }
727 }
728 if(ch == '.')
729 {
730 if(last == c)
731 string[c] = 0;
732 else
733 {
734 string[last + 1] = 0;
735 if(first9)
736 {
737 while(--first9 > 0)
738 {
739 if(first9 != c)
740 if(string[first9] < '9')
741 {
742 string[first9]++;
743 break;
744 }
745 }
746 if(first9 < c)
747 {
748 string[c - 1] = '1';
749 first9 = c;
750 }
751 string[first9] = 0;
752 }
753 }
754 break;
755 }
756 }
757 }
758 return string;
759 }
760
761 static unsigned int __ecereNameSpace__ecere__com__Float_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string)
762 {
763 char * end;
764 float result = (float)strtod(string, &end);
765
766 if(end > string)
767 {
768 *data = result;
769 return 1;
770 }
771 return 0;
772 }
773
774 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);
775
776 static int __ecereNameSpace__ecere__com__Double_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, double * data1, double * data2)
777 {
778 int result = 0;
779
780 if(!data1 && !data2)
781 result = 0;
782 else if(data1 && !data2)
783 result = 1;
784 else if(!data1 && data2)
785 result = -1;
786 else if(*data1 > *data2)
787 result = 1;
788 else if(*data1 < *data2)
789 result = -1;
790 return result;
791 }
792
793 static char * __ecereNameSpace__ecere__com__Double_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string, void * fieldData, unsigned int * needClass)
794 {
795 double f = *data;
796
797 if(__ecereProp_double_Get_isInf(f))
798 {
799 if(__ecereProp_double_Get_signBit(f))
800 strcpy(string, "-inf");
801 else
802 strcpy(string, "inf");
803 }
804 else if(__ecereProp_double_Get_isNan(f))
805 {
806 if(__ecereProp_double_Get_signBit(f))
807 strcpy(string, "-nan");
808 else
809 strcpy(string, "nan");
810 }
811 else
812 {
813 int c;
814 int last = 0;
815
816 if(runtimePlatform == 1)
817 sprintf(string, "%.15g", f);
818 else
819 sprintf(string, "%.13lf", f);
820 c = strlen(string) - 1;
821 for(; c >= 0; c--)
822 {
823 if(string[c] != '0')
824 last = ((last > c) ? last : c);
825 if(string[c] == '.')
826 {
827 if(last == c)
828 string[c] = 0;
829 else
830 string[last + 1] = 0;
831 break;
832 }
833 }
834 }
835 return string;
836 }
837
838 static unsigned int __ecereNameSpace__ecere__com__Double_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string)
839 {
840 char * end;
841 double result;
842
843 result = strtod(string, &end);
844 if(end > string)
845 {
846 *data = result;
847 return 1;
848 }
849 return 0;
850 }
851
852 static void __ecereNameSpace__ecere__com__String_OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
853 {
854 if(newData)
855 {
856 int len = strlen(newData);
857
858 if(len)
859 {
860 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
861 memcpy(*data, newData, len + 1);
862 }
863 else
864 *data = (((void *)0));
865 }
866 else
867 *data = (((void *)0));
868 }
869
870 static unsigned int __ecereNameSpace__ecere__com__String_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
871 {
872 if(newData)
873 {
874 int len = strlen(newData);
875
876 if(len)
877 {
878 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
879 memcpy(*data, newData, len + 1);
880 }
881 else
882 *data = (((void *)0));
883 }
884 return 1;
885 }
886
887 int __ecereNameSpace__ecere__com__String_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, const char * string1, const char * string2)
888 {
889 int result = 0;
890
891 if(string1 && string2)
892 result = (strcasecmp)(string1, string2);
893 else if(!string1 && string2)
894 result = 1;
895 else if(string1 && !string2)
896 result = -1;
897 return result;
898 }
899
900 static char * __ecereNameSpace__ecere__com__String_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * string, char * tempString, void * fieldData, unsigned int * needClass)
901 {
902 return string;
903 }
904
905 static void __ecereNameSpace__ecere__com__String_OnFree(struct __ecereNameSpace__ecere__com__Class * _class, char * string)
906 {
907 if(string)
908 {
909 __ecereNameSpace__ecere__com__eSystem_Delete(string);
910 }
911 }
912
913 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData;
914
915 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData;
916
917 struct __ecereNameSpace__ecere__com__Property
918 {
919 struct __ecereNameSpace__ecere__com__Property * prev;
920 struct __ecereNameSpace__ecere__com__Property * next;
921 const char *  name;
922 unsigned int isProperty;
923 int memberAccess;
924 int id;
925 struct __ecereNameSpace__ecere__com__Class * _class;
926 const char *  dataTypeString;
927 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
928 struct __ecereNameSpace__ecere__com__Instance * dataType;
929 void (*  Set)(void * , int);
930 int (*  Get)(void * );
931 unsigned int (*  IsSet)(void * );
932 void *  data;
933 void *  symbol;
934 int vid;
935 unsigned int conversion;
936 unsigned int watcherOffset;
937 const char *  category;
938 unsigned int compiled;
939 unsigned int selfWatchable;
940 unsigned int isWatchable;
941 } ecere_gcc_struct;
942
943 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
944
945 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
946
947 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
948
949 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);
950
951 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
952
953 unsigned char *  __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this);
954
955 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_buffer(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char *  value);
956
957 unsigned int __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size(struct __ecereNameSpace__ecere__com__Instance * this);
958
959 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value);
960
961 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
962
963 int __ecereVMethodID_class_OnSaveEdit;
964
965 int __ecereVMethodID_class_OnEdit;
966
967 int __ecereVMethodID_class_OnSerialize;
968
969 int __ecereVMethodID_class_OnUnserialize;
970
971 static const char * __ecereNameSpace__ecere__com__IntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int data, char * string, void * fieldData, unsigned int * needClass)
972 {
973 return __ecereNameSpace__ecere__com__Integer_OnGetString(_class, &data, string, fieldData, needClass);
974 }
975
976 static const char * __ecereNameSpace__ecere__com__UIntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int data, char * string, void * fieldData, unsigned int * needClass)
977 {
978 return __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(_class, &data, string, fieldData, needClass);
979 }
980
981 static const char * __ecereNameSpace__ecere__com__IntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long data, char * string, void * fieldData, unsigned int * needClass)
982 {
983 return __ecereNameSpace__ecere__com__Int64_OnGetString(_class, &data, string, fieldData, needClass);
984 }
985
986 static const char * __ecereNameSpace__ecere__com__UIntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 data, char * string, void * fieldData, unsigned int * needClass)
987 {
988 return __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(_class, &data, string, fieldData, needClass);
989 }
990
991 struct __ecereNameSpace__ecere__sys__NamedLink64;
992
993 struct __ecereNameSpace__ecere__sys__NamedLink64
994 {
995 struct __ecereNameSpace__ecere__sys__NamedLink64 * prev;
996 struct __ecereNameSpace__ecere__sys__NamedLink64 * next;
997 char *  name;
998 long long data;
999 } ecere_gcc_struct;
1000
1001 struct __ecereNameSpace__ecere__sys__BinaryTree;
1002
1003 struct __ecereNameSpace__ecere__sys__BinaryTree
1004 {
1005 struct __ecereNameSpace__ecere__sys__BTNode * root;
1006 int count;
1007 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1008 void (*  FreeKey)(void *  key);
1009 } ecere_gcc_struct;
1010
1011 struct __ecereNameSpace__ecere__com__DataMember;
1012
1013 struct __ecereNameSpace__ecere__com__DataMember
1014 {
1015 struct __ecereNameSpace__ecere__com__DataMember * prev;
1016 struct __ecereNameSpace__ecere__com__DataMember * next;
1017 const char *  name;
1018 unsigned int isProperty;
1019 int memberAccess;
1020 int id;
1021 struct __ecereNameSpace__ecere__com__Class * _class;
1022 const char *  dataTypeString;
1023 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1024 struct __ecereNameSpace__ecere__com__Instance * dataType;
1025 int type;
1026 int offset;
1027 int memberID;
1028 struct __ecereNameSpace__ecere__sys__OldList members;
1029 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1030 int memberOffset;
1031 short structAlignment;
1032 short pointerAlignment;
1033 } ecere_gcc_struct;
1034
1035 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);
1036
1037 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);
1038
1039 struct __ecereNameSpace__ecere__com__Method;
1040
1041 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1042 {
1043 union
1044 {
1045 struct
1046 {
1047 const char *  dataTypeString;
1048 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1049 } ecere_gcc_struct __anon1;
1050 struct __ecereNameSpace__ecere__com__DataValue expression;
1051 struct
1052 {
1053 const char *  memberString;
1054 union
1055 {
1056 struct __ecereNameSpace__ecere__com__DataMember * member;
1057 struct __ecereNameSpace__ecere__com__Property * prop;
1058 struct __ecereNameSpace__ecere__com__Method * method;
1059 } ecere_gcc_struct __anon1;
1060 } ecere_gcc_struct __anon2;
1061 } ecere_gcc_struct __anon1;
1062 } ecere_gcc_struct;
1063
1064 struct __ecereNameSpace__ecere__com__Method
1065 {
1066 const char *  name;
1067 struct __ecereNameSpace__ecere__com__Method * parent;
1068 struct __ecereNameSpace__ecere__com__Method * left;
1069 struct __ecereNameSpace__ecere__com__Method * right;
1070 int depth;
1071 int (*  function)();
1072 int vid;
1073 int type;
1074 struct __ecereNameSpace__ecere__com__Class * _class;
1075 void *  symbol;
1076 const char *  dataTypeString;
1077 struct __ecereNameSpace__ecere__com__Instance * dataType;
1078 int memberAccess;
1079 } ecere_gcc_struct;
1080
1081 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);
1082
1083 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);
1084
1085 struct __ecereNameSpace__ecere__com__Module;
1086
1087 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
1088
1089 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);
1090
1091 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);
1092
1093 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);
1094
1095 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);
1096
1097 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
1098
1099 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);
1100
1101 struct __ecereNameSpace__ecere__com__BitMember;
1102
1103 struct __ecereNameSpace__ecere__com__BitMember
1104 {
1105 struct __ecereNameSpace__ecere__com__BitMember * prev;
1106 struct __ecereNameSpace__ecere__com__BitMember * next;
1107 const char *  name;
1108 unsigned int isProperty;
1109 int memberAccess;
1110 int id;
1111 struct __ecereNameSpace__ecere__com__Class * _class;
1112 const char *  dataTypeString;
1113 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1114 struct __ecereNameSpace__ecere__com__Instance * dataType;
1115 int type;
1116 int size;
1117 int pos;
1118 uint64 mask;
1119 } ecere_gcc_struct;
1120
1121 struct __ecereNameSpace__ecere__com__NameSpace;
1122
1123 struct __ecereNameSpace__ecere__com__NameSpace
1124 {
1125 const char *  name;
1126 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
1127 struct __ecereNameSpace__ecere__com__NameSpace *  left;
1128 struct __ecereNameSpace__ecere__com__NameSpace *  right;
1129 int depth;
1130 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
1131 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1132 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1133 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1134 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1135 } ecere_gcc_struct;
1136
1137 struct __ecereNameSpace__ecere__com__Class
1138 {
1139 struct __ecereNameSpace__ecere__com__Class * prev;
1140 struct __ecereNameSpace__ecere__com__Class * next;
1141 const char *  name;
1142 int offset;
1143 int structSize;
1144 void * *  _vTbl;
1145 int vTblSize;
1146 unsigned int (*  Constructor)(void * );
1147 void (*  Destructor)(void * );
1148 int offsetClass;
1149 int sizeClass;
1150 struct __ecereNameSpace__ecere__com__Class * base;
1151 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1152 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1153 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1154 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1155 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1156 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1157 int memberID;
1158 int startMemberID;
1159 int type;
1160 struct __ecereNameSpace__ecere__com__Instance * module;
1161 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
1162 const char *  dataTypeString;
1163 struct __ecereNameSpace__ecere__com__Instance * dataType;
1164 int typeSize;
1165 int defaultAlignment;
1166 void (*  Initialize)();
1167 int memberOffset;
1168 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1169 const char *  designerClass;
1170 unsigned int noExpansion;
1171 const char *  defaultProperty;
1172 unsigned int comRedefinition;
1173 int count;
1174 int isRemote;
1175 unsigned int internalDecl;
1176 void *  data;
1177 unsigned int computeSize;
1178 short structAlignment;
1179 short pointerAlignment;
1180 int destructionWatchOffset;
1181 unsigned int fixed;
1182 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1183 int inheritanceAccess;
1184 const char *  fullName;
1185 void *  symbol;
1186 struct __ecereNameSpace__ecere__sys__OldList conversions;
1187 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1188 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
1189 struct __ecereNameSpace__ecere__com__Class * templateClass;
1190 struct __ecereNameSpace__ecere__sys__OldList templatized;
1191 int numParams;
1192 unsigned int isInstanceClass;
1193 unsigned int byValueSystemClass;
1194 } ecere_gcc_struct;
1195
1196 struct __ecereNameSpace__ecere__com__Application
1197 {
1198 int argc;
1199 const char * *  argv;
1200 int exitCode;
1201 unsigned int isGUIApp;
1202 struct __ecereNameSpace__ecere__sys__OldList allModules;
1203 char *  parsedCommand;
1204 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1205 } ecere_gcc_struct;
1206
1207 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IOChannel;
1208
1209 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
1210
1211 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__StaticString;
1212
1213 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data)
1214 {
1215 (__extension__ ({
1216 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1217
1218 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize]);
1219 __internal_VirtualMethod ? __internal_VirtualMethod(class, data, this) : (void)1;
1220 }));
1221 }
1222
1223 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
1224 {
1225 (__extension__ ({
1226 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1227
1228 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize]);
1229 __internal_VirtualMethod ? __internal_VirtualMethod(class, data, this) : (void)1;
1230 }));
1231 }
1232
1233 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data)
1234 {
1235 (__extension__ ({
1236 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1237
1238 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize]);
1239 __internal_VirtualMethod ? __internal_VirtualMethod(class, data, this) : (void)1;
1240 }));
1241 }
1242
1243 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
1244 {
1245 (__extension__ ({
1246 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
1247
1248 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize]);
1249 __internal_VirtualMethod ? __internal_VirtualMethod(class, data, this) : (void)1;
1250 }));
1251 }
1252
1253 const char * __ecereNameSpace__ecere__com__Enum_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
1254 {
1255 struct __ecereNameSpace__ecere__sys__NamedLink64 * item = (((void *)0));
1256 struct __ecereNameSpace__ecere__com__Class * b;
1257 long long i64Data = 0;
1258
1259 switch(_class->typeSize)
1260 {
1261 case 1:
1262 i64Data = !strcmp(_class->dataTypeString, "byte") ? *(unsigned char *)data : *(char *)data;
1263 break;
1264 case 2:
1265 i64Data = !strcmp(_class->dataTypeString, "uint16") ? *(unsigned short *)data : *(short *)data;
1266 break;
1267 case 4:
1268 i64Data = !strcmp(_class->dataTypeString, "uint") ? *(unsigned int *)data : *(int *)data;
1269 break;
1270 case 8:
1271 i64Data = !strcmp(_class->dataTypeString, "uint64") ? *(long long *)data : *(long long *)data;
1272 break;
1273 }
1274 for(b = _class; !item && b && b->type == 4; b = b->base)
1275 {
1276 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)b->data;
1277
1278 for(item = enumeration->values.first; item; item = item->next)
1279 if(item->data == i64Data)
1280 break;
1281 }
1282 if(item)
1283 {
1284 strcpy(tempString, item->name);
1285 if(!needClass || !*needClass)
1286 tempString[0] = (char)toupper(tempString[0]);
1287 return tempString;
1288 }
1289 else
1290 return (((void *)0));
1291 }
1292
1293 static unsigned int __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, const char * string)
1294 {
1295 struct __ecereNameSpace__ecere__sys__NamedLink64 * item = (((void *)0));
1296 struct __ecereNameSpace__ecere__com__Class * b;
1297
1298 for(b = _class; !item && b && b->type == 4; b = b->base)
1299 {
1300 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)_class->data;
1301
1302 for(item = enumeration->values.first; item; item = item->next)
1303 {
1304 if(item->name && !(strcasecmp)(item->name, string))
1305 break;
1306 }
1307 }
1308 if(item)
1309 {
1310 switch(_class->typeSize)
1311 {
1312 case 1:
1313 if(!strcmp(_class->dataTypeString, "byte"))
1314 *(unsigned char *)data = (unsigned char)item->data;
1315 else
1316 *(char *)data = (char)item->data;
1317 break;
1318 case 2:
1319 if(!strcmp(_class->dataTypeString, "uint16"))
1320 *(unsigned short *)data = (unsigned short)item->data;
1321 else
1322 *(short *)data = (short)item->data;
1323 break;
1324 case 4:
1325 if(!strcmp(_class->dataTypeString, "uint"))
1326 *(unsigned int *)data = (unsigned int)item->data;
1327 else
1328 *(int *)data = (int)item->data;
1329 break;
1330 case 8:
1331 if(!strcmp(_class->dataTypeString, "uint64"))
1332 *(uint64 *)data = *(uint64 *)&item->data;
1333 else
1334 *(long long *)data = item->data;
1335 break;
1336 }
1337 return 1;
1338 }
1339 else
1340 return __ecereNameSpace__ecere__com__Int64_OnGetDataFromString(_class, data, string);
1341 return 0;
1342 }
1343
1344 static void __ecereNameSpace__ecere__com__OnFree(struct __ecereNameSpace__ecere__com__Class * _class, void * data)
1345 {
1346 if(_class->templateClass)
1347 _class = _class->templateClass;
1348 if(_class->type == 0)
1349 {
1350 __ecereNameSpace__ecere__com__eInstance_DecRef(data);
1351 }
1352 else if(_class->type == 5 && data)
1353 {
1354 while(_class && _class->type == 5)
1355 {
1356 if(_class->Destructor)
1357 _class->Destructor(data);
1358 _class = _class->base;
1359 }
1360 (__ecereNameSpace__ecere__com__eSystem_Delete(data), data = 0);
1361 }
1362 }
1363
1364 static int __ecereNameSpace__ecere__com__DataMember_OnCompare(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data1, void * data2)
1365 {
1366 struct __ecereNameSpace__ecere__com__DataMember * member;
1367 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1368
1369 for(member = parentMember->members.first; member; member = member->next)
1370 {
1371 int memberResult = 0;
1372
1373 if(member->type == 0)
1374 {
1375 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1376
1377 if(!memberType)
1378 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1379 if(!memberType)
1380 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1381 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1382 {
1383 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
1384 if(memberResult)
1385 return memberResult;
1386 }
1387 else
1388 {
1389 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
1390
1391 value1.__anon1.i = *(int *)((unsigned char *)data1 + member->offset);
1392 value2.__anon1.i = *(int *)((unsigned char *)data2 + member->offset);
1393 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
1394 if(memberResult)
1395 return memberResult;
1396 }
1397 }
1398 else
1399 {
1400 memberResult = __ecereNameSpace__ecere__com__DataMember_OnCompare(member, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
1401 if(memberResult)
1402 return memberResult;
1403 }
1404 }
1405 return 0;
1406 }
1407
1408 static void __ecereNameSpace__ecere__com__OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, void * newData)
1409 {
1410 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1411 {
1412 if(newData)
1413 memcpy(data, newData, _class->typeSize);
1414 else
1415 memset(data, 0, _class->typeSize);
1416 }
1417 else if(_class->type != 1 && (_class->type != 1000 || _class->byValueSystemClass))
1418 {
1419 *data = newData;
1420 }
1421 else if(newData)
1422 memcpy(data, newData, _class->typeSize);
1423 else
1424 memset(data, 0, _class->typeSize);
1425 }
1426
1427 static int __ecereNameSpace__ecere__com__DataMember_OnSerialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1428 {
1429 struct __ecereNameSpace__ecere__com__DataMember * member;
1430 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1431
1432 for(member = parentMember->members.first; member; member = member->next)
1433 {
1434 if(member->type == 0)
1435 {
1436 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1437
1438 if(!memberType)
1439 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1440 if(!memberType)
1441 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1442 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1443 {
1444 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, (unsigned char *)data + member->offset, channel);
1445 }
1446 else
1447 {
1448 struct __ecereNameSpace__ecere__com__DataValue value;
1449
1450 value.__anon1.i = *(int *)((unsigned char *)data + member->offset);
1451 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, &value, channel);
1452 }
1453 }
1454 else
1455 {
1456 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, (unsigned char *)data + member->offset, channel);
1457 }
1458 }
1459 return 0;
1460 }
1461
1462 static int __ecereNameSpace__ecere__com__DataMember_OnUnserialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1463 {
1464 struct __ecereNameSpace__ecere__com__DataMember * member;
1465 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1466
1467 for(member = parentMember->members.first; member; member = member->next)
1468 {
1469 if(member->type == 0)
1470 {
1471 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1472
1473 if(!memberType)
1474 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1475 if(!memberType)
1476 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1477 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1478 {
1479 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, (unsigned char *)data + member->offset, channel);
1480 }
1481 else
1482 {
1483 struct __ecereNameSpace__ecere__com__DataValue value;
1484
1485 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, &value, channel);
1486 *(int *)((unsigned char *)data + member->offset) = value.__anon1.i;
1487 }
1488 }
1489 else
1490 {
1491 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + member->offset, channel);
1492 }
1493 }
1494 return 0;
1495 }
1496
1497 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)
1498 {
1499 int result = 0;
1500
1501 if(this && string2)
1502 result = (strcasecmp)(this->string, string2->string);
1503 else if(!this && string2)
1504 result = -1;
1505 else if(this && !string2)
1506 result = 1;
1507 return result;
1508 }
1509
1510 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)
1511 {
1512 return this ? this->string : (((void *)0));
1513 }
1514
1515 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this)
1516 {
1517 }
1518
1519 int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, va_list args)
1520 {
1521 int len = 0;
1522 const char * result = (__extension__ ({
1523 const char *  (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , char *  tempString, void *  fieldData, unsigned int *  needClass);
1524
1525 __internal_VirtualMethod = ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))class->_vTbl[__ecereVMethodID_class_OnGetString]);
1526 __internal_VirtualMethod ? __internal_VirtualMethod(class, object, buffer, (((void *)0)), (((void *)0))) : (const char * )1;
1527 }));
1528
1529 if(result)
1530 {
1531 len = strlen(result);
1532 if(len >= maxLen)
1533 len = maxLen - 1;
1534 if(result != buffer)
1535 memcpy(buffer, result, len);
1536 }
1537 while(1)
1538 {
1539 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
1540 void * data = (((void *)0));
1541
1542 _class = __builtin_va_arg(args, void *);
1543 if(!_class)
1544 break;
1545 data = __builtin_va_arg(args, void *);
1546 if(data)
1547 {
1548 result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)_class->_vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, (((void *)0)), (((void *)0)));
1549 if(result)
1550 {
1551 int newLen = strlen(result);
1552
1553 if(len + newLen >= maxLen)
1554 newLen = maxLen - 1 - len;
1555 if(result != buffer + len)
1556 memcpy(buffer + len, result, newLen);
1557 len += newLen;
1558 }
1559 }
1560 }
1561 buffer[len] = 0;
1562 return len;
1563 }
1564
1565 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
1566
1567 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_double;
1568
1569 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_float;
1570
1571 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int64;
1572
1573 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
1574
1575 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
1576
1577 struct __ecereNameSpace__ecere__com__Module
1578 {
1579 struct __ecereNameSpace__ecere__com__Instance * application;
1580 struct __ecereNameSpace__ecere__sys__OldList classes;
1581 struct __ecereNameSpace__ecere__sys__OldList defines;
1582 struct __ecereNameSpace__ecere__sys__OldList functions;
1583 struct __ecereNameSpace__ecere__sys__OldList modules;
1584 struct __ecereNameSpace__ecere__com__Instance * prev;
1585 struct __ecereNameSpace__ecere__com__Instance * next;
1586 const char *  name;
1587 void *  library;
1588 void *  Unload;
1589 int importType;
1590 int origImportType;
1591 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1592 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1593 } ecere_gcc_struct;
1594
1595 void __ecereNameSpace__ecere__com__Byte_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1596 {
1597 (__extension__ ({
1598 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1599
1600 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1601 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1602
1603 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1604 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1605 __internal_VirtualMethod ? __internal_VirtualMethod(channel, data, 1) : (unsigned int)1;
1606 }));
1607 }
1608
1609 void __ecereNameSpace__ecere__com__Byte_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1610 {
1611 if((__extension__ ({
1612 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1613
1614 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1615 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1616
1617 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1618 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1619 __internal_VirtualMethod ? __internal_VirtualMethod(channel, data, 1) : (unsigned int)1;
1620 })) != 1)
1621 *data = 0;
1622 }
1623
1624 void __ecereNameSpace__ecere__com__Int_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1625 {
1626 unsigned char bytes[4];
1627
1628 (bytes)[0] = (unsigned char)(((*data) >> 24) & 0xFF);
1629 (bytes)[1] = (unsigned char)(((*data) >> 16) & 0xFF);
1630 (bytes)[2] = (unsigned char)(((*data) >> 8) & 0xFF);
1631 (bytes)[3] = (unsigned char)((*data) & 0xFF);
1632 ;
1633 (__extension__ ({
1634 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1635
1636 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1637 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1638
1639 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1640 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1641 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 4) : (unsigned int)1;
1642 }));
1643 }
1644
1645 void __ecereNameSpace__ecere__com__IntPtr32_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, int data, struct __ecereNameSpace__ecere__com__Instance * channel)
1646 {
1647 unsigned char bytes[4];
1648
1649 (bytes)[0] = (unsigned char)(((data) >> 24) & 0xFF);
1650 (bytes)[1] = (unsigned char)(((data) >> 16) & 0xFF);
1651 (bytes)[2] = (unsigned char)(((data) >> 8) & 0xFF);
1652 (bytes)[3] = (unsigned char)((data) & 0xFF);
1653 ;
1654 (__extension__ ({
1655 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1656
1657 __internal_VirtualMethod = ((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]);
1662 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 4) : (unsigned int)1;
1663 }));
1664 }
1665
1666 void __ecereNameSpace__ecere__com__Int_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1667 {
1668 unsigned char bytes[4];
1669
1670 if((__extension__ ({
1671 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1672
1673 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1674 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1675
1676 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1677 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1678 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 4) : (unsigned int)1;
1679 })) == 4)
1680 *data = (unsigned int)(((bytes)[0] << 24) | ((bytes)[1] << 16) | ((bytes)[2] << 8) | (bytes)[3]);
1681 else
1682 *data = 0;
1683 }
1684
1685 void __ecereNameSpace__ecere__com__Int64_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1686 {
1687 unsigned char bytes[8];
1688
1689 (bytes)[0] = (unsigned char)(((*data) >> 56) & 0xFF);
1690 (bytes)[1] = (unsigned char)(((*data) >> 48) & 0xFF);
1691 (bytes)[2] = (unsigned char)(((*data) >> 40) & 0xFF);
1692 (bytes)[3] = (unsigned char)(((*data) >> 32) & 0xFF);
1693 (bytes)[4] = (unsigned char)(((*data) >> 24) & 0xFF);
1694 (bytes)[5] = (unsigned char)(((*data) >> 16) & 0xFF);
1695 (bytes)[6] = (unsigned char)(((*data) >> 8) & 0xFF);
1696 (bytes)[7] = (unsigned char)((*data) & 0xFF);
1697 ;
1698 (__extension__ ({
1699 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1700
1701 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1702 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1703
1704 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1705 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1706 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 8) : (unsigned int)1;
1707 }));
1708 }
1709
1710 static void __ecereNameSpace__ecere__com__IntPtr64_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, long long data, struct __ecereNameSpace__ecere__com__Instance * channel)
1711 {
1712 unsigned char bytes[8];
1713
1714 (bytes)[0] = (unsigned char)(((data) >> 56) & 0xFF);
1715 (bytes)[1] = (unsigned char)(((data) >> 48) & 0xFF);
1716 (bytes)[2] = (unsigned char)(((data) >> 40) & 0xFF);
1717 (bytes)[3] = (unsigned char)(((data) >> 32) & 0xFF);
1718 (bytes)[4] = (unsigned char)(((data) >> 24) & 0xFF);
1719 (bytes)[5] = (unsigned char)(((data) >> 16) & 0xFF);
1720 (bytes)[6] = (unsigned char)(((data) >> 8) & 0xFF);
1721 (bytes)[7] = (unsigned char)((data) & 0xFF);
1722 ;
1723 (__extension__ ({
1724 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1725
1726 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1727 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1728
1729 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1730 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1731 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 8) : (unsigned int)1;
1732 }));
1733 }
1734
1735 void __ecereNameSpace__ecere__com__Int64_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1736 {
1737 unsigned char bytes[8];
1738
1739 if((__extension__ ({
1740 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1741
1742 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1743 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1744
1745 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1746 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1747 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 8) : (unsigned int)1;
1748 })) == 8)
1749 *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]);
1750 else
1751 *data = 0;
1752 }
1753
1754 void __ecereNameSpace__ecere__com__Word_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1755 {
1756 unsigned char bytes[2];
1757
1758 (bytes)[0] = (unsigned char)(((*data) >> 8) & 0xFF);
1759 (bytes)[1] = (unsigned char)(((*data)) & 0xFF);
1760 ;
1761 (__extension__ ({
1762 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1763
1764 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1765 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1766
1767 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1768 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1769 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 2) : (unsigned int)1;
1770 }));
1771 }
1772
1773 void __ecereNameSpace__ecere__com__Word_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1774 {
1775 unsigned char bytes[2];
1776
1777 if((__extension__ ({
1778 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1779
1780 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1781 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1782
1783 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1784 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1785 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 2) : (unsigned int)1;
1786 })) == 2)
1787 *data = (unsigned short)(((bytes)[0] << 8) | (bytes)[1]);
1788 else
1789 *data = 0;
1790 }
1791
1792 static void __ecereNameSpace__ecere__com__Float_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1793 {
1794 unsigned char bytes[4];
1795
1796 (bytes)[0] = (unsigned char)(((*(unsigned int *)data) >> 24) & 0xFF);
1797 (bytes)[1] = (unsigned char)(((*(unsigned int *)data) >> 16) & 0xFF);
1798 (bytes)[2] = (unsigned char)(((*(unsigned int *)data) >> 8) & 0xFF);
1799 (bytes)[3] = (unsigned char)((*(unsigned int *)data) & 0xFF);
1800 ;
1801 (__extension__ ({
1802 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1803
1804 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1805 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1806
1807 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1808 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1809 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 4) : (unsigned int)1;
1810 }));
1811 }
1812
1813 static void __ecereNameSpace__ecere__com__Float_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1814 {
1815 unsigned char bytes[4];
1816
1817 if((__extension__ ({
1818 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1819
1820 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1821 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1822
1823 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1824 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1825 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 4) : (unsigned int)1;
1826 })) == 4)
1827 *(unsigned int *)data = (unsigned int)(((bytes)[0] << 24) | ((bytes)[1] << 16) | ((bytes)[2] << 8) | (bytes)[3]);
1828 else
1829 *data = 0;
1830 }
1831
1832 static void __ecereNameSpace__ecere__com__Double_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1833 {
1834 unsigned char bytes[8];
1835
1836 (bytes)[0] = (unsigned char)(((*(uint64 *)data) >> 56) & 0xFF);
1837 (bytes)[1] = (unsigned char)(((*(uint64 *)data) >> 48) & 0xFF);
1838 (bytes)[2] = (unsigned char)(((*(uint64 *)data) >> 40) & 0xFF);
1839 (bytes)[3] = (unsigned char)(((*(uint64 *)data) >> 32) & 0xFF);
1840 (bytes)[4] = (unsigned char)(((*(uint64 *)data) >> 24) & 0xFF);
1841 (bytes)[5] = (unsigned char)(((*(uint64 *)data) >> 16) & 0xFF);
1842 (bytes)[6] = (unsigned char)(((*(uint64 *)data) >> 8) & 0xFF);
1843 (bytes)[7] = (unsigned char)((*(uint64 *)data) & 0xFF);
1844 ;
1845 (__extension__ ({
1846 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1847
1848 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1849 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1850
1851 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1852 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1853 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 8) : (unsigned int)1;
1854 }));
1855 }
1856
1857 static void __ecereNameSpace__ecere__com__Double_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1858 {
1859 unsigned char bytes[8];
1860
1861 if((__extension__ ({
1862 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1863
1864 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1865 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1866
1867 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1868 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1869 __internal_VirtualMethod ? __internal_VirtualMethod(channel, bytes, 8) : (unsigned int)1;
1870 })) == 8)
1871 *(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]);
1872 else
1873 *data = 0;
1874 }
1875
1876 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)
1877 {
1878 unsigned int len = this ? strlen(this->string) : 0;
1879
1880 (__extension__ ({
1881 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1882
1883 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1884 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1885
1886 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1887 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1888 __internal_VirtualMethod ? __internal_VirtualMethod(channel, this ? this->string : "", len + 1) : (unsigned int)1;
1889 }));
1890 }
1891
1892 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)
1893 {
1894 if(this)
1895 {
1896 int c;
1897
1898 for(c = 0; (__extension__ ({
1899 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1900
1901 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1902 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1903
1904 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1905 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1906 __internal_VirtualMethod ? __internal_VirtualMethod(channel, &(*this).string[c], 1) : (unsigned int)1;
1907 })) && (*this).string[c]; c++)
1908 ;
1909 (*this).string[c++] = '\0';
1910 }
1911 }
1912
1913 static void __ecereNameSpace__ecere__com__String_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, char * string, struct __ecereNameSpace__ecere__com__Instance * channel)
1914 {
1915 int len = string ? strlen(string) : 0;
1916
1917 (__extension__ ({
1918 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes);
1919
1920 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
1921 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1922
1923 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1924 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData]);
1925 __internal_VirtualMethod ? __internal_VirtualMethod(channel, string ? string : "", len + 1) : (unsigned int)1;
1926 }));
1927 }
1928
1929 static void __ecereNameSpace__ecere__com__String_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, char ** string, struct __ecereNameSpace__ecere__com__Instance * channel)
1930 {
1931 if(string)
1932 {
1933 int c;
1934 unsigned int size = 64;
1935
1936 *string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size));
1937 for(c = 0; (__extension__ ({
1938 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes);
1939
1940 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
1941 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
1942
1943 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
1944 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData]);
1945 __internal_VirtualMethod ? __internal_VirtualMethod(channel, &(*string)[c], 1) : (unsigned int)1;
1946 })) && (*string)[c]; c++)
1947 {
1948 if(c == size - 1)
1949 {
1950 size += size / 2;
1951 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (size));
1952 }
1953 }
1954 (*string)[c++] = '\0';
1955 if(!__ecereNameSpace__ecere__sys__UTF8Validate(*string))
1956 {
1957 char * newString = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c * 2));
1958
1959 __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(*string, newString, c * 2);
1960 (__ecereNameSpace__ecere__com__eSystem_Delete(*string), *string = 0);
1961 *string = __ecereNameSpace__ecere__com__eSystem_Renew(newString, sizeof(char) * (strlen(newString) + 1));
1962 }
1963 else
1964 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (c));
1965 }
1966 }
1967
1968 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, const void * bytes, unsigned int numBytes)
1969 {
1970 __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);
1971
1972 if(this != (((void *)0)))
1973 {
1974 if(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes > __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size)
1975 {
1976 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes;
1977 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size += __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size / 2;
1978 __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));
1979 }
1980 memcpy(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count, bytes, numBytes);
1981 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count += numBytes;
1982 return numBytes;
1983 }
1984 return 0;
1985 }
1986
1987 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, void * bytes, unsigned int numBytes)
1988 {
1989 __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);
1990
1991 if(this != (((void *)0)))
1992 {
1993 unsigned int __simpleStruct0;
1994 int read = (__simpleStruct0 = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, (numBytes < __simpleStruct0) ? numBytes : __simpleStruct0);
1995
1996 memcpy(bytes, __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, read);
1997 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos += read;
1998 return read;
1999 }
2000 return 0;
2001 }
2002
2003 void __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(struct __ecereNameSpace__ecere__com__Instance * this)
2004 {
2005 __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);
2006
2007 if(this)
2008 {
2009 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer), __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = 0);
2010 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = 0;
2011 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = 0;
2012 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos = 0;
2013 }
2014 }
2015
2016 unsigned char *  __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this)
2017 {
2018 __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);
2019
2020 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
2021 }
2022
2023 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_buffer(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char *  value)
2024 {
2025 __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);
2026
2027 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = value;
2028 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer);
2029 }
2030
2031 unsigned int __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size(struct __ecereNameSpace__ecere__com__Instance * this)
2032 {
2033 __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);
2034
2035 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
2036 }
2037
2038 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
2039 {
2040 __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);
2041
2042 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = value;
2043 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size);
2044 }
2045
2046 static int __ecereNameSpace__ecere__com__OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, void * data1, void * data2)
2047 {
2048 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
2049
2050 if(_class->type == 0 || _class->type == 5 || _class->type == 1)
2051 {
2052 if(data1 && data2)
2053 {
2054 for(; _class && _class->type != 1000; _class = _class->base)
2055 {
2056 struct __ecereNameSpace__ecere__com__DataMember * member;
2057
2058 if(_class->noExpansion)
2059 {
2060 if(data1 > data2)
2061 return 1;
2062 else if(data1 < data2)
2063 return -1;
2064 else
2065 return 0;
2066 }
2067 for(member = _class->membersAndProperties.first; member; member = member->next)
2068 {
2069 int memberResult = 0;
2070
2071 if(member->id < 0)
2072 continue;
2073 if(member->isProperty || member->type == 0)
2074 {
2075 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
2076
2077 if(!memberType)
2078 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
2079 if(memberType)
2080 {
2081 if(member->isProperty)
2082 {
2083 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
2084
2085 if(!prop->conversion && prop->Get && prop->Set)
2086 {
2087 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
2088 {
2089 if(!strcmp(memberType->dataTypeString, "char *"))
2090 {
2091 char * a = ((char * (*)(void *))(void *)prop->Get)(data1);
2092 char * b = ((char * (*)(void *))(void *)prop->Get)(data2);
2093
2094 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, a, b);
2095 }
2096 }
2097 else
2098 {
2099 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
2100
2101 if(!strcmp(memberType->dataTypeString, "float"))
2102 {
2103 value1.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data1);
2104 value2.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data2);
2105 }
2106 else
2107 {
2108 value1.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data1);
2109 value2.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data2);
2110 }
2111 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
2112 }
2113 }
2114 }
2115 else
2116 {
2117 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
2118 {
2119 if(memberType->type == 0 || memberType->type == 5)
2120 {
2121 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)));
2122 }
2123 else
2124 {
2125 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));
2126 }
2127 }
2128 else
2129 {
2130 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
2131
2132 if(memberType->typeSize == 8)
2133 {
2134 value1.__anon1.ui64 = *(uint64 *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
2135 value2.__anon1.ui64 = *(uint64 *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
2136 }
2137 else
2138 {
2139 value1.__anon1.i = *(int *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
2140 value2.__anon1.i = *(int *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
2141 }
2142 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
2143 }
2144 }
2145 }
2146 else
2147 {
2148 }
2149 }
2150 else
2151 {
2152 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));
2153 }
2154 if(memberResult)
2155 return memberResult;
2156 }
2157 }
2158 }
2159 else if(!data1 && data2)
2160 return 1;
2161 else if(data1 && !data2)
2162 return -1;
2163 }
2164 else if(_class->type == 3)
2165 {
2166 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
2167
2168 return ((int (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnCompare])(dataType, data1, data2);
2169 }
2170 else
2171 {
2172 int result = 0;
2173
2174 if(data1 && data2)
2175 {
2176 if(_class->typeSize == 8)
2177 {
2178 if(*(uint64 *)data1 > *(uint64 *)data2)
2179 result = 1;
2180 else if(*(uint64 *)data1 < *(uint64 *)data2)
2181 result = -1;
2182 }
2183 else
2184 {
2185 if(*(unsigned int *)data1 > *(unsigned int *)data2)
2186 result = 1;
2187 else if(*(unsigned int *)data1 < *(unsigned int *)data2)
2188 result = -1;
2189 }
2190 }
2191 else if(!data1 && data2)
2192 return 1;
2193 else if(data1 && !data2)
2194 return -1;
2195 return result;
2196 }
2197 return 0;
2198 }
2199
2200 static void __ecereNameSpace__ecere__com__OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2201 {
2202 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
2203
2204 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
2205 {
2206 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
2207
2208 if(dataType)
2209 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnSerialize])(dataType, data, channel);
2210 }
2211 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
2212 {
2213 {
2214 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
2215
2216 while(lastClass != _class)
2217 {
2218 struct __ecereNameSpace__ecere__com__DataMember * member;
2219 struct __ecereNameSpace__ecere__com__Class * c;
2220
2221 for(c = _class; c && (!c->base || c->base->type != 1000) && c->base != lastClass; c = c->base)
2222 ;
2223 lastClass = c;
2224 for(member = c->membersAndProperties.first; member; member = member->next)
2225 {
2226 if(member->id < 0)
2227 continue;
2228 if(member->isProperty || member->type == 0)
2229 {
2230 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
2231
2232 if(!memberType)
2233 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
2234 if(memberType)
2235 {
2236 if(member->isProperty)
2237 {
2238 }
2239 else
2240 {
2241 if(!strcmp(memberType->name, "String") || memberType->type == 0 || memberType->type == 5)
2242 {
2243 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, data ? (*(void **)((unsigned char *)data + member->_class->offset + member->offset)) : (((void *)0)), channel);
2244 }
2245 else
2246 ((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);
2247 }
2248 }
2249 else
2250 {
2251 }
2252 }
2253 else
2254 {
2255 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, data ? ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)) : (((void *)0)), channel);
2256 }
2257 }
2258 }
2259 }
2260 }
2261 }
2262
2263 int __ecereNameSpace__ecere__com__PrintBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2264 {
2265 va_list args;
2266 int len;
2267
2268 __builtin_va_start(args, object);
2269 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen, class, object, args);
2270 __builtin_va_end(args);
2271 return len;
2272 }
2273
2274 int __ecereNameSpace__ecere__com__PrintLnBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2275 {
2276 va_list args;
2277 int len;
2278
2279 __builtin_va_start(args, object);
2280 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen - 1, class, object, args);
2281 buffer[len++] = '\n';
2282 buffer[len] = '\0';
2283 __builtin_va_end(args);
2284 return len;
2285 }
2286
2287 char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2288 {
2289 char buffer[4096];
2290 va_list args;
2291 char * string;
2292 int len;
2293
2294 __builtin_va_start(args, object);
2295 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
2296 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1));
2297 memcpy(string, buffer, len + 1);
2298 __builtin_va_end(args);
2299 return string;
2300 }
2301
2302 char * __ecereNameSpace__ecere__com__PrintLnString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2303 {
2304 char buffer[4096];
2305 va_list args;
2306 char * string;
2307 int len;
2308
2309 __builtin_va_start(args, object);
2310 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
2311 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 2));
2312 memcpy(string, buffer, len);
2313 string[len++] = '\n';
2314 string[len] = '\0';
2315 __builtin_va_end(args);
2316 return string;
2317 }
2318
2319 void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2320 {
2321 va_list args;
2322 char buffer[4096];
2323
2324 __builtin_va_start(args, object);
2325 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
2326 __builtin_va_end(args);
2327 puts(buffer);
2328 }
2329
2330 void __ecereNameSpace__ecere__com__Print(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
2331 {
2332 va_list args;
2333 char buffer[4096];
2334
2335 __builtin_va_start(args, object);
2336 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof (buffer), class, object, args);
2337 __builtin_va_end(args);
2338 fputs(buffer, eC_stdout());
2339 }
2340
2341 __attribute__((unused)) static void __ecereNameSpace__ecere__com__UnusedFunction()
2342 {
2343 int __internalValue001;
2344 int __internalValue000;
2345 int a;
2346
2347 (__extension__ ({
2348 const char *  (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , char *  tempString, void *  fieldData, unsigned int *  needClass);
2349
2350 __internal_VirtualMethod = ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString]);
2351 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, 0, 0, 0) : (const char * )1;
2352 }));
2353 (__extension__ ({
2354 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * );
2355
2356 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnFree]);
2357 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a) : (void)1;
2358 }));
2359 (__extension__ ({
2360 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * newData);
2361
2362 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy]);
2363 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, __extension__ ({
2364 __internalValue000 = 0;
2365 &__internalValue000;
2366 })) : (void)1;
2367 }));
2368 (__extension__ ({
2369 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * object);
2370
2371 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare]);
2372 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, __extension__ ({
2373 __internalValue001 = 0;
2374 &__internalValue001;
2375 })) : (int)1;
2376 }));
2377 (__extension__ ({
2378 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * window, void *  object);
2379
2380 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * window, void *  object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSaveEdit]);
2381 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0)), 0) : (unsigned int)1;
2382 }));
2383 (__extension__ ({
2384 struct __ecereNameSpace__ecere__com__Instance * (*  __internal_VirtualMethod)(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);
2385
2386 __internal_VirtualMethod = ((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]);
2387 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0)), (((void *)0)), 0, 0, 0, 20, 0) : (struct __ecereNameSpace__ecere__com__Instance *)1;
2388 }));
2389 (__extension__ ({
2390 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const char *  string);
2391
2392 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const char *  string))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString]);
2393 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (unsigned int)1;
2394 }));
2395 }
2396
2397 static const char * __ecereNameSpace__ecere__com__OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
2398 {
2399 struct __ecereNameSpace__ecere__com__Instance * module = _class->templateClass ? _class->templateClass->module : _class->module;
2400
2401 if(_class->type == 0 && _class->base && !_class->base->base)
2402 {
2403 if(sizeof(size_t) == 8)
2404 return __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(_class, (void *)&data, tempString, fieldData, needClass);
2405 else
2406 return __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(_class, (void *)&data, tempString, fieldData, needClass);
2407 }
2408 else if(_class->type == 4)
2409 {
2410 return __ecereNameSpace__ecere__com__Enum_OnGetString(_class, data, tempString, fieldData, needClass);
2411 }
2412 else if(_class->type == 3)
2413 {
2414 struct __ecereNameSpace__ecere__com__Class * dataType;
2415 struct __ecereNameSpace__ecere__com__Property * prop;
2416
2417 for(prop = _class->conversions.first; prop; prop = prop->next)
2418 {
2419 unsigned int refProp = 0;
2420 struct __ecereNameSpace__ecere__com__Class * c;
2421
2422 if(!strcmp(prop->name, _class->base->fullName))
2423 refProp = 1;
2424 else if((c = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, prop->name)))
2425 {
2426 struct __ecereNameSpace__ecere__com__Property * p;
2427
2428 for(p = c->conversions.first; p; p = p->next)
2429 {
2430 if(!strcmp(p->name, _class->base->fullName) && !p->Set && !p->Get)
2431 {
2432 refProp = 1;
2433 break;
2434 }
2435 }
2436 }
2437 if(refProp)
2438 {
2439 if(prop->Set && prop->Get)
2440 {
2441 const char * dts = _class->base->dataTypeString;
2442
2443 if(!strcmp(dts, "double"))
2444 {
2445 double d = ((double (*)(double))(void *)prop->Set)(*(double *)data);
2446
2447 return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_double, &d, tempString, fieldData, needClass);
2448 }
2449 else if(!strcmp(dts, "float"))
2450 {
2451 float d = ((float (*)(float))(void *)prop->Set)(*(float *)data);
2452
2453 return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_float, &d, tempString, fieldData, needClass);
2454 }
2455 else if(!strcmp(dts, "int"))
2456 {
2457 int d = ((int (*)(int))(void *)prop->Set)(*(int *)data);
2458
2459 return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &d, tempString, fieldData, needClass);
2460 }
2461 else if(!strcmp(dts, "int64"))
2462 {
2463 long long d = ((long long (*)(long long))(void *)prop->Set)(*(long long *)data);
2464
2465 return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int64, &d, tempString, fieldData, needClass);
2466 }
2467 }
2468 else
2469 break;
2470 }
2471 }
2472 dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
2473 return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
2474 }
2475 else
2476 {
2477 unsigned int atMember = 1;
2478 unsigned int prev = 0;
2479 struct __ecereNameSpace__ecere__com__Class * mainClass = _class;
2480
2481 _class = (((void *)0));
2482 tempString[0] = '\0';
2483 if(!data && (mainClass->type == 0 || mainClass->type == 5))
2484 return tempString;
2485 while(_class != mainClass)
2486 {
2487 struct __ecereNameSpace__ecere__com__DataMember * member;
2488 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
2489
2490 for(_class = mainClass; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
2491 ;
2492 for(member = _class->membersAndProperties.first; member; member = member->next)
2493 {
2494 char memberString[1024];
2495 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
2496 const char * name = member->name;
2497 const char * (* onGetString)(void *, void *, char *, void *, unsigned int *);
2498
2499 if(member->id < 0)
2500 continue;
2501 memberString[0] = 0;
2502 if(!memberType)
2503 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
2504 if(!memberType)
2505 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
2506 onGetString = memberType->_vTbl[__ecereVMethodID_class_OnGetString];
2507 if(member->isProperty)
2508 {
2509 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
2510
2511 if(!prop->conversion && prop->Get && prop->Set && (!prop->IsSet || prop->IsSet(data)))
2512 {
2513 if(memberType->type != 1 && (memberType->type != 0 || !strcmp(memberType->dataTypeString, "char *")) && memberType->type != 2 && data)
2514 {
2515 struct __ecereNameSpace__ecere__com__DataValue value =
2516 {
2517
2518 .__anon1 = {
2519 .c = 0
2520 }
2521 };
2522
2523 if(!strcmp(prop->dataTypeString, "float"))
2524 {
2525 value.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data);
2526 if(value.__anon1.f)
2527 {
2528 unsigned int needClass = 1;
2529 const char * result = onGetString(memberType, &value, memberString, (((void *)0)), &needClass);
2530
2531 if(result && result != memberString)
2532 strcpy(memberString, result);
2533 if(strchr(memberString, '.'))
2534 strcat(memberString, "f");
2535 }
2536 }
2537 else if(memberType->type == 0 || memberType->type == 5)
2538 {
2539 value.__anon1.p = ((void * (*)(void *))(void *)prop->Get)(data);
2540 if(value.__anon1.p || prop->IsSet)
2541 {
2542 unsigned int needClass = 1;
2543 const char * result = onGetString(memberType, (memberType->type == 0) ? value.__anon1.p : &value, memberString, (((void *)0)), &needClass);
2544
2545 if(result && result != memberString)
2546 strcpy(memberString, result);
2547 }
2548 }
2549 else
2550 {
2551 value.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data);
2552 if(value.__anon1.i || prop->IsSet)
2553 {
2554 unsigned int needClass = 1;
2555 const char * result = onGetString(memberType, &value, memberString, (((void *)0)), &needClass);
2556
2557 if(result && result != memberString)
2558 strcpy(memberString, result);
2559 }
2560 }
2561 }
2562 }
2563 }
2564 else
2565 {
2566 unsigned int offset = member->offset + member->_class->offset;
2567 unsigned char * memberData = (unsigned char *)data + offset;
2568
2569 if(member->type == 0)
2570 {
2571 if(memberType->type == 1 || memberType->type == 0)
2572 {
2573 char internalMemberString[1024];
2574 int c;
2575 unsigned int typeSize = (memberType->type == 0) ? memberType->typeSize : memberType->structSize;
2576
2577 for(c = 0; c < typeSize; c++)
2578 if(memberData[c])
2579 break;
2580 if(c < typeSize)
2581 {
2582 unsigned int needClass = 1;
2583 const char * result;
2584
2585 if(memberType->type == 0)
2586 result = onGetString(memberType, *(struct __ecereNameSpace__ecere__com__Instance **)memberData, internalMemberString, (((void *)0)), &needClass);
2587 else
2588 result = onGetString(memberType, memberData, internalMemberString, (((void *)0)), &needClass);
2589 if(needClass && strcmp(memberType->dataTypeString, "char *"))
2590 {
2591 strcat(memberString, "{ ");
2592 if(result)
2593 strcat(memberString, result);
2594 strcat(memberString, " }");
2595 }
2596 else if(result)
2597 strcpy(memberString, result);
2598 }
2599 }
2600 else
2601 {
2602 struct __ecereNameSpace__ecere__com__DataValue value =
2603 {
2604
2605 .__anon1 = {
2606 .c = 0
2607 }
2608 };
2609
2610 if(_class->type == 2)
2611 {
2612 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)member;
2613
2614 value.__anon1.ui64 = ((*(unsigned int *)data & bitMember->mask) >> bitMember->pos);
2615 if(value.__anon1.ui64)
2616 {
2617 unsigned int needClass = 1;
2618 char internalMemberString[1024];
2619 const char * result = onGetString(memberType, &value, internalMemberString, (((void *)0)), &needClass);
2620
2621 if(needClass && memberType->type != 1000 && memberType->type != 4 && memberType->type != 3)
2622 {
2623 strcat(memberString, " { ");
2624 if(result)
2625 strcat(memberString, result);
2626 strcat(memberString, " }");
2627 }
2628 else if(result)
2629 strcpy(memberString, result);
2630 }
2631 }
2632 else if(!memberType->noExpansion)
2633 {
2634 if(memberType->typeSize > 4 || *(int *)memberData)
2635 {
2636 unsigned int needClass = 1;
2637 const char * result = onGetString(memberType, memberData, memberString, (((void *)0)), &needClass);
2638
2639 if(result && memberString != result)
2640 strcpy(memberString, result);
2641 }
2642 }
2643 }
2644 }
2645 }
2646 if(memberString[0])
2647 {
2648 if(prev)
2649 strcat(tempString, ", ");
2650 if(!atMember || !strcmp(memberType->name, "bool"))
2651 {
2652 strcat(tempString, name);
2653 strcat(tempString, " = ");
2654 }
2655 if(!strcmp(memberType->name, "char *"))
2656 {
2657 int len = strlen(tempString);
2658 int c;
2659
2660 strcat(tempString, "\"");
2661 len++;
2662 for(c = 0; memberString[c]; c++)
2663 {
2664 if(memberString[c] == '\"')
2665 {
2666 strcat(tempString, "\\\"");
2667 len += 2;
2668 }
2669 else if(memberString[c] == '\\')
2670 {
2671 strcat(tempString, "\\\\");
2672 len += 2;
2673 }
2674 else
2675 {
2676 tempString[len++] = memberString[c];
2677 tempString[len] = 0;
2678 }
2679 }
2680 strcat(tempString, "\"");
2681 }
2682 else
2683 strcat(tempString, memberString);
2684 atMember = 1;
2685 prev = 1;
2686 }
2687 else if(member && (!member->isProperty || !((struct __ecereNameSpace__ecere__com__Property *)member)->conversion))
2688 atMember = 0;
2689 }
2690 }
2691 }
2692 return tempString;
2693 }
2694
2695 static unsigned int __ecereNameSpace__ecere__com__OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, const char * string)
2696 {
2697 unsigned int result;
2698 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
2699
2700 if(_class->type == 4)
2701 result = __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(_class, (long long *)data, string);
2702 else if(_class->type == 3)
2703 {
2704 struct __ecereNameSpace__ecere__com__Class * dataType;
2705 struct __ecereNameSpace__ecere__com__Property * prop;
2706
2707 for(prop = _class->conversions.first; prop; prop = prop->next)
2708 {
2709 unsigned int refProp = 0;
2710 struct __ecereNameSpace__ecere__com__Class * c;
2711
2712 if(!strcmp(prop->name, _class->base->fullName))
2713 refProp = 1;
2714 else if((c = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, prop->name)))
2715 {
2716 struct __ecereNameSpace__ecere__com__Property * p;
2717
2718 for(p = c->conversions.first; p; p = p->next)
2719 {
2720 if(!strcmp(p->name, _class->base->fullName) && !p->Set && !p->Get)
2721 {
2722 refProp = 1;
2723 break;
2724 }
2725 }
2726 }
2727 if(refProp)
2728 {
2729 if(prop->Set && prop->Get)
2730 {
2731 const char * dts = _class->base->dataTypeString;
2732
2733 if(!strcmp(dts, "double"))
2734 {
2735 double d;
2736 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_double, &d, string);
2737
2738 *(double *)data = ((double (*)(double))(void *)prop->Get)(d);
2739 return result;
2740 }
2741 else if(!strcmp(dts, "float"))
2742 {
2743 float d;
2744 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_float, &d, string);
2745
2746 *(float *)data = ((float (*)(float))(void *)prop->Get)(d);
2747 return result;
2748 }
2749 else if(!strcmp(dts, "int"))
2750 {
2751 int d;
2752 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &d, string);
2753
2754 *(int *)data = ((int (*)(int))(void *)prop->Get)(d);
2755 return result;
2756 }
2757 else if(!strcmp(dts, "int64"))
2758 {
2759 long long d;
2760 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int64, &d, string);
2761
2762 *(long long *)data = ((long long (*)(long long))(void *)prop->Get)(d);
2763 return result;
2764 }
2765 }
2766 else
2767 break;
2768 }
2769 }
2770 dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
2771 return ((unsigned int (*)(void *, void *, const char *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(dataType, data, string);
2772 }
2773 else if(!string[0] && _class->type == 0)
2774 {
2775 *data = (((void *)0));
2776 return 1;
2777 }
2778 else
2779 {
2780 int c;
2781 char memberName[1024];
2782 char memberString[10240];
2783 int count = 0;
2784 unsigned int quoted = 0;
2785 int brackets = 0;
2786 char ch;
2787 unsigned int escape = 0;
2788 unsigned int gotChar;
2789 unsigned int memberOffset;
2790 struct __ecereNameSpace__ecere__com__Class * curClass = (((void *)0));
2791 struct __ecereNameSpace__ecere__com__DataMember * curMember = (((void *)0));
2792 struct __ecereNameSpace__ecere__com__DataMember * subMemberStack[256];
2793 int subMemberStackPos = 0;
2794
2795 result = 1;
2796 if(_class->type == 5 || _class->type == 0)
2797 {
2798 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
2799 if(_class->type == 0)
2800 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
2801 }
2802 else if(_class->type == 1)
2803 memset(data, 0, _class->structSize);
2804 memberName[0] = '\0';
2805 for(c = 0; string[c] && count < sizeof (memberString); )
2806 {
2807 unsigned int found = 0;
2808 struct __ecereNameSpace__ecere__com__DataMember * thisMember = (((void *)0));
2809
2810 brackets = 0;
2811 gotChar = 0;
2812 for(; (ch = string[c]) && count < sizeof (memberString); c++)
2813 {
2814 if(ch == '\"' && !escape)
2815 {
2816 quoted ^= 1;
2817 }
2818 else if(quoted)
2819 {
2820 if(!escape && ch == '\\')
2821 {
2822 escape = 1;
2823 }
2824 else
2825 {
2826 memberString[count++] = ch;
2827 escape = 0;
2828 }
2829 }
2830 else if(ch == ' ')
2831 {
2832 if(gotChar)
2833 memberString[count++] = ch;
2834 }
2835 else if(ch == ',')
2836 {
2837 if(brackets)
2838 {
2839 memberString[count++] = ch;
2840 }
2841 else
2842 {
2843 c++;
2844 break;
2845 }
2846 }
2847 else if(ch == '{')
2848 {
2849 if(gotChar && !brackets)
2850 {
2851 count = 0;
2852 gotChar = 0;
2853 }
2854 if(brackets)
2855 {
2856 memberString[count++] = ch;
2857 gotChar = 1;
2858 }
2859 brackets++;
2860 }
2861 else if(ch == '}')
2862 {
2863 brackets--;
2864 if(brackets)
2865 {
2866 gotChar = 1;
2867 memberString[count++] = ch;
2868 }
2869 }
2870 else if(ch == '=')
2871 {
2872 if(brackets)
2873 {
2874 memberString[count++] = ch;
2875 }
2876 else
2877 {
2878 memberString[count] = '\0';
2879 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberName);
2880 count = 0;
2881 gotChar = 0;
2882 }
2883 }
2884 else
2885 {
2886 memberString[count++] = ch;
2887 gotChar = 1;
2888 }
2889 }
2890 memberString[count] = '\0';
2891 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberString);
2892 if(memberName[0])
2893 {
2894 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
2895 int _subMemberStackPos = 0;
2896
2897 thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, memberName, &memberOffset, _class->module, _subMemberStack, &_subMemberStackPos);
2898 if(!thisMember)
2899 thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(_class, memberName, _class->module);
2900 if(thisMember)
2901 {
2902 if(thisMember->memberAccess == 1)
2903 {
2904 curMember = thisMember;
2905 curClass = thisMember->_class;
2906 memcpy(subMemberStack, _subMemberStack, sizeof(int) * _subMemberStackPos);
2907 subMemberStackPos = _subMemberStackPos;
2908 }
2909 found = 1;
2910 }
2911 }
2912 else
2913 {
2914 __ecereNameSpace__ecere__com__eClass_FindNextMember(_class, &curClass, &curMember, subMemberStack, &subMemberStackPos);
2915 thisMember = curMember;
2916 if(thisMember)
2917 {
2918 found = 1;
2919 __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, thisMember->name, &memberOffset, _class->module, (((void *)0)), (((void *)0)));
2920 }
2921 }
2922 if(found)
2923 {
2924 struct __ecereNameSpace__ecere__com__Class * memberType = thisMember->dataTypeClass;
2925 unsigned int offset;
2926 unsigned char * memberData;
2927
2928 if(!memberType)
2929 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, thisMember->dataTypeString);
2930 if(!memberType)
2931 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
2932 offset = thisMember->_class->offset + memberOffset;
2933 memberData = (unsigned char *)data + offset;
2934 if(memberType->type == 1)
2935 {
2936 if(thisMember)
2937 {
2938 if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, memberData, memberString))
2939 result = 0;
2940 }
2941 }
2942 else
2943 {
2944 struct __ecereNameSpace__ecere__com__DataValue value =
2945 {
2946
2947 .__anon1 = {
2948 .c = 0
2949 }
2950 };
2951
2952 if(memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString] == _class->_vTbl[__ecereVMethodID_class_OnGetDataFromString])
2953 {
2954 if(!__ecereNameSpace__ecere__com__OnGetDataFromString(memberType, (void **)&value, memberString))
2955 result = 0;
2956 }
2957 else if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, &value, memberString))
2958 result = 0;
2959 if(thisMember && !thisMember->isProperty)
2960 {
2961 if(_class->type == 2)
2962 {
2963 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)thisMember;
2964
2965 *(unsigned int *)data = (unsigned int)(((*(unsigned int *)data & ~bitMember->mask)) | ((value.__anon1.ui64 << bitMember->pos) & bitMember->mask));
2966 }
2967 else
2968 *(int *)memberData = value.__anon1.i;
2969 }
2970 else if(thisMember->isProperty && ((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)
2971 {
2972 if(memberType->type == 5 || memberType->type == 0 || memberType->type == 1)
2973 ((void (*)(void *, void *))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.p);
2974 else
2975 {
2976 if(!strcmp(memberType->dataTypeString, "float"))
2977 {
2978 ((void (*)(void *, float))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.f);
2979 }
2980 else if(!strcmp(memberType->dataTypeString, "double"))
2981 {
2982 ((void (*)(void *, double))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.d);
2983 }
2984 else if(!strcmp(memberType->dataTypeString, "int64"))
2985 {
2986 ((void (*)(void *, long long))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.i64);
2987 }
2988 else
2989 {
2990 ((void (*)(void *, int))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.i);
2991 }
2992 }
2993 }
2994 }
2995 }
2996 else
2997 result = 0;
2998 count = 0;
2999 memberName[0] = '\0';
3000 }
3001 }
3002 return result;
3003 }
3004
3005 static void __ecereNameSpace__ecere__com__OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, struct __ecereNameSpace__ecere__com__Instance * channel)
3006 {
3007 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
3008
3009 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
3010 {
3011 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
3012
3013 if(dataType)
3014 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnUnserialize])(dataType, data, channel);
3015 }
3016 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
3017 {
3018 if(data)
3019 {
3020 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
3021
3022 if(_class->type == 0 || _class->type == 5)
3023 {
3024 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
3025 if(_class->type == 0)
3026 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
3027 }
3028 else if(_class->type == 1)
3029 memset(data, 0, _class->structSize);
3030 while(lastClass != _class)
3031 {
3032 struct __ecereNameSpace__ecere__com__DataMember * member;
3033 struct __ecereNameSpace__ecere__com__Class * c;
3034
3035 for(c = _class; c && (!c->base || c->base->type != 1000) && c->base != lastClass; c = c->base)
3036 ;
3037 lastClass = c;
3038 for(member = c->membersAndProperties.first; member; member = member->next)
3039 {
3040 if(member->id < 0)
3041 continue;
3042 if(member->isProperty || member->type == 0)
3043 {
3044 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
3045
3046 if(!memberType)
3047 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
3048 if(memberType)
3049 {
3050 if(member->isProperty)
3051 {
3052 }
3053 else
3054 ((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);
3055 }
3056 else
3057 {
3058 }
3059 }
3060 else
3061 {
3062 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), channel);
3063 }
3064 }
3065 }
3066 }
3067 }
3068 }
3069
3070 void __ecereUnregisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
3071 {
3072
3073 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
3074 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
3075 }
3076
3077 void __ecereNameSpace__ecere__com__Enum_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
3078 {
3079 struct __ecereNameSpace__ecere__com__Class * dataType = strcmp(_class->dataTypeString, "int") ? __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->dataTypeString) : (((void *)0));
3080
3081 if(dataType)
3082 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnSerialize])(dataType, data, channel);
3083 else
3084 __ecereNameSpace__ecere__com__Int_OnSerialize(_class, data, channel);
3085 }
3086
3087 void __ecereNameSpace__ecere__com__Enum_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
3088 {
3089 struct __ecereNameSpace__ecere__com__Class * dataType = strcmp(_class->dataTypeString, "int") ? __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->dataTypeString) : (((void *)0));
3090
3091 if(dataType)
3092 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnUnserialize])(dataType, data, channel);
3093 else
3094 __ecereNameSpace__ecere__com__Int_OnUnserialize(_class, data, channel);
3095 }
3096
3097 static void __ecereNameSpace__ecere__com__RegisterClass_Integer(struct __ecereNameSpace__ecere__com__Instance * module)
3098 {
3099 struct __ecereNameSpace__ecere__com__Class * integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3100
3101 integerClass->type = 1000;
3102 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3103 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int");
3104 integerClass->structSize = 0;
3105 integerClass->typeSize = sizeof(int);
3106 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
3107 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
3108 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
3109 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
3110 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3111 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3112 integerClass->type = 1000;
3113 integerClass->structSize = 0;
3114 integerClass->typeSize = sizeof(long long);
3115 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3116 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int64");
3117 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
3118 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
3119 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
3120 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
3121 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3122 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3123 integerClass->type = 1000;
3124 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3125 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
3126 integerClass->structSize = 0;
3127 integerClass->typeSize = sizeof(unsigned int);
3128 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
3129 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
3130 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
3131 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
3132 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3133 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "unsigned int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3134 integerClass->type = 1000;
3135 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3136 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
3137 integerClass->structSize = 0;
3138 integerClass->typeSize = sizeof(unsigned int);
3139 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
3140 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
3141 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
3142 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
3143 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3144 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint16", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3145 integerClass->type = 1000;
3146 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3147 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned short");
3148 integerClass->structSize = 0;
3149 integerClass->typeSize = sizeof(unsigned short);
3150 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
3151 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
3152 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt16_OnCompare, 1);
3153 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt16_OnGetString, 1);
3154 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt16_OnGetDataFromString, 1);
3155 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "short", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3156 integerClass->type = 1000;
3157 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3158 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("short");
3159 integerClass->structSize = 0;
3160 integerClass->typeSize = sizeof(short);
3161 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
3162 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
3163 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int16_OnCompare, 1);
3164 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int16_OnGetString, 1);
3165 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int16_OnGetDataFromString, 1);
3166 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint32", "uint", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3167 integerClass->type = 1000;
3168 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3169 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
3170 integerClass->structSize = 0;
3171 integerClass->typeSize = sizeof(unsigned int);
3172 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3173 integerClass->type = 1000;
3174 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3175 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uint64");
3176 integerClass->structSize = 0;
3177 integerClass->typeSize = sizeof(uint64);
3178 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
3179 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
3180 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
3181 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3182 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
3183 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "byte", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3184 integerClass->type = 1000;
3185 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3186 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned char");
3187 integerClass->structSize = 0;
3188 integerClass->typeSize = sizeof(unsigned char);
3189 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
3190 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetString, 1);
3191 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
3192 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
3193 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
3194 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3195 integerClass->type = 1000;
3196 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3197 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char");
3198 integerClass->structSize = 0;
3199 integerClass->typeSize = sizeof(char);
3200 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
3201 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Char_OnGetString, 1);
3202 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
3203 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
3204 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
3205 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3206 integerClass->type = 1000;
3207 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3208 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("ssize_t");
3209 integerClass->structSize = 0;
3210 integerClass->typeSize = sizeof(ssize_t);
3211 if(sizeof(ssize_t) == 8)
3212 {
3213 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
3214 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
3215 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
3216 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3217 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
3218 }
3219 else
3220 {
3221 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
3222 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
3223 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
3224 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
3225 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3226 }
3227 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3228 integerClass->type = 1000;
3229 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3230 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("size_t");
3231 integerClass->structSize = 0;
3232 integerClass->typeSize = sizeof(size_t);
3233 if(sizeof(size_t) == 8)
3234 {
3235 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64Hex_OnGetString, 1);
3236 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
3237 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
3238 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3239 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
3240 }
3241 else
3242 {
3243 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UIntegerHex_OnGetString, 1);
3244 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
3245 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
3246 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3247 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
3248 }
3249 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3250 integerClass->type = 1000;
3251 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3252 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uintptr_t");
3253 integerClass->structSize = 0;
3254 integerClass->typeSize = sizeof(uintptr_t);
3255 integerClass->byValueSystemClass = 1;
3256 if(sizeof(uintptr_t) == 8)
3257 {
3258 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UIntPtr64_OnGetString, 1);
3259 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
3260 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr64_OnSerialize, 1);
3261 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3262 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UIntPtr64_OnCompare, 1);
3263 }
3264 else
3265 {
3266 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UIntPtr32_OnGetString, 1);
3267 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
3268 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr32_OnSerialize, 1);
3269 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3270 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UIntPtr32_OnCompare, 1);
3271 }
3272 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3273 integerClass->type = 1000;
3274 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
3275 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("intptr_t");
3276 integerClass->structSize = 0;
3277 integerClass->typeSize = sizeof(intptr_t);
3278 integerClass->byValueSystemClass = 1;
3279 if(sizeof(intptr_t) == 8)
3280 {
3281 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr64_OnGetString, 1);
3282 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
3283 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr64_OnSerialize, 1);
3284 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
3285 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr64_OnCompare, 1);
3286 }
3287 else
3288 {
3289 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr32_OnGetString, 1);
3290 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
3291 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr32_OnSerialize, 1);
3292 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
3293 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__IntPtr32_OnCompare, 1);
3294 }
3295 }
3296
3297 static void __ecereNameSpace__ecere__com__RegisterClass_Float(struct __ecereNameSpace__ecere__com__Instance * module)
3298 {
3299 struct __ecereNameSpace__ecere__com__Class * floatClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "float", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3300
3301 floatClass->type = 1000;
3302 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)floatClass->dataTypeString), floatClass->dataTypeString = 0);
3303 floatClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("float");
3304 floatClass->structSize = 0;
3305 floatClass->typeSize = sizeof(float);
3306 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnCompare, 1);
3307 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetString, 1);
3308 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetDataFromString, 1);
3309 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnSerialize, 1);
3310 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnUnserialize, 1);
3311 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "nan", "float ::nan(void)", Float_nan, 1);
3312 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "inf", "float ::inf(void)", Float_inf, 1);
3313 __ecereNameSpace__ecere__com__eClass_AddProperty(floatClass, "isNan", "bool", (((void *)0)), Float_isNan, 1);
3314 __ecereNameSpace__ecere__com__eClass_AddProperty(floatClass, "isInf", "bool", (((void *)0)), Float_isInf, 1);
3315 __ecereNameSpace__ecere__com__eClass_AddProperty(floatClass, "signBit", "int", (((void *)0)), Float_signBit, 1);
3316 }
3317
3318 static void __ecereNameSpace__ecere__com__RegisterClass_Double(struct __ecereNameSpace__ecere__com__Instance * module)
3319 {
3320 struct __ecereNameSpace__ecere__com__Class * doubleClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "double", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3321
3322 doubleClass->type = 1000;
3323 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)doubleClass->dataTypeString), doubleClass->dataTypeString = 0);
3324 doubleClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("double");
3325 doubleClass->structSize = 0;
3326 doubleClass->typeSize = sizeof(double);
3327 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnCompare, 1);
3328 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetString, 1);
3329 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetDataFromString, 1);
3330 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnSerialize, 1);
3331 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnUnserialize, 1);
3332 __ecereNameSpace__ecere__com__eClass_AddProperty(doubleClass, "isNan", "bool", (((void *)0)), Double_isNan, 1);
3333 __ecereNameSpace__ecere__com__eClass_AddProperty(doubleClass, "isInf", "bool", (((void *)0)), Double_isInf, 1);
3334 __ecereNameSpace__ecere__com__eClass_AddProperty(doubleClass, "signBit", "int", (((void *)0)), Double_signBit, 1);
3335 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "nan", "double ::nan(void)", Double_nan, 1);
3336 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "inf", "double ::inf(void)", Double_inf, 1);
3337 }
3338
3339 static void __ecereNameSpace__ecere__com__RegisterClass_String(struct __ecereNameSpace__ecere__com__Instance * module)
3340 {
3341 struct __ecereNameSpace__ecere__com__Class * stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char *", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3342
3343 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)stringClass->dataTypeString), stringClass->dataTypeString = 0);
3344 stringClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char *");
3345 stringClass->structSize = 0;
3346 stringClass->computeSize = 0;
3347 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCompare, 1);
3348 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCopy", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCopy, 1);
3349 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnFree", (((void *)0)), __ecereNameSpace__ecere__com__String_OnFree, 1);
3350 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetString, 1);
3351 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetDataFromString, 1);
3352 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnSerialize, 1);
3353 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnUnserialize, 1);
3354 stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "String", "char *", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
3355 stringClass->structSize = 0;
3356 stringClass->computeSize = 0;
3357 __ecereNameSpace__ecere__com__eClass_AddProperty(stringClass, (((void *)0)), "char *", (((void *)0)), (((void *)0)), 1);
3358 }
3359
3360 void __ecereDestructor___ecereNameSpace__ecere__com__SerialBuffer(struct __ecereNameSpace__ecere__com__Instance * this)
3361 {
3362 __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);
3363
3364 {
3365 __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(this);
3366 }
3367 }
3368
3369 void __ecereNameSpace__ecere__com__InitializeDataTypes1(struct __ecereNameSpace__ecere__com__Instance * module)
3370 {
3371 struct __ecereNameSpace__ecere__com__Class * baseClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "class");
3372
3373 __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);
3374 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCompare", "int typed_object::OnCompare(any_object object)", __ecereNameSpace__ecere__com__OnCompare, 1);
3375 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCopy", "void typed_object&::OnCopy(any_object newData)", __ecereNameSpace__ecere__com__OnCopy, 1);
3376 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnFree", "void typed_object::OnFree(void)", __ecereNameSpace__ecere__com__OnFree, 1);
3377 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetString", "const char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__OnGetString, 1);
3378 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(const char * string)", __ecereNameSpace__ecere__com__OnGetDataFromString, 1);
3379 __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);
3380 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSerialize", "void typed_object::OnSerialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnSerialize, 1);
3381 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnUnserialize", "void typed_object&::OnUnserialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnUnserialize, 1);
3382 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSaveEdit", "bool typed_object&::OnSaveEdit(Window window, void * object)", (((void *)0)), 1);
3383 }
3384
3385 void __ecereNameSpace__ecere__com__InitializeDataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
3386 {
3387 struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "enum");
3388
3389 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Enum_OnSerialize, 1);
3390 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Enum_OnUnserialize, 1);
3391 __ecereNameSpace__ecere__com__RegisterClass_Integer(module);
3392 __ecereNameSpace__ecere__com__RegisterClass_Float(module);
3393 __ecereNameSpace__ecere__com__RegisterClass_Double(module);
3394 __ecereNameSpace__ecere__com__RegisterClass_String(module);
3395 }
3396
3397 void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
3398 {
3399 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
3400
3401 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXBYTE", "0xff", module, 4);
3402 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXWORD", "0xffff", module, 4);
3403 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT", "((int)0x80000000)", module, 4);
3404 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT", "((int)0x7fffffff)", module, 4);
3405 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT64", "((long long)0x8000000000000000LL)", module, 4);
3406 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT64", "((long long)0x7fffffffffffffffLL)", module, 4);
3407 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDWORD", "0xffffffff", module, 4);
3408 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXQWORD", "0xffffffffffffffffLL", module, 4);
3409 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINFLOAT", "1.17549435082228750e-38f", module, 4);
3410 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXFLOAT", "3.40282346638528860e+38f", module, 4);
3411 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINDOUBLE", "2.2250738585072014e-308", module, 4);
3412 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDOUBLE", "1.7976931348623158e+308", module, 4);
3413 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEXLL", "(__runtimePlatform == win32) ? \"0x%I64XLL\" : \"0x%llXLL\"", module, 4);
3414 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEX", "(__runtimePlatform == win32) ? \"0x%I64X\" : \"0x%llX\"", module, 4);
3415 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64DLL", "(__runtimePlatform == win32) ? \"%I64dLL\" : \"%lldLL\"", module, 4);
3416 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64D", "(__runtimePlatform == win32) ? \"%I64d\" : \"%lld\"", module, 4);
3417 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64U", "(__runtimePlatform == win32) ? \"%I64u\" : \"%llu\"", module, 4);
3418 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::IOChannel", 0, 0, 0, (void *)0, (void *)0, module, 4, 1);
3419 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)
3420 __ecereClass___ecereNameSpace__ecere__com__IOChannel = class;
3421 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "WriteData", "uint WriteData(const void * data, unsigned int numBytes)", 0, 1);
3422 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ReadData", "uint ReadData(void * data, unsigned int numBytes)", 0, 1);
3423 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Get", "void Get(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get, 1);
3424 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Put", "void Put(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put, 1);
3425 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Serialize", "void Serialize(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize, 1);
3426 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Unserialize", "void Unserialize(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize, 1);
3427 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);
3428 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)
3429 __ecereClass___ecereNameSpace__ecere__com__SerialBuffer = class;
3430 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData, 1);
3431 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData, 1);
3432 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free, 1);
3433 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_buffer", "byte *", sizeof(void *), 0xF000F000, 1);
3434 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "uint", 4, 4, 1);
3435 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_size", "uint", 4, 4, 1);
3436 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pos", "uint", 4, 4, 1);
3437 __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);
3438 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)
3439 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
3440 __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);
3441 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)
3442 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
3443 __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);
3444 __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);
3445 __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);
3446 __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);
3447 __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);
3448 __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);
3449 __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);
3450 __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);
3451 __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);
3452 __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);
3453 __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);
3454 __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);
3455 __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);
3456 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);
3457 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)
3458 __ecereClass___ecereNameSpace__ecere__com__StaticString = class;
3459 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnCompare, 1);
3460 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree, 1);
3461 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString, 1);
3462 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize, 1);
3463 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnUnserialize, 1);
3464 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "string", "char[1]", 1, 1, 1);
3465 __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);
3466 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes1", "void ecere::com::InitializeDataTypes1(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes1, module, 4);
3467 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes", "void ecere::com::InitializeDataTypes(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes, module, 4);
3468 __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);
3469 __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);
3470 __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);
3471 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintString", "char * ecere::com::PrintString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintString, module, 4);
3472 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLnString", "char * ecere::com::PrintLnString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLnString, module, 4);
3473 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLn", "void ecere::com::PrintLn(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLn, module, 4);
3474 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Print", "void ecere::com::Print(typed_object object, ...)", __ecereNameSpace__ecere__com__Print, module, 4);
3475 }
3476