aa76cbcb2a90c89bf7a7a65e8f1957c87641b34c
[sdk] / compiler / bootstrap / ecere / bootstrap / BuiltInContainer.c
1 #if defined(__GNUC__)
2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #ifndef _WIN32
5 #define __declspec(x)
6 #endif
7 #elif defined(__TINYC__)
8 #include <stdarg.h>
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
12 #ifdef _WIN32
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
16 #else
17 #define __declspec(x)
18 #endif
19 typedef long long int64;
20 typedef unsigned long long uint64;
21 #else
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
24 #endif
25 #ifdef __BIG_ENDIAN__
26 #define __ENDIAN_PAD(x) (8 - (x))
27 #else
28 #define __ENDIAN_PAD(x) 0
29 #endif
30 #include <stdint.h>
31 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
32
33 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
34
35 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
36
37 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
38
39 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
40
41 struct __ecereNameSpace__ecere__sys__BTNode;
42
43 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
44
45 struct __ecereNameSpace__ecere__sys__BinaryTree
46 {
47 struct __ecereNameSpace__ecere__sys__BTNode * root;
48 int count;
49 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
50 void (*  FreeKey)(void *  key);
51 } __attribute__ ((gcc_struct));
52
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
54
55 struct __ecereNameSpace__ecere__sys__OldList
56 {
57 void *  first;
58 void *  last;
59 int count;
60 unsigned int offset;
61 unsigned int circ;
62 } __attribute__ ((gcc_struct));
63
64 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
65
66 struct __ecereNameSpace__ecere__com__Class
67 {
68 struct __ecereNameSpace__ecere__com__Class * prev;
69 struct __ecereNameSpace__ecere__com__Class * next;
70 char *  name;
71 int offset;
72 int structSize;
73 int (* *  _vTbl)();
74 int vTblSize;
75 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
76 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
77 int offsetClass;
78 int sizeClass;
79 struct __ecereNameSpace__ecere__com__Class * base;
80 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
81 struct __ecereNameSpace__ecere__sys__BinaryTree members;
82 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
83 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
84 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
85 struct __ecereNameSpace__ecere__sys__OldList derivatives;
86 int memberID;
87 int startMemberID;
88 int type;
89 struct __ecereNameSpace__ecere__com__Instance * module;
90 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
91 char *  dataTypeString;
92 struct __ecereNameSpace__ecere__com__Instance * dataType;
93 int typeSize;
94 int defaultAlignment;
95 void (*  Initialize)();
96 int memberOffset;
97 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
98 char *  designerClass;
99 unsigned int noExpansion;
100 char *  defaultProperty;
101 unsigned int comRedefinition;
102 int count;
103 unsigned int isRemote;
104 unsigned int internalDecl;
105 void *  data;
106 unsigned int computeSize;
107 int structAlignment;
108 int destructionWatchOffset;
109 unsigned int fixed;
110 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
111 int inheritanceAccess;
112 char *  fullName;
113 void *  symbol;
114 struct __ecereNameSpace__ecere__sys__OldList conversions;
115 struct __ecereNameSpace__ecere__sys__OldList templateParams;
116 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
117 struct __ecereNameSpace__ecere__com__Class * templateClass;
118 struct __ecereNameSpace__ecere__sys__OldList templatized;
119 int numParams;
120 } __attribute__ ((gcc_struct));
121
122 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
123
124 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
125
126 struct __ecereNameSpace__ecere__com__Instance
127 {
128 int (* *  _vTbl)();
129 struct __ecereNameSpace__ecere__com__Class * _class;
130 int _refCount;
131 } __attribute__ ((gcc_struct));
132
133 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
134
135 struct __ecereNameSpace__ecere__com__Property
136 {
137 struct __ecereNameSpace__ecere__com__Property * prev;
138 struct __ecereNameSpace__ecere__com__Property * next;
139 char *  name;
140 unsigned int isProperty;
141 int memberAccess;
142 int id;
143 struct __ecereNameSpace__ecere__com__Class * _class;
144 char *  dataTypeString;
145 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
146 struct __ecereNameSpace__ecere__com__Instance * dataType;
147 void (*  Set)(void * , int);
148 int (*  Get)(void * );
149 unsigned int (*  IsSet)(void * );
150 void *  data;
151 void *  symbol;
152 int vid;
153 unsigned int conversion;
154 unsigned int watcherOffset;
155 char *  category;
156 unsigned int compiled;
157 unsigned int selfWatchable;
158 unsigned int isWatchable;
159 } __attribute__ ((gcc_struct));
160
161 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
162
163 struct __ecereNameSpace__ecere__com__DataMember
164 {
165 struct __ecereNameSpace__ecere__com__DataMember * prev;
166 struct __ecereNameSpace__ecere__com__DataMember * next;
167 char *  name;
168 unsigned int isProperty;
169 int memberAccess;
170 int id;
171 struct __ecereNameSpace__ecere__com__Class * _class;
172 char *  dataTypeString;
173 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
174 struct __ecereNameSpace__ecere__com__Instance * dataType;
175 int type;
176 int offset;
177 int memberID;
178 struct __ecereNameSpace__ecere__sys__OldList members;
179 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
180 int memberOffset;
181 int structAlignment;
182 } __attribute__ ((gcc_struct));
183
184 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
185
186 struct __ecereNameSpace__ecere__com__Method
187 {
188 char *  name;
189 struct __ecereNameSpace__ecere__com__Method * parent;
190 struct __ecereNameSpace__ecere__com__Method * left;
191 struct __ecereNameSpace__ecere__com__Method * right;
192 int depth;
193 int (*  function)();
194 int vid;
195 int type;
196 struct __ecereNameSpace__ecere__com__Class * _class;
197 void *  symbol;
198 char *  dataTypeString;
199 struct __ecereNameSpace__ecere__com__Instance * dataType;
200 int memberAccess;
201 } __attribute__ ((gcc_struct));
202
203 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
204
205 struct __ecereNameSpace__ecere__com__SerialBuffer
206 {
207 unsigned char *  _buffer;
208 unsigned int count;
209 unsigned int _size;
210 unsigned int pos;
211 } __attribute__ ((gcc_struct));
212
213 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
214
215 struct __ecereNameSpace__ecere__com__DataValue
216 {
217 union
218 {
219 char c;
220 unsigned char uc;
221 short s;
222 unsigned short us;
223 int i;
224 unsigned int ui;
225 void *  p;
226 float f;
227 double d;
228 long long i64;
229 uint64 ui64;
230 } __attribute__ ((gcc_struct));
231 } __attribute__ ((gcc_struct));
232
233 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
234
235 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
236 {
237 union
238 {
239 struct
240 {
241 char *  dataTypeString;
242 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
243 } __attribute__ ((gcc_struct));
244 struct __ecereNameSpace__ecere__com__DataValue expression;
245 struct
246 {
247 char *  memberString;
248 union
249 {
250 struct __ecereNameSpace__ecere__com__DataMember * member;
251 struct __ecereNameSpace__ecere__com__Property * prop;
252 struct __ecereNameSpace__ecere__com__Method * method;
253 } __attribute__ ((gcc_struct));
254 } __attribute__ ((gcc_struct));
255 } __attribute__ ((gcc_struct));
256 } __attribute__ ((gcc_struct));
257
258 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
259
260 extern int __ecereVMethodID_class_OnCompare;
261
262 extern int __ecereVMethodID_class_OnFree;
263
264 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__BuiltInContainer___ecereNameSpace__ecere__com__Container, * __ecerePropM___ecereNameSpace__ecere__com__BuiltInContainer___ecereNameSpace__ecere__com__Container;
265
266 struct __ecereNameSpace__ecere__com__BuiltInContainer
267 {
268 void * _vTbl;
269 struct __ecereNameSpace__ecere__com__Class * _class;
270 int _refCount;
271 void * data;
272 int count;
273 struct __ecereNameSpace__ecere__com__Class * type;
274 } __attribute__ ((gcc_struct));
275
276 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer;
277
278 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__BuiltInContainer_Get___ecereNameSpace__ecere__com__Container(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
279 {
280 return __ecereProp___ecereNameSpace__ecere__com__BuiltInContainer_Get___ecereNameSpace__ecere__com__Container(this);
281 }
282
283 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
284 {
285 return this->data;
286 }
287
288 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetLast(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
289 {
290 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)(this->data ? ((unsigned char *)this->data + (this->count * this->type->typeSize) - 1) : (((void *)0)));
291 }
292
293 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetPrev(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
294 {
295 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((pointer && (unsigned char *)pointer > (unsigned char *)this->data) ? ((unsigned char *)pointer - ((this->type->type == 5 || this->type->type == 0) ? sizeof(void *) : this->type->typeSize)) : (((void *)0)));
296 }
297
298 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetNext(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
299 {
300 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((pointer && (unsigned char *)pointer < (unsigned char *)this->data + (this->count - 1) * ((this->type->type == 5 || this->type->type == 0) ? sizeof(void *) : this->type->typeSize) ? ((unsigned char *)pointer + ((this->type->type == 5 || this->type->type == 0) ? sizeof(void *) : this->type->typeSize)) : (((void *)0))));
301 }
302
303 uint64 __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetData(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
304 {
305 uint64 * item = (uint64 *)pointer;
306
307 return ((((this->type->type == 1) ? ((uint64)item) : (this->type->type == 0 || this->type->type == 5) ? (uint64)*((void **)item) : ((this->type->typeSize == 1) ? *((unsigned char *)item) : ((this->type->typeSize == 2) ? *((unsigned short *)item) : ((this->type->typeSize == 4) ? *((unsigned int *)item) : *(item)))))));
308 }
309
310 unsigned int __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_SetData(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data)
311 {
312 return 0x0;
313 }
314
315 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, uint64 pos, unsigned int create)
316 {
317 return this->data ? (struct __ecereNameSpace__ecere__com__IteratorPointer *)((unsigned char *)this->data + ((this->type->type == 5 || this->type->type == 0) ? sizeof(void *) : this->type->typeSize)) : (((void *)0));
318 }
319
320 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Insert(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * after, uint64 value)
321 {
322 return (((void *)0));
323 }
324
325 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Add(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, uint64 value)
326 {
327 return (((void *)0));
328 }
329
330 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Remove(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * it)
331 {
332 }
333
334 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Move(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * it, struct __ecereNameSpace__ecere__com__IteratorPointer * after)
335 {
336 }
337
338 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst;
339
340 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetNext;
341
342 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Remove;
343
344 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_RemoveAll(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
345 {
346 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
347
348 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetNext])(this, i))
349 ((void (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Remove])(this, i);
350 }
351
352 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Copy(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__Instance * source)
353 {
354 }
355
356 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetData;
357
358 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Find(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, uint64 value)
359 {
360 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
361
362 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetNext])(this, i))
363 {
364 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetData])(this, i);
365 struct __ecereNameSpace__ecere__com__Class * Dclass = this->type;
366 int result = ((int (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (Dclass->type == 1000 || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? &value : (void *)value, (Dclass->type == 1000 || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? &data : (void *)data);
367
368 if(!result)
369 return i;
370 }
371 return (((void *)0));
372 }
373
374 int __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetCount(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
375 {
376 return this->count;
377 }
378
379 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Free(struct __ecereNameSpace__ecere__com__BuiltInContainer * this)
380 {
381 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
382
383 for(i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst])(this); i; i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetNext])(this, i))
384 ((void (*)(void *, void *))(void *)this->type->_vTbl[__ecereVMethodID_class_OnFree])(this->type, (void *)((uint64 (*)(struct __ecereNameSpace__ecere__com__BuiltInContainer *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetData])(this, i));
385 }
386
387 void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Delete(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, struct __ecereNameSpace__ecere__com__IteratorPointer * it)
388 {
389 }
390
391 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetLast;
392
393 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetPrev;
394
395 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_SetData;
396
397 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition;
398
399 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Insert;
400
401 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Add;
402
403 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Move;
404
405 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_RemoveAll;
406
407 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Copy;
408
409 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Find;
410
411 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_FreeIterator;
412
413 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_GetCount;
414
415 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Free;
416
417 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Delete;
418
419 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);
420
421 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
422
423 struct __ecereNameSpace__ecere__com__NameSpace
424 {
425 char *  name;
426 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
427 struct __ecereNameSpace__ecere__com__NameSpace *  left;
428 struct __ecereNameSpace__ecere__com__NameSpace *  right;
429 int depth;
430 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
431 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
432 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
433 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
434 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
435 } __attribute__ ((gcc_struct));
436
437 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
438
439 struct __ecereNameSpace__ecere__com__Module
440 {
441 struct __ecereNameSpace__ecere__com__Instance * application;
442 struct __ecereNameSpace__ecere__sys__OldList classes;
443 struct __ecereNameSpace__ecere__sys__OldList defines;
444 struct __ecereNameSpace__ecere__sys__OldList functions;
445 struct __ecereNameSpace__ecere__sys__OldList modules;
446 struct __ecereNameSpace__ecere__com__Instance * prev;
447 struct __ecereNameSpace__ecere__com__Instance * next;
448 char *  name;
449 void *  library;
450 void *  Unload;
451 int importType;
452 int origImportType;
453 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
454 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
455 } __attribute__ ((gcc_struct));
456
457 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
458
459 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);
460
461 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);
462
463 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);
464
465 void __ecereRegisterModule_BuiltInContainer(struct __ecereNameSpace__ecere__com__Instance * module)
466 {
467 struct __ecereNameSpace__ecere__com__Class * class;
468
469 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::IteratorPointer", 0, 0, 0, 0, 0, module, 4, 1);
470 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
471 __ecereClass___ecereNameSpace__ecere__com__IteratorPointer = class;
472 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::BuiltInContainer", 0, sizeof(struct __ecereNameSpace__ecere__com__BuiltInContainer), 0, 0, 0, module, 4, 1);
473 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
474 __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer = class;
475 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetFirst", "ecere::com::IteratorPointer GetFirst()", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetFirst, 1);
476 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetLast", "ecere::com::IteratorPointer GetLast()", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetLast, 1);
477 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::com::IteratorPointer GetPrev(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetPrev, 1);
478 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetNext, 1);
479 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "uint64 GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetData, 1);
480 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, uint64 data)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_SetData, 1);
481 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(uint64 pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition, 1);
482 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, uint64 value)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Insert, 1);
483 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(uint64 value)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Add, 1);
484 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Remove, 1);
485 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Move, 1);
486 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_RemoveAll, 1);
487 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container source)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Copy, 1);
488 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(uint64 value)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Find, 1);
489 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
490 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetCount, 1);
491 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Free, 1);
492 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer it)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Delete, 1);
493 __ecereProp___ecereNameSpace__ecere__com__BuiltInContainer___ecereNameSpace__ecere__com__Container = __ecereNameSpace__ecere__com__eClass_AddProperty(class, 0, "ecere::com::Container", 0, __ecereProp___ecereNameSpace__ecere__com__BuiltInContainer_Get___ecereNameSpace__ecere__com__Container, 1);
494 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_vTbl", "void *", 4, 4, 1);
495 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_class", "ecere::com::Class", 4, 4, 1);
496 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_refCount", "int", 4, 4, 1);
497 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "void *", 4, 4, 1);
498 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "int", 4, 4, 1);
499 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::Class", 4, 4, 1);
500 }
501
502 void __ecereUnregisterModule_BuiltInContainer(struct __ecereNameSpace__ecere__com__Instance * module)
503 {
504
505 }
506