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__SerialBuffer;
216 struct __ecereNameSpace__ecere__com__SerialBuffer
218 unsigned char * _buffer;
222 } __attribute__ ((gcc_struct));
224 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
226 struct __ecereNameSpace__ecere__com__DataValue
241 } __attribute__ ((gcc_struct));
242 } __attribute__ ((gcc_struct));
244 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
246 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
252 char * dataTypeString;
253 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
254 } __attribute__ ((gcc_struct));
255 struct __ecereNameSpace__ecere__com__DataValue expression;
261 struct __ecereNameSpace__ecere__com__DataMember * member;
262 struct __ecereNameSpace__ecere__com__Property * prop;
263 struct __ecereNameSpace__ecere__com__Method * method;
264 } __attribute__ ((gcc_struct));
265 } __attribute__ ((gcc_struct));
266 } __attribute__ ((gcc_struct));
267 } __attribute__ ((gcc_struct));
269 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
271 extern char * __ecereNameSpace__ecere__sys__GetEnvironment(char * envName, char * envValue, int max);
273 extern char * strcpy(char * , const char * );
275 extern char * strstr(const char * , const char * );
277 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
279 struct __ecereNameSpace__ecere__com__NameSpace
282 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
283 struct __ecereNameSpace__ecere__com__NameSpace * left;
284 struct __ecereNameSpace__ecere__com__NameSpace * right;
286 struct __ecereNameSpace__ecere__com__NameSpace * parent;
287 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
288 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
289 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
290 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
291 } __attribute__ ((gcc_struct));
293 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
295 struct __ecereNameSpace__ecere__com__Module
297 struct __ecereNameSpace__ecere__com__Instance * application;
298 struct __ecereNameSpace__ecere__sys__OldList classes;
299 struct __ecereNameSpace__ecere__sys__OldList defines;
300 struct __ecereNameSpace__ecere__sys__OldList functions;
301 struct __ecereNameSpace__ecere__sys__OldList modules;
302 struct __ecereNameSpace__ecere__com__Instance * prev;
303 struct __ecereNameSpace__ecere__com__Instance * next;
309 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
310 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
311 } __attribute__ ((gcc_struct));
313 extern int sprintf(char * , char * , ...);
315 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode);
317 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
319 struct __ecereNameSpace__ecere__com__IteratorPointer;
321 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
323 struct __ecereNameSpace__ecere__com__MapIterator
325 struct __ecereNameSpace__ecere__com__Instance * container;
326 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
327 } __attribute__ ((gcc_struct));
329 extern int printf(char * , ...);
331 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___;
333 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
335 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_;
337 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
339 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
341 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
343 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
345 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
347 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
349 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
351 struct __ecereNameSpace__ecere__com__Iterator
353 struct __ecereNameSpace__ecere__com__Instance * container;
354 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
355 } __attribute__ ((gcc_struct));
357 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
359 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
361 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
363 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
365 void __ecereNameSpace__ecere__LoadTranslatedStrings(struct __ecereNameSpace__ecere__com__Instance * module, char * name)
367 struct __ecereNameSpace__ecere__com__Instance * f;
372 char lcMessages[256];
373 char * locale = (((void *)0));
375 if(__ecereNameSpace__ecere__sys__GetEnvironment("LANGUAGE", language, sizeof language))
377 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_ALL", lcAll, sizeof lcAll))
379 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_MESSAGES", lcMessages, sizeof lcMessages))
381 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANG", lang, sizeof lang))
387 if(language != locale)
388 strcpy(language, locale);
389 dot = strstr(language, ".");
394 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name)
395 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name, locale, name);
397 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", locale, name);
398 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
401 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", locale, name);
402 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
406 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", locale, name);
407 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
411 unsigned int magic = 0;
413 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &magic, sizeof(unsigned int), 1);
414 if(magic == 0x950412de || magic == 0xde120495)
416 struct __ecereNameSpace__ecere__com__Instance * textMap;
417 unsigned int swap = magic != 0x950412de;
418 unsigned int revision = 0;
419 unsigned int numStrings = 0;
420 unsigned int origStrings = 0, transStrings = 0;
421 unsigned int hashingSize = 0, hashingOffset = 0;
424 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &revision, sizeof(unsigned int), 1);
426 ((((revision) & 0x000000ff) << 24) | (((revision) & 0x0000ff00) << 8) | (((revision) & 0x00ff0000) >> 8) | (((revision) & 0xff000000) >> 24));
427 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &numStrings, sizeof(unsigned int), 1);
429 ((((numStrings) & 0x000000ff) << 24) | (((numStrings) & 0x0000ff00) << 8) | (((numStrings) & 0x00ff0000) >> 8) | (((numStrings) & 0xff000000) >> 24));
430 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &origStrings, sizeof(unsigned int), 1);
432 ((((origStrings) & 0x000000ff) << 24) | (((origStrings) & 0x0000ff00) << 8) | (((origStrings) & 0x00ff0000) >> 8) | (((origStrings) & 0xff000000) >> 24));
433 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &transStrings, sizeof(unsigned int), 1);
435 ((((transStrings) & 0x000000ff) << 24) | (((transStrings) & 0x0000ff00) << 8) | (((transStrings) & 0x00ff0000) >> 8) | (((transStrings) & 0xff000000) >> 24));
436 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingSize, sizeof(unsigned int), 1);
438 ((((hashingSize) & 0x000000ff) << 24) | (((hashingSize) & 0x0000ff00) << 8) | (((hashingSize) & 0x00ff0000) >> 8) | (((hashingSize) & 0xff000000) >> 24));
439 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingOffset, sizeof(unsigned int), 1);
441 ((((hashingOffset) & 0x000000ff) << 24) | (((hashingOffset) & 0x0000ff00) << 8) | (((hashingOffset) & 0x00ff0000) >> 8) | (((hashingOffset) & 0xff000000) >> 24));
442 if(!__ecereNameSpace__ecere__moduleMaps)
443 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
445 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
447 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name), 0x0))
448 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)), __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&it, 0));
451 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
453 __ecereNameSpace__ecere__moduleMaps, 0
456 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name))), 0x1);
457 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_));
459 for(c = 0; c < numStrings; c++)
461 unsigned int len = 0, offset = 0;
462 char * original = (((void *)0)), * translated = (((void *)0));
464 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, origStrings + c * 2 * sizeof(unsigned int), 0);
465 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
467 ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
468 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
470 ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
471 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
472 original = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
473 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, original, 1, len + 1);
474 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, transStrings + c * 2 * sizeof(unsigned int), 0);
475 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
477 ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
478 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
480 ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
481 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
482 translated = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
483 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, translated, 1, len + 1);
486 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, textMap), it);
488 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(original), 0x0))
489 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
492 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
497 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(original))), 0x1);
498 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, translated);
502 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
503 (__ecereNameSpace__ecere__com__eSystem_Delete(original), original = 0);
508 printf("Invalid format while loading %s\n", fileName);
510 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
514 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
516 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
518 void __ecereNameSpace__ecere__UnloadTranslatedStrings(struct __ecereNameSpace__ecere__com__Instance * module)
520 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
522 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name), 0x0))
524 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it))->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free])(((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)));
525 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__ecereNameSpace__ecere__moduleMaps->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete])(__ecereNameSpace__ecere__moduleMaps, it.pointer);
529 char * __ecereNameSpace__ecere__GetTranslatedString(struct __ecereNameSpace__ecere__com__Instance * module, char * string, char * stringAndContext)
531 struct __ecereNameSpace__ecere__com__Instance * textMap = __ecereNameSpace__ecere__moduleMaps ? (__extension__ ({
532 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
534 __ecereNameSpace__ecere__moduleMaps, 0
537 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name))), 0x0);
538 ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
540 char * result = textMap ? (__extension__ ({
541 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
546 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(stringAndContext ? stringAndContext : string))), 0x0);
547 ((char *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
550 return (result && result[0]) ? result : string;
553 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
555 struct __ecereNameSpace__ecere__com__GlobalFunction;
557 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);
559 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
561 struct __ecereNameSpace__ecere__com__Class * class;
563 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(ecere::com::Module module, char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
564 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(ecere::com::Module module)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
565 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::GetTranslatedString", "char * ecere::GetTranslatedString(ecere::com::Module module, char * string, char * stringAndContext)", __ecereNameSpace__ecere__GetTranslatedString, module, 4);
568 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
573 void __ecereCreateModuleInstances_i18n()
575 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
576 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__moduleMaps);
579 void __ecereDestroyModuleInstances_i18n()
581 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__moduleMaps), __ecereNameSpace__ecere__moduleMaps = 0);