2 typedef long long int64;
3 typedef unsigned long long uint64;
7 #elif defined(__TINYC__)
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
19 typedef long long int64;
20 typedef unsigned long long uint64;
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
26 #define __ENDIAN_PAD(x) (8 - (x))
28 #define __ENDIAN_PAD(x) 0
31 #include <sys/types.h>
33 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
39 #define arch_PointerSize sizeof(void *)
40 #define structSize_Instance (_64BIT ? 24 : 12)
42 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
44 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
46 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
48 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
50 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
52 struct __ecereNameSpace__ecere__sys__BTNode;
54 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
56 struct __ecereNameSpace__ecere__sys__BinaryTree
58 struct __ecereNameSpace__ecere__sys__BTNode * root;
60 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
61 void (* FreeKey)(void * key);
62 } __attribute__ ((gcc_struct));
64 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
66 struct __ecereNameSpace__ecere__sys__OldList
73 } __attribute__ ((gcc_struct));
75 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
77 struct __ecereNameSpace__ecere__com__Class
79 struct __ecereNameSpace__ecere__com__Class * prev;
80 struct __ecereNameSpace__ecere__com__Class * next;
86 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
87 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
90 struct __ecereNameSpace__ecere__com__Class * base;
91 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
92 struct __ecereNameSpace__ecere__sys__BinaryTree members;
93 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
94 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
95 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
96 struct __ecereNameSpace__ecere__sys__OldList derivatives;
100 struct __ecereNameSpace__ecere__com__Instance * module;
101 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
102 char * dataTypeString;
103 struct __ecereNameSpace__ecere__com__Instance * dataType;
105 int defaultAlignment;
106 void (* Initialize)();
108 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
109 char * designerClass;
110 unsigned int noExpansion;
111 char * defaultProperty;
112 unsigned int comRedefinition;
114 unsigned int isRemote;
115 unsigned int internalDecl;
117 unsigned int computeSize;
119 int destructionWatchOffset;
121 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
122 int inheritanceAccess;
125 struct __ecereNameSpace__ecere__sys__OldList conversions;
126 struct __ecereNameSpace__ecere__sys__OldList templateParams;
127 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
128 struct __ecereNameSpace__ecere__com__Class * templateClass;
129 struct __ecereNameSpace__ecere__sys__OldList templatized;
131 } __attribute__ ((gcc_struct));
133 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
135 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
137 struct __ecereNameSpace__ecere__com__Instance
140 struct __ecereNameSpace__ecere__com__Class * _class;
142 } __attribute__ ((gcc_struct));
144 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
146 struct __ecereNameSpace__ecere__com__Property
148 struct __ecereNameSpace__ecere__com__Property * prev;
149 struct __ecereNameSpace__ecere__com__Property * next;
151 unsigned int isProperty;
154 struct __ecereNameSpace__ecere__com__Class * _class;
155 char * dataTypeString;
156 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
157 struct __ecereNameSpace__ecere__com__Instance * dataType;
158 void (* Set)(void * , int);
159 int (* Get)(void * );
160 unsigned int (* IsSet)(void * );
164 unsigned int conversion;
165 unsigned int watcherOffset;
167 unsigned int compiled;
168 unsigned int selfWatchable;
169 unsigned int isWatchable;
170 } __attribute__ ((gcc_struct));
172 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
174 struct __ecereNameSpace__ecere__com__DataMember
176 struct __ecereNameSpace__ecere__com__DataMember * prev;
177 struct __ecereNameSpace__ecere__com__DataMember * next;
179 unsigned int isProperty;
182 struct __ecereNameSpace__ecere__com__Class * _class;
183 char * dataTypeString;
184 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
185 struct __ecereNameSpace__ecere__com__Instance * dataType;
189 struct __ecereNameSpace__ecere__sys__OldList members;
190 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
193 } __attribute__ ((gcc_struct));
195 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
197 struct __ecereNameSpace__ecere__com__Method
200 struct __ecereNameSpace__ecere__com__Method * parent;
201 struct __ecereNameSpace__ecere__com__Method * left;
202 struct __ecereNameSpace__ecere__com__Method * right;
207 struct __ecereNameSpace__ecere__com__Class * _class;
209 char * dataTypeString;
210 struct __ecereNameSpace__ecere__com__Instance * dataType;
212 } __attribute__ ((gcc_struct));
214 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
216 struct __ecereNameSpace__ecere__com__DataValue
231 } __attribute__ ((gcc_struct));
232 } __attribute__ ((gcc_struct));
234 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
236 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
242 char * dataTypeString;
243 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
244 } __attribute__ ((gcc_struct));
245 struct __ecereNameSpace__ecere__com__DataValue expression;
251 struct __ecereNameSpace__ecere__com__DataMember * member;
252 struct __ecereNameSpace__ecere__com__Property * prop;
253 struct __ecereNameSpace__ecere__com__Method * method;
254 } __attribute__ ((gcc_struct));
255 } __attribute__ ((gcc_struct));
256 } __attribute__ ((gcc_struct));
257 } __attribute__ ((gcc_struct));
259 extern int runtimePlatform;
278 int __ecereVMethodID_class_OnGetString;
280 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
282 int __ecereVMethodID_class_OnFree;
284 int __ecereVMethodID_class_OnCopy;
286 int __ecereVMethodID_class_OnCompare;
288 int __ecereVMethodID_class_OnSaveEdit;
290 int __ecereVMethodID_class_OnEdit;
292 int __ecereVMethodID_class_OnGetDataFromString;
294 static void __ecereNameSpace__ecere__com__UnusedFunction()
298 ((char * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char * tempString, void * fieldData, unsigned int * needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
299 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnFree])(__ecereClass_int, &a);
300 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, (((void *)0)));
301 ((int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, (((void *)0)));
302 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * window, void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSaveEdit])(__ecereClass_int, &a, (((void *)0)), 0);
303 ((struct __ecereNameSpace__ecere__com__Instance * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * dataBox, struct __ecereNameSpace__ecere__com__Instance * obsolete, int x, int y, int w, int h, void * userData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnEdit])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), 0, 0, 0, 20, 0);
304 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char * string))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &a, (((void *)0)));
307 typedef __builtin_va_list va_list;
309 void exit(int status);
311 void * calloc(size_t nmemb, size_t size);
313 void free(void * ptr);
315 void * malloc(size_t size);
317 void * realloc(void * ptr, size_t size);
319 long int strtol(const char * nptr, char ** endptr, int base);
321 long long int strtoll(const char * nptr, char ** endptr, int base);
323 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
327 FILE * bsl_stdin(void);
329 FILE * bsl_stdout(void);
331 FILE * bsl_stderr(void);
333 char * fgets(char * s, int size, FILE * stream);
335 FILE * fopen(const char * path, const char * mode);
337 int fclose(FILE * fp);
339 int fflush(FILE * stream);
341 int fgetc(FILE * stream);
343 int fprintf(FILE * stream, const char * format, ...);
345 int fputc(int c, FILE * stream);
347 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
349 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
351 int vsnprintf(char *, size_t, const char *, ...);
353 int snprintf(char * str, size_t, const char * format, ...);
355 int fseek(FILE * stream, long offset, int whence);
357 long ftell(FILE * stream);
359 int feof(FILE * stream);
361 int ferror(FILE * stream);
363 int fileno(FILE * stream);
365 FILE * eC_stdout(void);
367 FILE * eC_stderr(void);
369 extern int __ecereVMethodID_class_OnGetString;
371 extern int __ecereVMethodID_class_OnGetDataFromString;
373 extern int __ecereVMethodID_class_OnCompare;
375 extern int __ecereVMethodID_class_OnSerialize;
377 extern int __ecereVMethodID_class_OnUnserialize;
379 extern int __ecereVMethodID_class_OnCopy;
381 void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
383 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IOChannel;
385 int __ecereVMethodID_class_OnSerialize;
387 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
389 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
392 int __ecereVMethodID_class_OnUnserialize;
394 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
396 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
399 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
401 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
404 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
406 ((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
409 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer, * __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer;
411 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size, * __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size;
413 struct __ecereNameSpace__ecere__com__SerialBuffer
415 unsigned char * _buffer;
419 } __attribute__ ((gcc_struct));
421 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
423 void __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free();
425 void __ecereDestructor___ecereNameSpace__ecere__com__SerialBuffer(struct __ecereNameSpace__ecere__com__Instance * this)
427 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
430 __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(this);
434 extern void * memcpy(void * , const void * , size_t size);
436 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
438 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
440 if(this != (((void *)0)))
442 if(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes > __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size)
444 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count + numBytes;
445 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size += __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size / 2;
446 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size));
448 memcpy(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count, bytes, numBytes);
449 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count += numBytes;
455 unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
457 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
459 if(this != (((void *)0)))
461 unsigned int __simpleStruct0;
462 int read = (__simpleStruct0 = __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, (numBytes < __simpleStruct0) ? numBytes : __simpleStruct0);
464 memcpy(bytes, __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos, read);
465 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos += read;
471 void __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(struct __ecereNameSpace__ecere__com__Instance * this)
473 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
477 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer), __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = 0);
478 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = 0;
479 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_size = 0;
480 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos = 0;
484 unsigned char * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this)
486 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
488 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer + __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
491 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_buffer(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * value)
493 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
495 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->_buffer = value;
496 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer);
499 unsigned int __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size(struct __ecereNameSpace__ecere__com__Instance * this)
501 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
503 return __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count - __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->pos;
506 void __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
508 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
510 __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer->count = value;
511 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size);
514 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__EnumClassData;
516 struct __ecereNameSpace__ecere__com__EnumClassData
518 struct __ecereNameSpace__ecere__sys__OldList values;
520 } __attribute__ ((gcc_struct));
522 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
524 struct __ecereNameSpace__ecere__sys__NamedLink
526 struct __ecereNameSpace__ecere__sys__NamedLink * prev;
527 struct __ecereNameSpace__ecere__sys__NamedLink * next;
530 } __attribute__ ((gcc_struct));
532 extern char * strcpy(char * , const char * );
534 extern int toupper(int);
536 char * __ecereNameSpace__ecere__com__Enum_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * tempString, void * fieldData, unsigned int * needClass)
538 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)_class->data;
539 struct __ecereNameSpace__ecere__sys__NamedLink * item;
541 for(item = enumeration->values.first; item; item = item->next)
542 if((int)item->data == *data)
546 strcpy(tempString, item->name);
547 if(!needClass || !*needClass)
548 tempString[0] = (char)toupper(tempString[0]);
552 return (((void *)0));
555 extern int strcasecmp(const char * , const char * );
557 static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string);
559 static unsigned int __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
561 struct __ecereNameSpace__ecere__com__EnumClassData * enumeration = (struct __ecereNameSpace__ecere__com__EnumClassData *)_class->data;
562 struct __ecereNameSpace__ecere__sys__NamedLink * item;
564 for(item = enumeration->values.first; item; item = item->next)
566 if(item->name && !(strcasecmp)(item->name, string))
571 *data = (int)item->data;
575 return __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(_class, data, string);
579 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
581 static void __ecereNameSpace__ecere__com__OnFree(struct __ecereNameSpace__ecere__com__Class * _class, void * data)
583 if(_class->templateClass)
584 _class = _class->templateClass;
585 if(_class->type == 0)
587 __ecereNameSpace__ecere__com__eInstance_DecRef(data);
589 else if(_class->type == 5 && data)
591 while(_class && _class->type == 5)
593 if(_class->Destructor)
594 _class->Destructor(data);
595 _class = _class->base;
597 (__ecereNameSpace__ecere__com__eSystem_Delete(data), data = 0);
601 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
603 static int __ecereNameSpace__ecere__com__DataMember_OnCompare(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data1, void * data2)
605 struct __ecereNameSpace__ecere__com__DataMember * member;
606 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
608 for(member = parentMember->members.first; member; member = member->next)
610 int memberResult = 0;
612 if(member->type == 0)
614 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
617 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
619 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
620 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
622 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
628 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
630 value1.i = *(int *)((unsigned char *)data1 + member->offset);
631 value2.i = *(int *)((unsigned char *)data2 + member->offset);
632 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
639 memberResult = __ecereNameSpace__ecere__com__DataMember_OnCompare(member, (unsigned char *)data1 + member->offset, (unsigned char *)data2 + member->offset);
647 extern int strcmp(const char * , const char * );
649 static int __ecereNameSpace__ecere__com__OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, void * data1, void * data2)
651 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
653 if(_class->type == 0 || _class->type == 5 || _class->type == 1)
657 for(; _class && _class->type != 1000; _class = _class->base)
659 struct __ecereNameSpace__ecere__com__DataMember * member;
661 if(_class->noExpansion)
665 else if(data1 < data2)
670 for(member = _class->membersAndProperties.first; member; member = member->next)
672 int memberResult = 0;
674 if(member->isProperty || member->type == 0)
676 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
679 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
682 if(member->isProperty)
684 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
686 if(!prop->conversion && prop->Get && prop->Set)
688 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
690 if(!strcmp(memberType->dataTypeString, "char *"))
692 char * a = ((char * (*)(void *))(void *)prop->Get)(data1);
693 char * b = ((char * (*)(void *))(void *)prop->Get)(data2);
695 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, a, b);
700 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
702 if(!strcmp(memberType->dataTypeString, "float"))
704 value1.f = ((float (*)(void *))(void *)prop->Get)(data1);
705 value2.f = ((float (*)(void *))(void *)prop->Get)(data2);
709 value1.i = ((int (*)(void *))(void *)prop->Get)(data1);
710 value2.i = ((int (*)(void *))(void *)prop->Get)(data2);
712 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
718 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
720 if(memberType->type == 0 || memberType->type == 5)
722 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, *(void **)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), *(void **)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)));
726 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, (unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), (unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
731 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
733 if(memberType->typeSize == 8)
735 value1.ui64 = *(uint64 *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
736 value2.ui64 = *(uint64 *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
740 value1.i = *(int *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
741 value2.i = *(int *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
743 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
753 memberResult = __ecereNameSpace__ecere__com__DataMember_OnCompare(member, (unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), (unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
760 else if(!data1 && data2)
762 else if(data1 && !data2)
765 else if(_class->type == 3)
767 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
769 return ((int (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnCompare])(dataType, data1, data2);
777 if(_class->typeSize == 8)
779 if(*(uint64 *)data1 > *(uint64 *)data2)
781 else if(*(uint64 *)data1 < *(uint64 *)data2)
786 if(*(unsigned int *)data1 > *(unsigned int *)data2)
788 else if(*(unsigned int *)data1 < *(unsigned int *)data2)
792 else if(!data1 && data2)
794 else if(data1 && !data2)
801 extern char * strchr(const char * , int);
803 extern char * strcat(char * , const char * );
805 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
807 struct __ecereNameSpace__ecere__com__BitMember
809 struct __ecereNameSpace__ecere__com__BitMember * prev;
810 struct __ecereNameSpace__ecere__com__BitMember * next;
812 unsigned int isProperty;
815 struct __ecereNameSpace__ecere__com__Class * _class;
816 char * dataTypeString;
817 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
818 struct __ecereNameSpace__ecere__com__Instance * dataType;
823 } __attribute__ ((gcc_struct));
825 extern size_t strlen(const char * );
827 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_double;
829 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_float;
831 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int64;
833 static char * __ecereNameSpace__ecere__com__OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
835 struct __ecereNameSpace__ecere__com__Instance * module = _class->templateClass ? _class->templateClass->module : _class->module;
837 if(_class->type == 4)
839 return __ecereNameSpace__ecere__com__Enum_OnGetString(_class, data, tempString, fieldData, needClass);
841 else if(_class->type == 3)
843 struct __ecereNameSpace__ecere__com__Class * dataType;
844 struct __ecereNameSpace__ecere__com__Property * prop;
846 for(prop = _class->conversions.first; prop; prop = prop->next)
848 unsigned int refProp = 0x0;
849 struct __ecereNameSpace__ecere__com__Class * c;
851 if(!strcmp(prop->name, _class->base->fullName))
853 else if((c = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, prop->name)))
855 struct __ecereNameSpace__ecere__com__Property * p;
857 for(p = c->conversions.first; p; p = p->next)
859 if(!strcmp(p->name, _class->base->fullName) && !p->Set && !p->Get)
868 if(prop->Set && prop->Get)
870 char * dts = _class->base->dataTypeString;
872 if(!strcmp(dts, "double"))
874 double d = ((double (*)(double))(void *)prop->Set)(*(double *)data);
876 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_double, &d, tempString, fieldData, needClass);
878 else if(!strcmp(dts, "float"))
880 float d = ((float (*)(float))(void *)prop->Set)(*(float *)data);
882 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_float, &d, tempString, fieldData, needClass);
884 else if(!strcmp(dts, "int"))
886 int d = ((int (*)(int))(void *)prop->Set)(*(int *)data);
888 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &d, tempString, fieldData, needClass);
890 else if(!strcmp(dts, "int64"))
892 long long d = ((long long (*)(long long))(void *)prop->Set)(*(long long *)data);
894 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int64, &d, tempString, fieldData, needClass);
901 dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
902 return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
906 unsigned int atMember = 0x1;
907 unsigned int prev = 0x0;
908 struct __ecereNameSpace__ecere__com__Class * mainClass = _class;
910 _class = (((void *)0));
911 tempString[0] = '\0';
912 if(!data && (mainClass->type == 0 || mainClass->type == 5))
914 while(_class != mainClass)
916 struct __ecereNameSpace__ecere__com__DataMember * member;
917 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
919 for(_class = mainClass; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
921 for(member = _class->membersAndProperties.first; member; member = member->next)
923 char memberString[1024];
924 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
925 char * name = member->name;
927 memberString[0] = (char)0;
929 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
931 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
932 if(member->isProperty)
934 struct __ecereNameSpace__ecere__com__Property * prop = (struct __ecereNameSpace__ecere__com__Property *)member;
936 if(!prop->conversion && prop->Get && prop->Set && (!prop->IsSet || prop->IsSet(data)))
938 if(memberType->type != 1 && (memberType->type != 0 || !strcmp(memberType->dataTypeString, "char *")) && memberType->type != 2 && data)
940 struct __ecereNameSpace__ecere__com__DataValue value =
945 if(!strcmp(prop->dataTypeString, "float"))
947 value.f = ((float (*)(void *))(void *)prop->Get)(data);
950 unsigned int needClass = 0x1;
951 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
953 if(result && result != memberString)
954 strcpy(memberString, result);
955 if(strchr(memberString, '.'))
956 strcat(memberString, "f");
959 else if(memberType->type == 0 || memberType->type == 5)
961 value.p = ((void * (*)(void *))(void *)prop->Get)(data);
962 if(value.p || prop->IsSet)
964 unsigned int needClass = 0x1;
965 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.p : &value, memberString, (((void *)0)), &needClass);
967 if(result && result != memberString)
968 strcpy(memberString, result);
973 value.i = ((int (*)(void *))(void *)prop->Get)(data);
974 if(value.i || prop->IsSet)
976 unsigned int needClass = 0x1;
977 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
979 if(result && result != memberString)
980 strcpy(memberString, result);
988 if(member->type == 0)
990 if(memberType->type == 1 || memberType->type == 0)
992 char internalMemberString[1024];
993 unsigned char * memberData = ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
996 for(c = 0; c < memberType->structSize; c++)
999 if(c < memberType->structSize)
1001 unsigned int needClass = 0x1;
1004 if(memberType->type == 0)
1005 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(struct __ecereNameSpace__ecere__com__Instance **)memberData, internalMemberString, (((void *)0)), &needClass);
1007 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, (((void *)0)), &needClass);
1010 strcat(memberString, "{ ");
1012 strcat(memberString, result);
1013 strcat(memberString, " }");
1016 strcpy(memberString, result);
1021 struct __ecereNameSpace__ecere__com__DataValue value =
1026 if(_class->type == 2)
1028 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)member;
1030 value.ui64 = ((*(unsigned int *)data & bitMember->mask) >> bitMember->pos);
1033 unsigned int needClass = 0x1;
1034 char internalMemberString[1024];
1035 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, (((void *)0)), &needClass);
1037 if(needClass && memberType->type != 1000 && memberType->type != 4 && memberType->type != 3)
1039 strcat(memberString, " { ");
1041 strcat(memberString, result);
1042 strcat(memberString, " }");
1045 strcpy(memberString, result);
1048 else if(!memberType->noExpansion)
1050 if(memberType->typeSize <= 4)
1052 value.i = *(int *)((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
1055 unsigned int needClass = 0x1;
1056 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
1058 if(result && memberString != result)
1059 strcpy(memberString, result);
1064 unsigned int needClass = 0x1;
1065 char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), memberString, (((void *)0)), &needClass);
1067 if(result && memberString != result)
1068 strcpy(memberString, result);
1077 strcat(tempString, ", ");
1078 if(!atMember || !strcmp(memberType->name, "bool"))
1080 strcat(tempString, name);
1081 strcat(tempString, " = ");
1083 if(!strcmp(memberType->name, "char *"))
1085 int len = strlen(tempString);
1088 strcat(tempString, "\"");
1090 for(c = 0; memberString[c]; c++)
1092 if(memberString[c] == '\"')
1094 strcat(tempString, "\\\"");
1097 else if(memberString[c] == '\\')
1099 strcat(tempString, "\\\\");
1104 tempString[len++] = memberString[c];
1105 tempString[len] = (char)0;
1108 strcat(tempString, "\"");
1111 strcat(tempString, memberString);
1115 else if(member && (!member->isProperty || !((struct __ecereNameSpace__ecere__com__Property *)member)->conversion))
1123 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
1125 extern void * memset(void * area, int value, size_t count);
1127 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(char * string, char * output);
1129 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char * name, unsigned int * offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos);
1131 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module);
1133 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);
1135 static unsigned int __ecereNameSpace__ecere__com__OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, char * string)
1137 unsigned int result;
1138 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1140 if(_class->type == 4)
1141 result = __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(_class, (int *)data, string);
1142 else if(_class->type == 3)
1144 struct __ecereNameSpace__ecere__com__Class * dataType;
1145 struct __ecereNameSpace__ecere__com__Property * prop;
1147 for(prop = _class->conversions.first; prop; prop = prop->next)
1149 unsigned int refProp = 0x0;
1150 struct __ecereNameSpace__ecere__com__Class * c;
1152 if(!strcmp(prop->name, _class->base->fullName))
1154 else if((c = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, prop->name)))
1156 struct __ecereNameSpace__ecere__com__Property * p;
1158 for(p = c->conversions.first; p; p = p->next)
1160 if(!strcmp(p->name, _class->base->fullName) && !p->Set && !p->Get)
1169 if(prop->Set && prop->Get)
1171 char * dts = _class->base->dataTypeString;
1173 if(!strcmp(dts, "double"))
1176 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_double, &d, string);
1178 *(double *)data = ((double (*)(double))(void *)prop->Get)(d);
1181 else if(!strcmp(dts, "float"))
1184 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_float, &d, string);
1186 *(float *)data = ((float (*)(float))(void *)prop->Get)(d);
1189 else if(!strcmp(dts, "int"))
1192 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &d, string);
1194 *(int *)data = ((int (*)(int))(void *)prop->Get)(d);
1197 else if(!strcmp(dts, "int64"))
1200 unsigned int result = ((unsigned int (*)(void *, void *, const char *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int64, &d, string);
1202 *(long long *)data = ((long long (*)(long long))(void *)prop->Get)(d);
1210 dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1211 return ((unsigned int (*)(void *, void *, const char *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(dataType, data, string);
1213 else if(!string[0] && _class->type == 0)
1215 *data = (((void *)0));
1221 char memberName[1024];
1222 char memberString[10240];
1224 unsigned int quoted = 0x0;
1227 unsigned int escape = 0x0;
1228 unsigned int gotChar;
1229 unsigned int memberOffset;
1230 struct __ecereNameSpace__ecere__com__Class * curClass = (((void *)0));
1231 struct __ecereNameSpace__ecere__com__DataMember * curMember = (((void *)0));
1232 struct __ecereNameSpace__ecere__com__DataMember * subMemberStack[256];
1233 int subMemberStackPos = 0;
1236 if(_class->type == 5 || _class->type == 0)
1238 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
1239 if(_class->type == 0)
1240 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
1242 else if(_class->type == 1)
1243 memset(data, 0, _class->structSize);
1244 memberName[0] = '\0';
1245 for(c = 0; string[c] && count < sizeof memberString; )
1247 unsigned int found = 0x0;
1248 struct __ecereNameSpace__ecere__com__DataMember * thisMember = (((void *)0));
1252 for(; (ch = string[c]) && count < sizeof memberString; c++)
1254 if(ch == '\"' && !escape)
1260 if(!escape && ch == '\\')
1266 memberString[count++] = ch;
1273 memberString[count++] = ch;
1279 memberString[count++] = ch;
1289 if(gotChar && !brackets)
1296 memberString[count++] = ch;
1307 memberString[count++] = ch;
1314 memberString[count++] = ch;
1318 memberString[count] = '\0';
1319 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberName);
1326 memberString[count++] = ch;
1330 memberString[count] = '\0';
1331 __ecereNameSpace__ecere__sys__TrimRSpaces(memberString, memberString);
1334 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
1335 int _subMemberStackPos = 0;
1337 thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, memberName, &memberOffset, _class->module, _subMemberStack, &_subMemberStackPos);
1339 thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(_class, memberName, _class->module);
1342 if(thisMember->memberAccess == 1)
1344 curMember = thisMember;
1345 curClass = thisMember->_class;
1346 memcpy(subMemberStack, _subMemberStack, sizeof(int) * _subMemberStackPos);
1347 subMemberStackPos = _subMemberStackPos;
1354 __ecereNameSpace__ecere__com__eClass_FindNextMember(_class, &curClass, &curMember, subMemberStack, &subMemberStackPos);
1355 thisMember = curMember;
1359 __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, thisMember->name, &memberOffset, _class->module, (((void *)0)), (((void *)0)));
1364 struct __ecereNameSpace__ecere__com__Class * memberType = thisMember->dataTypeClass;
1367 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, thisMember->dataTypeString);
1369 memberType = thisMember->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1370 if(memberType->type == 1)
1374 if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, (unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + memberOffset), memberString))
1380 struct __ecereNameSpace__ecere__com__DataValue value =
1385 if(memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString] == _class->_vTbl[__ecereVMethodID_class_OnGetDataFromString])
1387 if(!__ecereNameSpace__ecere__com__OnGetDataFromString(memberType, &value, memberString))
1390 else if(!((unsigned int (*)(void *, void *, const char *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(memberType, &value, memberString))
1392 if(thisMember && !thisMember->isProperty)
1394 if(_class->type == 2)
1396 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)thisMember;
1398 *(unsigned int *)data = (unsigned int)(((*(unsigned int *)data & ~bitMember->mask)) | ((value.ui64 << bitMember->pos) & bitMember->mask));
1401 *(int *)((unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + thisMember->offset)) = value.i;
1403 else if(thisMember->isProperty && ((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)
1405 if(memberType->type == 5 || memberType->type == 0 || memberType->type == 1)
1406 ((void (*)(void *, void *))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.p);
1408 ((void (*)(void *, int))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.i);
1415 memberName[0] = '\0';
1421 static void __ecereNameSpace__ecere__com__OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, void * newData)
1423 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1425 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->dataTypeString);
1428 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnCopy])(dataType, data, newData);
1430 else if(_class->type != 1 && _class->type != 1000)
1435 memcpy(data, newData, _class->typeSize);
1437 memset(data, 0, _class->typeSize);
1440 static int __ecereNameSpace__ecere__com__DataMember_OnSerialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1442 struct __ecereNameSpace__ecere__com__DataMember * member;
1443 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1445 for(member = parentMember->members.first; member; member = member->next)
1447 if(member->type == 0)
1449 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1452 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1454 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1455 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1457 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, (unsigned char *)data + member->offset, channel);
1461 struct __ecereNameSpace__ecere__com__DataValue value;
1463 value.i = *(int *)((unsigned char *)data + member->offset);
1464 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, &value, channel);
1469 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, (unsigned char *)data + member->offset, channel);
1475 static void __ecereNameSpace__ecere__com__OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1477 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1479 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1481 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1484 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnSerialize])(dataType, data, channel);
1486 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
1489 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
1491 while(lastClass != _class)
1493 struct __ecereNameSpace__ecere__com__DataMember * member;
1495 for(; _class && (!_class->base || _class->base->type != 1000) && _class != lastClass; _class = _class->base)
1498 for(member = _class->membersAndProperties.first; member; member = member->next)
1500 if(member->isProperty || member->type == 0)
1502 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1505 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1508 if(member->isProperty)
1513 if(!strcmp(memberType->name, "String") || memberType->type == 0 || memberType->type == 5)
1515 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, data ? (*(void **)((unsigned char *)data + member->_class->offset + member->offset)) : (((void *)0)), channel);
1518 ((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);
1527 __ecereNameSpace__ecere__com__DataMember_OnSerialize(member, data ? ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)) : (((void *)0)), channel);
1535 static int __ecereNameSpace__ecere__com__DataMember_OnUnserialize(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1537 struct __ecereNameSpace__ecere__com__DataMember * member;
1538 struct __ecereNameSpace__ecere__com__Instance * module = parentMember->_class->module;
1540 for(member = parentMember->members.first; member; member = member->next)
1542 if(member->type == 0)
1544 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1547 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1549 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "int");
1550 if(memberType->type == 1 || memberType->type == 0 || memberType->type == 5)
1552 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, (unsigned char *)data + member->offset, channel);
1556 struct __ecereNameSpace__ecere__com__DataValue value;
1558 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, &value, channel);
1559 *(int *)((unsigned char *)data + member->offset) = value.i;
1564 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + member->offset, channel);
1570 static void __ecereNameSpace__ecere__com__OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, struct __ecereNameSpace__ecere__com__Instance * channel)
1572 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
1574 if(_class->type == 3 || _class->type == 2 || _class->type == 4)
1576 struct __ecereNameSpace__ecere__com__Class * dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
1579 ((void (*)(void *, void *, void *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnUnserialize])(dataType, data, channel);
1581 else if(_class->type == 0 || _class->type == 5 || _class->type == 1)
1585 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0));
1587 if(_class->type == 0 || _class->type == 5)
1589 data = *data = __ecereNameSpace__ecere__com__eInstance_New(_class);
1590 if(_class->type == 0)
1591 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_refCount++;
1593 else if(_class->type == 1)
1594 memset(data, 0, _class->structSize);
1595 while(lastClass != _class)
1597 struct __ecereNameSpace__ecere__com__DataMember * member;
1599 for(; _class && (!_class->base || _class->base->type != 1000) && _class != lastClass; _class = _class->base)
1602 for(member = _class->membersAndProperties.first; member; member = member->next)
1604 if(member->isProperty || member->type == 0)
1606 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
1609 memberType = member->dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, member->dataTypeString);
1612 if(member->isProperty)
1616 ((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);
1624 __ecereNameSpace__ecere__com__DataMember_OnUnserialize(member, (unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset), channel);
1632 static int __ecereNameSpace__ecere__com__Integer_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, int * data1, int * data2)
1636 if(!data1 && !data2)
1638 else if(data1 && !data2)
1640 else if(!data1 && data2)
1642 else if(*data1 > *data2)
1644 else if(*data1 < *data2)
1649 extern int sprintf(char * , char * , ...);
1651 char * __ecereNameSpace__ecere__com__Integer_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string, void * fieldData, unsigned int * needClass)
1653 sprintf(string, "%d", *data);
1657 static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
1660 int result = strtol(string, &end, 0);
1670 static int __ecereNameSpace__ecere__com__UInteger_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data1, unsigned int * data2)
1674 if(!data1 && !data2)
1676 else if(data1 && !data2)
1678 else if(!data1 && data2)
1680 else if(*data1 > *data2)
1682 else if(*data1 < *data2)
1687 static char * __ecereNameSpace__ecere__com__UInteger_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
1689 sprintf(string, "%u", *data);
1693 extern unsigned long strtoul(const char * nptr, char * * endptr, int base);
1695 static unsigned int __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string)
1698 unsigned int result = strtoul(string, &end, 0);
1708 static int __ecereNameSpace__ecere__com__Byte_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data1, unsigned char * data2)
1712 if(!data1 && !data2)
1714 else if(data1 && !data2)
1716 else if(!data1 && data2)
1718 else if(*data1 > *data2)
1720 else if(*data1 < *data2)
1725 static char * __ecereNameSpace__ecere__com__Byte_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string, void * fieldData, unsigned int * needClass)
1727 sprintf(string, "%u", (int)*data);
1731 static char * __ecereNameSpace__ecere__com__Char_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * data, char * string, void * fieldData, unsigned int * needClass)
1733 if(needClass && *needClass)
1738 strcpy(string, "'\t'");
1740 strcpy(string, "'\n'");
1742 strcpy(string, "'\r'");
1744 strcpy(string, "'\a'");
1746 strcpy(string, "'\\'");
1747 else if(ch < (char)32 || ch >= (char)127)
1748 sprintf(string, "'\o'", ch);
1750 sprintf(string, "'%c'", ch);
1753 sprintf(string, "%c", *data);
1757 static unsigned int __ecereNameSpace__ecere__com__Byte_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string)
1760 unsigned char result = (unsigned char)strtoul(string, &end, 0);
1770 static int __ecereNameSpace__ecere__com__Int64_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, long long * data1, long long * data2)
1774 if(!data1 && !data2)
1776 else if(data1 && !data2)
1778 else if(!data1 && data2)
1780 else if(*data1 > *data2)
1782 else if(*data1 < *data2)
1787 static int __ecereNameSpace__ecere__com__UInt64_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data1, uint64 * data2)
1791 if(!data1 && !data2)
1793 else if(data1 && !data2)
1795 else if(!data1 && data2)
1797 else if(*data1 > *data2)
1799 else if(*data1 < *data2)
1804 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
1806 static char * __ecereNameSpace__ecere__com__Int64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, char * string, void * fieldData, unsigned int * needClass)
1808 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64d" : "%lld"), *data);
1812 static char * __ecereNameSpace__ecere__com__UInt64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
1814 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64u" : "%llu"), *data);
1818 extern long long __ecereNameSpace__ecere__com___strtoi64(char * string, char * * endString, int base);
1820 static unsigned int __ecereNameSpace__ecere__com__Int64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
1823 uint64 result = __ecereNameSpace__ecere__com___strtoi64(string, &end, 0);
1833 extern uint64 __ecereNameSpace__ecere__com___strtoui64(char * string, char * * endString, int base);
1835 static unsigned int __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
1838 uint64 result = __ecereNameSpace__ecere__com___strtoui64(string, &end, 0);
1848 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData;
1850 void __ecereNameSpace__ecere__com__Byte_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1852 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, data, 1);
1855 int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData;
1857 void __ecereNameSpace__ecere__com__Byte_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1859 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, data, 1) != 1)
1860 *data = (unsigned char)0;
1863 void __ecereNameSpace__ecere__com__Int_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1865 unsigned char bytes[4];
1867 (bytes)[0] = (unsigned char)(((*data) >> 24) & 0xFF);
1868 (bytes)[1] = (unsigned char)(((*data) >> 16) & 0xFF);
1869 (bytes)[2] = (unsigned char)(((*data) >> 8) & 0xFF);
1870 (bytes)[3] = (unsigned char)((*data) & 0xFF);
1872 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 4);
1875 void __ecereNameSpace__ecere__com__Int_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, int * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1877 unsigned char bytes[4];
1879 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 4) == 4)
1880 *data = (unsigned int)(((bytes)[0] << (unsigned char)24) | ((bytes)[1] << (unsigned char)16) | ((bytes)[2] << (unsigned char)8) | (bytes)[3]);
1885 void __ecereNameSpace__ecere__com__Int64_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1887 unsigned char bytes[8];
1889 (bytes)[0] = (unsigned char)(((*data) >> 56) & 0xFF);
1890 (bytes)[1] = (unsigned char)(((*data) >> 48) & 0xFF);
1891 (bytes)[2] = (unsigned char)(((*data) >> 40) & 0xFF);
1892 (bytes)[3] = (unsigned char)(((*data) >> 32) & 0xFF);
1893 (bytes)[4] = (unsigned char)(((*data) >> 24) & 0xFF);
1894 (bytes)[5] = (unsigned char)(((*data) >> 16) & 0xFF);
1895 (bytes)[6] = (unsigned char)(((*data) >> 8) & 0xFF);
1896 (bytes)[7] = (unsigned char)((*data) & 0xFF);
1898 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 8);
1901 void __ecereNameSpace__ecere__com__Int64_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1903 unsigned char bytes[8];
1905 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 8) == 8)
1906 *data = (((uint64)(bytes)[0] << 56) | ((uint64)(bytes)[1] << 48) | ((uint64)(bytes)[2] << 40) | ((uint64)(bytes)[3] << 32) | ((uint64)(bytes)[4] << 24) | ((bytes)[5] << (unsigned char)16) | ((bytes)[6] << (unsigned char)8) | (bytes)[7]);
1911 void __ecereNameSpace__ecere__com__Word_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1913 unsigned char bytes[2];
1915 (bytes)[0] = (unsigned char)(((*data) >> (unsigned short)8) & (unsigned short)0xFF);
1916 (bytes)[1] = (unsigned char)(((*data)) & (unsigned short)0xFF);
1918 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 2);
1921 void __ecereNameSpace__ecere__com__Word_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, struct __ecereNameSpace__ecere__com__Instance * channel)
1923 unsigned char bytes[2];
1925 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 2) == 2)
1926 *data = (unsigned short)(((bytes)[0] << (unsigned char)8) | (bytes)[1]);
1928 *data = (unsigned short)0;
1931 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* )(void * ), void (* )(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
1933 extern char * __ecereNameSpace__ecere__sys__CopyString(char * string);
1935 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);
1937 static void __ecereNameSpace__ecere__com__RegisterClass_Integer(struct __ecereNameSpace__ecere__com__Instance * module)
1939 struct __ecereNameSpace__ecere__com__Class * integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1941 integerClass->type = 1000;
1942 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1943 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int");
1944 integerClass->structSize = 0;
1945 integerClass->typeSize = sizeof(int);
1946 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
1947 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
1948 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
1949 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1950 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1951 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1952 integerClass->type = 1000;
1953 integerClass->structSize = 0;
1954 integerClass->typeSize = sizeof(long long);
1955 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1956 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int64");
1957 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
1958 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
1959 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
1960 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
1961 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
1962 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1963 integerClass->type = 1000;
1964 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1965 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
1966 integerClass->structSize = 0;
1967 integerClass->typeSize = sizeof(unsigned int);
1968 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1969 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1970 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1971 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1972 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1973 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "unsigned int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1974 integerClass->type = 1000;
1975 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1976 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
1977 integerClass->structSize = 0;
1978 integerClass->typeSize = sizeof(unsigned int);
1979 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
1980 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
1981 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
1982 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
1983 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
1984 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint16", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1985 integerClass->type = 1000;
1986 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1987 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned short");
1988 integerClass->structSize = 0;
1989 integerClass->typeSize = sizeof(unsigned short);
1990 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
1991 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
1992 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "short", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
1993 integerClass->type = 1000;
1994 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
1995 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("short");
1996 integerClass->structSize = 0;
1997 integerClass->typeSize = sizeof(short);
1998 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnSerialize, 1);
1999 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Word_OnUnserialize, 1);
2000 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint32", "uint", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2001 integerClass->type = 1000;
2002 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2003 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
2004 integerClass->structSize = 0;
2005 integerClass->typeSize = sizeof(unsigned int);
2006 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2007 integerClass->type = 1000;
2008 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2009 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uint64");
2010 integerClass->structSize = 0;
2011 integerClass->typeSize = sizeof(uint64);
2012 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
2013 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
2014 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
2015 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
2016 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
2017 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "byte", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2018 integerClass->type = 1000;
2019 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2020 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned char");
2021 integerClass->structSize = 0;
2022 integerClass->typeSize = sizeof(unsigned char);
2023 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
2024 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetString, 1);
2025 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
2026 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
2027 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
2028 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2029 integerClass->type = 1000;
2030 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2031 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char");
2032 integerClass->structSize = 0;
2033 integerClass->typeSize = sizeof(char);
2034 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnCompare, 1);
2035 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Char_OnGetString, 1);
2036 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnGetDataFromString, 1);
2037 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnSerialize, 1);
2038 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
2039 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2040 integerClass->type = 1000;
2041 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2042 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("ssize_t");
2043 integerClass->structSize = 0;
2044 integerClass->typeSize = sizeof(ssize_t);
2045 if(sizeof(ssize_t) == 8)
2047 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
2048 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
2049 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
2050 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
2051 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
2055 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
2056 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
2057 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
2058 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2059 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2061 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2062 integerClass->type = 1000;
2063 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2064 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("size_t");
2065 integerClass->structSize = 0;
2066 integerClass->typeSize = sizeof(size_t);
2067 if(sizeof(size_t) == 8)
2069 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
2070 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
2071 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
2072 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
2073 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
2077 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
2078 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
2079 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
2080 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2081 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2083 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2084 integerClass->type = 1000;
2085 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2086 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uintptr_t");
2087 integerClass->structSize = 0;
2088 integerClass->typeSize = sizeof(uintptr_t);
2089 if(sizeof(uintptr_t) == 8)
2091 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetString, 1);
2092 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString, 1);
2093 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
2094 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
2095 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
2099 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnCompare, 1);
2100 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetString, 1);
2101 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString, 1);
2102 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2103 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2105 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2106 integerClass->type = 1000;
2107 (__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
2108 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("intptr_t");
2109 integerClass->structSize = 0;
2110 integerClass->typeSize = sizeof(intptr_t);
2111 if(sizeof(intptr_t) == 8)
2113 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
2114 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetDataFromString, 1);
2115 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnSerialize, 1);
2116 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
2117 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
2121 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnCompare, 1);
2122 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetString, 1);
2123 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Integer_OnGetDataFromString, 1);
2124 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2125 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2129 static int __ecereNameSpace__ecere__com__Float_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, float * data1, float * data2)
2133 if(!data1 && !data2)
2135 else if(data1 && !data2)
2137 else if(!data1 && data2)
2139 else if(*data1 > *data2)
2141 else if(*data1 < *data2)
2146 static char * __ecereNameSpace__ecere__com__Float_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string, void * fieldData, unsigned int * needClass)
2150 int numDigits = 7, num = 1;
2153 while(numDigits && (float)num < *data)
2154 numDigits--, num *= 10;
2155 sprintf(format, "%%.%df", numDigits);
2156 sprintf(string, format, *data);
2157 c = strlen(string) - 1;
2160 if(string[c] != '0')
2161 last = ((last > c) ? last : c);
2162 if(string[c] == '.')
2165 string[c] = (char)0;
2167 string[last + 1] = (char)0;
2174 extern double strtod(char * , char * * );
2176 static unsigned int __ecereNameSpace__ecere__com__Float_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string)
2179 float result = (float)strtod(string, &end);
2189 static void __ecereNameSpace__ecere__com__Float_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2191 unsigned char bytes[4];
2193 (bytes)[0] = (unsigned char)(((*(unsigned int *)data) >> 24) & 0xFF);
2194 (bytes)[1] = (unsigned char)(((*(unsigned int *)data) >> 16) & 0xFF);
2195 (bytes)[2] = (unsigned char)(((*(unsigned int *)data) >> 8) & 0xFF);
2196 (bytes)[3] = (unsigned char)((*(unsigned int *)data) & 0xFF);
2198 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 4);
2201 static void __ecereNameSpace__ecere__com__Float_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, float * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2203 unsigned char bytes[4];
2205 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 4) == 4)
2206 *(unsigned int *)data = (unsigned int)(((bytes)[0] << (unsigned char)24) | ((bytes)[1] << (unsigned char)16) | ((bytes)[2] << (unsigned char)8) | (bytes)[3]);
2211 static void __ecereNameSpace__ecere__com__RegisterClass_Float(struct __ecereNameSpace__ecere__com__Instance * module)
2213 struct __ecereNameSpace__ecere__com__Class * floatClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "float", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2215 floatClass->type = 1000;
2216 (__ecereNameSpace__ecere__com__eSystem_Delete(floatClass->dataTypeString), floatClass->dataTypeString = 0);
2217 floatClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("float");
2218 floatClass->structSize = 0;
2219 floatClass->typeSize = sizeof(float);
2220 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnCompare, 1);
2221 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetString, 1);
2222 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnGetDataFromString, 1);
2223 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnSerialize, 1);
2224 __ecereNameSpace__ecere__com__eClass_AddMethod(floatClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Float_OnUnserialize, 1);
2227 static int __ecereNameSpace__ecere__com__Double_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, double * data1, double * data2)
2231 if(!data1 && !data2)
2233 else if(data1 && !data2)
2235 else if(!data1 && data2)
2237 else if(*data1 > *data2)
2239 else if(*data1 < *data2)
2244 static char * __ecereNameSpace__ecere__com__Double_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string, void * fieldData, unsigned int * needClass)
2249 if(runtimePlatform == 1)
2250 sprintf(string, "%.15g", *data);
2252 sprintf(string, "%.13lf", *data);
2253 c = strlen(string) - 1;
2256 if(string[c] != '0')
2257 last = ((last > c) ? last : c);
2258 if(string[c] == '.')
2261 string[c] = (char)0;
2263 string[last + 1] = (char)0;
2270 static unsigned int __ecereNameSpace__ecere__com__Double_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, double * data, char * string)
2275 result = strtod(string, &end);
2284 static void __ecereNameSpace__ecere__com__Double_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2286 unsigned char bytes[8];
2288 (bytes)[0] = (unsigned char)(((*(uint64 *)data) >> 56) & 0xFF);
2289 (bytes)[1] = (unsigned char)(((*(uint64 *)data) >> 48) & 0xFF);
2290 (bytes)[2] = (unsigned char)(((*(uint64 *)data) >> 40) & 0xFF);
2291 (bytes)[3] = (unsigned char)(((*(uint64 *)data) >> 32) & 0xFF);
2292 (bytes)[4] = (unsigned char)(((*(uint64 *)data) >> 24) & 0xFF);
2293 (bytes)[5] = (unsigned char)(((*(uint64 *)data) >> 16) & 0xFF);
2294 (bytes)[6] = (unsigned char)(((*(uint64 *)data) >> 8) & 0xFF);
2295 (bytes)[7] = (unsigned char)((*(uint64 *)data) & 0xFF);
2297 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, bytes, 8);
2300 static void __ecereNameSpace__ecere__com__Double_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, double * data, struct __ecereNameSpace__ecere__com__Instance * channel)
2302 unsigned char bytes[8];
2304 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, bytes, 8) == 8)
2305 *(uint64 *)data = (((uint64)(bytes)[0] << 56) | ((uint64)(bytes)[1] << 48) | ((uint64)(bytes)[2] << 40) | ((uint64)(bytes)[3] << 32) | ((uint64)(bytes)[4] << 24) | ((bytes)[5] << (unsigned char)16) | ((bytes)[6] << (unsigned char)8) | (bytes)[7]);
2310 static void __ecereNameSpace__ecere__com__RegisterClass_Double(struct __ecereNameSpace__ecere__com__Instance * module)
2312 struct __ecereNameSpace__ecere__com__Class * doubleClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "double", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2314 doubleClass->type = 1000;
2315 (__ecereNameSpace__ecere__com__eSystem_Delete(doubleClass->dataTypeString), doubleClass->dataTypeString = 0);
2316 doubleClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("double");
2317 doubleClass->structSize = 0;
2318 doubleClass->typeSize = sizeof(double);
2319 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnCompare, 1);
2320 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetString, 1);
2321 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnGetDataFromString, 1);
2322 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnSerialize, 1);
2323 __ecereNameSpace__ecere__com__eClass_AddMethod(doubleClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Double_OnUnserialize, 1);
2326 struct __ecereNameSpace__ecere__com__StaticString
2329 } __attribute__ ((gcc_struct));
2331 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__StaticString;
2333 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)
2335 int len = this ? strlen(this->string) : 0;
2337 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, this ? this->string : "", len + 1);
2340 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)
2347 for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, &(*(this)).string[c], 1) && (*(this)).string[c]; c++)
2349 (*(this)).string[c++] = '\0';
2353 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)
2358 result = (strcasecmp)(this->string, string2->string);
2359 else if(!this && string2)
2361 else if(this && !string2)
2366 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)
2368 return (char *)(this ? this->string : (((void *)0)));
2371 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this)
2375 static void __ecereNameSpace__ecere__com__String_OnCopy(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
2379 int len = strlen(newData);
2383 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
2384 memcpy(*data, newData, len + 1);
2387 *data = (((void *)0));
2390 *data = (((void *)0));
2393 static unsigned int __ecereNameSpace__ecere__com__String_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, char ** data, char * newData)
2397 int len = strlen(newData);
2401 *data = __ecereNameSpace__ecere__com__eSystem_New(len + 1);
2402 memcpy(*data, newData, len + 1);
2405 *data = (((void *)0));
2410 int __ecereNameSpace__ecere__com__String_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, char * string1, char * string2)
2414 if(string1 && string2)
2415 result = (strcasecmp)(string1, string2);
2416 else if(!string1 && string2)
2418 else if(string1 && !string2)
2423 static char * __ecereNameSpace__ecere__com__String_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * string, char * tempString, void * fieldData, unsigned int * needClass)
2428 static void __ecereNameSpace__ecere__com__String_OnFree(struct __ecereNameSpace__ecere__com__Class * _class, char * string)
2432 __ecereNameSpace__ecere__com__eSystem_Delete(string);
2436 static void __ecereNameSpace__ecere__com__String_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, char * string, struct __ecereNameSpace__ecere__com__Instance * channel)
2438 int len = string ? strlen(string) : 0;
2440 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, string ? string : "", len + 1);
2443 extern unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(char * source);
2445 extern int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(char * source, char * dest, int max);
2447 static void __ecereNameSpace__ecere__com__String_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, char ** string, struct __ecereNameSpace__ecere__com__Instance * channel)
2452 unsigned int size = 64;
2454 *string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size));
2455 for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char * data, unsigned int numBytes))channel->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData])(channel, &(*string)[c], 1) && (*string)[c]; c++)
2460 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (size));
2463 (*string)[c++] = '\0';
2464 if(!__ecereNameSpace__ecere__sys__UTF8Validate(*string))
2466 char * newString = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c * 2));
2468 __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(*string, newString, c * 2);
2469 (__ecereNameSpace__ecere__com__eSystem_Delete(*string), *string = 0);
2470 *string = __ecereNameSpace__ecere__com__eSystem_Renew(newString, sizeof(char) * (strlen(newString) + 1));
2473 *string = __ecereNameSpace__ecere__com__eSystem_Renew(*string, sizeof(char) * (c));
2477 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt, int declMode);
2479 static void __ecereNameSpace__ecere__com__RegisterClass_String(struct __ecereNameSpace__ecere__com__Instance * module)
2481 struct __ecereNameSpace__ecere__com__Class * stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char *", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2483 (__ecereNameSpace__ecere__com__eSystem_Delete(stringClass->dataTypeString), stringClass->dataTypeString = 0);
2484 stringClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char *");
2485 stringClass->structSize = 0;
2486 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCompare, 1);
2487 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCopy", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCopy, 1);
2488 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnFree", (((void *)0)), __ecereNameSpace__ecere__com__String_OnFree, 1);
2489 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetString, 1);
2490 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__String_OnGetDataFromString, 1);
2491 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnSerialize, 1);
2492 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnUnserialize, 1);
2493 stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "String", "char *", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
2494 stringClass->structSize = 0;
2495 __ecereNameSpace__ecere__com__eClass_AddProperty(stringClass, (((void *)0)), "char *", (((void *)0)), (((void *)0)), 1);
2498 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);
2500 void __ecereNameSpace__ecere__com__InitializeDataTypes1(struct __ecereNameSpace__ecere__com__Instance * module)
2502 struct __ecereNameSpace__ecere__com__Class * baseClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "class");
2504 __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);
2505 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCompare", "int typed_object::OnCompare(any_object object)", __ecereNameSpace__ecere__com__OnCompare, 1);
2506 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCopy", "void typed_object&::OnCopy(any_object newData)", __ecereNameSpace__ecere__com__OnCopy, 1);
2507 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnFree", "void typed_object::OnFree(void)", __ecereNameSpace__ecere__com__OnFree, 1);
2508 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetString", "char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__OnGetString, 1);
2509 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(char * string)", __ecereNameSpace__ecere__com__OnGetDataFromString, 1);
2510 __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);
2511 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSerialize", "void typed_object::OnSerialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnSerialize, 1);
2512 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnUnserialize", "void typed_object&::OnUnserialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnUnserialize, 1);
2513 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSaveEdit", "bool typed_object&::OnSaveEdit(Window window, void * object)", (((void *)0)), 1);
2516 void __ecereNameSpace__ecere__com__InitializeDataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2518 struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "enum");
2520 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnSerialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnSerialize, 1);
2521 __ecereNameSpace__ecere__com__eClass_AddMethod(enumClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
2522 __ecereNameSpace__ecere__com__RegisterClass_Integer(module);
2523 __ecereNameSpace__ecere__com__RegisterClass_Float(module);
2524 __ecereNameSpace__ecere__com__RegisterClass_Double(module);
2525 __ecereNameSpace__ecere__com__RegisterClass_String(module);
2528 int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, va_list args)
2531 char * result = ((char * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char * tempString, void * fieldData, unsigned int * needClass))class->_vTbl[__ecereVMethodID_class_OnGetString])(class, object, buffer, (((void *)0)), (((void *)0)));
2535 len = strlen(result);
2538 if(result != buffer)
2539 memcpy(buffer, result, len);
2543 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
2544 void * data = (((void *)0));
2546 _class = __builtin_va_arg(args, void *);
2549 data = __builtin_va_arg(args, void *);
2552 result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)_class->_vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, (((void *)0)), (((void *)0)));
2555 int newLen = strlen(result);
2557 if(len + newLen >= maxLen)
2558 newLen = maxLen - 1 - len;
2559 if(result != buffer + len)
2560 memcpy(buffer + len, result, newLen);
2565 buffer[len] = (char)0;
2569 int __ecereNameSpace__ecere__com__PrintBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2574 __builtin_va_start(args, object);
2575 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen, class, object, args);
2576 __builtin_va_end(args);
2580 int __ecereNameSpace__ecere__com__PrintLnBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2585 __builtin_va_start(args, object);
2586 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, maxLen - 1, class, object, args);
2587 buffer[len++] = '\n';
2589 __builtin_va_end(args);
2593 char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2600 __builtin_va_start(args, object);
2601 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2602 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1));
2603 memcpy(string, buffer, len + 1);
2604 __builtin_va_end(args);
2608 char * __ecereNameSpace__ecere__com__PrintLnString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2615 __builtin_va_start(args, object);
2616 len = __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2617 string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 2));
2618 memcpy(string, buffer, len);
2619 string[len++] = '\n';
2621 __builtin_va_end(args);
2625 extern int puts(char * );
2627 void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2632 __builtin_va_start(args, object);
2633 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2634 __builtin_va_end(args);
2638 extern int fputs(char * , void * stream);
2640 void __ecereNameSpace__ecere__com__Print(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
2645 __builtin_va_start(args, object);
2646 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
2647 __builtin_va_end(args);
2648 fputs(buffer, eC_stdout());
2651 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
2653 struct __ecereNameSpace__ecere__com__DefinedExpression;
2655 extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char * name, char * value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2657 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
2659 struct __ecereNameSpace__ecere__com__NameSpace
2662 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
2663 struct __ecereNameSpace__ecere__com__NameSpace * left;
2664 struct __ecereNameSpace__ecere__com__NameSpace * right;
2666 struct __ecereNameSpace__ecere__com__NameSpace * parent;
2667 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
2668 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
2669 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
2670 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
2671 } __attribute__ ((gcc_struct));
2673 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
2675 struct __ecereNameSpace__ecere__com__Module
2677 struct __ecereNameSpace__ecere__com__Instance * application;
2678 struct __ecereNameSpace__ecere__sys__OldList classes;
2679 struct __ecereNameSpace__ecere__sys__OldList defines;
2680 struct __ecereNameSpace__ecere__sys__OldList functions;
2681 struct __ecereNameSpace__ecere__sys__OldList modules;
2682 struct __ecereNameSpace__ecere__com__Instance * prev;
2683 struct __ecereNameSpace__ecere__com__Instance * next;
2689 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
2690 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
2691 } __attribute__ ((gcc_struct));
2693 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
2695 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
2697 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
2699 struct __ecereNameSpace__ecere__com__GlobalFunction;
2701 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
2703 void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2705 struct __ecereNameSpace__ecere__com__Class * class;
2707 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXBYTE", "0xff", module, 4);
2708 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXWORD", "0xffff", module, 4);
2709 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT", "((int)0x80000000)", module, 4);
2710 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT", "((int)0x7fffffff)", module, 4);
2711 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MININT64", "((long long)0x8000000000000000LL)", module, 4);
2712 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXINT64", "((long long)0x7fffffffffffffffLL)", module, 4);
2713 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDWORD", "0xffffffff", module, 4);
2714 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXQWORD", "0xffffffffffffffffLL", module, 4);
2715 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINFLOAT", "((float)1.17549435082228750e-38)", module, 4);
2716 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXFLOAT", "((float)3.40282346638528860e+38)", module, 4);
2717 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MINDOUBLE", "((double)2.2250738585072014e-308)", module, 4);
2718 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXDOUBLE", "((double)1.7976931348623158e+308)", module, 4);
2719 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEXLL", "(GetRuntimePlatform() == win32) ? \"0x%I64XLL\" : \"0x%llXLL\"", module, 4);
2720 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64HEX", "(GetRuntimePlatform() == win32) ? \"0x%I64X\" : \"0x%llX\"", module, 4);
2721 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64DLL", "(GetRuntimePlatform() == win32) ? \"%I64dLL\" : \"%lldLL\"", module, 4);
2722 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64D", "(GetRuntimePlatform() == win32) ? \"%I64d\" : \"%lld\"", module, 4);
2723 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64U", "(GetRuntimePlatform() == win32) ? \"%I64u\" : \"%llu\"", module, 4);
2724 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::IOChannel", 0, 0, 0, 0, 0, module, 4, 1);
2725 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2726 __ecereClass___ecereNameSpace__ecere__com__IOChannel = class;
2727 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "WriteData", "uint WriteData(byte * data, unsigned int numBytes)", 0, 1);
2728 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ReadData", "uint ReadData(byte * data, unsigned int numBytes)", 0, 1);
2729 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Get", "void Get(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get, 1);
2730 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Put", "void Put(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put, 1);
2731 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Serialize", "void Serialize(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize, 1);
2732 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Unserialize", "void Unserialize(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize, 1);
2733 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::SerialBuffer", "ecere::com::IOChannel", sizeof(struct __ecereNameSpace__ecere__com__SerialBuffer), 0, 0, __ecereDestructor___ecereNameSpace__ecere__com__SerialBuffer, module, 4, 1);
2734 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2735 __ecereClass___ecereNameSpace__ecere__com__SerialBuffer = class;
2736 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData, 1);
2737 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData, 1);
2738 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free, 1);
2739 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_buffer", "byte *", arch_PointerSize, arch_PointerSize, 1);
2740 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "uint", 4, 4, 1);
2741 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_size", "uint", 4, 4, 1);
2742 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pos", "uint", 4, 4, 1);
2743 __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);
2744 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
2745 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
2746 __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);
2747 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
2748 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
2749 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Enum_OnGetString", "char * ecere::com::Enum_OnGetString(ecere::com::Class _class, int * data, char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Enum_OnGetString, module, 4);
2750 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Integer_OnGetString", "char * ecere::com::Integer_OnGetString(ecere::com::Class _class, int * data, char * string, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Integer_OnGetString, module, 4);
2751 __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);
2752 __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);
2753 __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);
2754 __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);
2755 __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);
2756 __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);
2757 __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);
2758 __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);
2759 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::StaticString", 0, sizeof(struct __ecereNameSpace__ecere__com__StaticString), 0, 0, 0, module, 4, 1);
2760 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
2761 __ecereClass___ecereNameSpace__ecere__com__StaticString = class;
2762 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnCompare, 1);
2763 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree, 1);
2764 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString, 1);
2765 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize, 1);
2766 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnUnserialize, 1);
2767 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "string", "char[1]", 1, 1, 1);
2768 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::String_OnCompare", "int ecere::com::String_OnCompare(ecere::com::Class _class, char * string1, char * string2)", __ecereNameSpace__ecere__com__String_OnCompare, module, 4);
2769 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes1", "void ecere::com::InitializeDataTypes1(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes1, module, 4);
2770 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes", "void ecere::com::InitializeDataTypes(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes, module, 4);
2771 __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);
2772 __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);
2773 __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);
2774 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintString", "char * ecere::com::PrintString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintString, module, 4);
2775 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLnString", "char * ecere::com::PrintLnString(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLnString, module, 4);
2776 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintLn", "void ecere::com::PrintLn(typed_object object, ...)", __ecereNameSpace__ecere__com__PrintLn, module, 4);
2777 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Print", "void ecere::com::Print(typed_object object, ...)", __ecereNameSpace__ecere__com__Print, module, 4);
2780 void __ecereUnregisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
2783 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer = (void *)0;
2784 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;