compiler: More compatible handling of stdint.h inclusion
[sdk] / compiler / bootstrap / ecere / bootstrap / File.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 typedef uintptr_t size_t;
259
260 void exit(int status);
261
262 void * calloc(size_t nmemb, size_t size);
263
264 void free(void * ptr);
265
266 void * malloc(size_t size);
267
268 void * realloc(void * ptr, size_t size);
269
270 long int strtol(const char * nptr, char ** endptr, int base);
271
272 long long int strtoll(const char * nptr, char ** endptr, int base);
273
274 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
275
276 typedef __builtin_va_list __gnuc_va_list;
277
278 typedef __gnuc_va_list va_list;
279
280 typedef void FILE;
281
282 FILE * bsl_stdin(void);
283
284 FILE * bsl_stdout(void);
285
286 FILE * bsl_stderr(void);
287
288 char * fgets(char * s, int size, FILE * stream);
289
290 FILE * fopen(const char * path, const char * mode);
291
292 int fclose(FILE * fp);
293
294 int fflush(FILE * stream);
295
296 int fgetc(FILE * stream);
297
298 int fprintf(FILE * stream, const char * format, ...);
299
300 int fputc(int c, FILE * stream);
301
302 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
303
304 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
305
306 int vsnprintf(char *, size_t, const char *, ...);
307
308 int snprintf(char * str, size_t, const char * format, ...);
309
310 int fseek(FILE * stream, long offset, int whence);
311
312 long ftell(FILE * stream);
313
314 int feof(FILE * stream);
315
316 int ferror(FILE * stream);
317
318 int fileno(FILE * stream);
319
320 FILE * eC_stdin(void);
321
322 FILE * eC_stdout(void);
323
324 unsigned int FILE_GetSize(FILE * input);
325
326 unsigned int FILE_Lock(FILE * input, FILE * output, int type, uint64 start, uint64 length, unsigned int wait);
327
328 void FILE_set_buffered(FILE * input, FILE * output, unsigned int value);
329
330 unsigned int FILE_FileExists(char * fileName);
331
332 unsigned int FILE_FileGetSize(char * fileName, unsigned int * size);
333
334 unsigned int FILE_FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats);
335
336 void FILE_FileFixCase(char * file);
337
338 void FILE_FileOpen(char * fileName, int mode, FILE ** input, FILE ** output);
339
340 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__httpFileSystem;
341
342 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize;
343
344 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, unsigned int * data2)
345 {
346 int result = 0;
347
348 if(&(*(this)) && &(*(data2)))
349 {
350 if((*(this)) > (*(data2)))
351 result = 1;
352 else if((*(this)) < (*(data2)))
353 result = -1;
354 }
355 return result;
356 }
357
358 extern void __ecereNameSpace__ecere__sys__PrintSize(char *  string, unsigned int size, int prec);
359
360 char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string, void * fieldData, unsigned int * needClass)
361 {
362 __ecereNameSpace__ecere__sys__PrintSize(string, *(unsigned int *)this, 2);
363 return string;
364 }
365
366 extern double strtod(char * , char * * );
367
368 extern char *  strstr(char * , const char * );
369
370 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string)
371 {
372 char * end;
373 double value = strtod(string, &end);
374 unsigned int multiplier = 1;
375
376 if(strstr(end, "GB") || strstr(end, "gb"))
377 multiplier = (unsigned int)1024 * 1024 * 1024;
378 else if(strstr(end, "MB") || strstr(end, "mb"))
379 multiplier = (unsigned int)1024 * 1024;
380 else if(strstr(end, "KB") || strstr(end, "kb"))
381 multiplier = 1024;
382 (*(this)) = (unsigned int)((double)multiplier * value);
383 return 0x1;
384 }
385
386 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize64;
387
388 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, uint64 * data2)
389 {
390 int result = 0;
391
392 if(&(*(this)) && &(*(data2)))
393 {
394 if((*(this)) > (*(data2)))
395 result = 1;
396 else if((*(this)) < (*(data2)))
397 result = -1;
398 }
399 return result;
400 }
401
402 extern void __ecereNameSpace__ecere__sys__PrintBigSize(char *  string, double size, int prec);
403
404 char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string, void * fieldData, unsigned int * needClass)
405 {
406 __ecereNameSpace__ecere__sys__PrintBigSize(string, *(uint64 *)this, 2);
407 return string;
408 }
409
410 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string)
411 {
412 char * end;
413 double value = strtod(string, &end);
414 uint64 multiplier = 1;
415
416 if(strstr(end, "PB") || strstr(end, "pb"))
417 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
418 else if(strstr(end, "TB") || strstr(end, "tb"))
419 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
420 else if(strstr(end, "GB") || strstr(end, "gb"))
421 multiplier = (uint64)1024 * 1024 * 1024;
422 else if(strstr(end, "MB") || strstr(end, "mb"))
423 multiplier = (uint64)1024 * 1024;
424 else if(strstr(end, "KB") || strstr(end, "kb"))
425 multiplier = 1024;
426 (*(this)) = (uint64)((double)multiplier * value);
427 return 0x1;
428 }
429
430 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSystem;
431
432 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode;
433
434 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode;
435
436 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileLock;
437
438 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_input, * __ecerePropM___ecereNameSpace__ecere__sys__File_input;
439
440 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_output, * __ecerePropM___ecereNameSpace__ecere__sys__File_output;
441
442 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_buffered, * __ecerePropM___ecereNameSpace__ecere__sys__File_buffered;
443
444 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_eof, * __ecerePropM___ecereNameSpace__ecere__sys__File_eof;
445
446 struct __ecereNameSpace__ecere__sys__File
447 {
448 FILE * input, * output;
449 } __attribute__ ((gcc_struct));
450
451 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
452
453 static int __ecereNameSpace__ecere__sys__openCount;
454
455 void __ecereDestructor___ecereNameSpace__ecere__sys__File(struct __ecereNameSpace__ecere__com__Instance * this)
456 {
457 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
458
459 {
460 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output && __ecerePointer___ecereNameSpace__ecere__sys__File->output != __ecerePointer___ecereNameSpace__ecere__sys__File->input)
461 {
462 __ecereNameSpace__ecere__sys__openCount--;
463 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
464 }
465 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
466 {
467 __ecereNameSpace__ecere__sys__openCount--;
468 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
469 }
470 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
471 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
472 }
473 }
474
475 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
476
477 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
478 {
479 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
480
481 return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, bytes, 1, numBytes);
482 }
483
484 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
485
486 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
487 {
488 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
489
490 return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, bytes, 1, numBytes);
491 }
492
493 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
494
495 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
496
497 struct __ecereNameSpace__ecere__sys__TempFile
498 {
499 unsigned char *  buffer;
500 unsigned int size;
501 unsigned int position;
502 unsigned int eof;
503 int openMode;
504 unsigned int allocated;
505 } __attribute__ ((gcc_struct));
506
507 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
508
509 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
510
511 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
512
513 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, char * string)
514 {
515 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
516
517 if(!string[0])
518 {
519 (*(this)) = (((void *)0));
520 return 0x1;
521 }
522 else
523 {
524 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(string, 1);
525
526 if(f)
527 {
528 (*(this)) = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
529 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(f))
530 {
531 unsigned char buffer[4096];
532 unsigned int read = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, buffer, 1, sizeof buffer);
533
534 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))((*(this)))->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])((*(this)), buffer, 1, read);
535 }
536 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
537 return 0x1;
538 }
539 }
540 return 0x0;
541 }
542
543 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
544
545 char * __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
546 {
547 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
548
549 if((struct __ecereNameSpace__ecere__com__Instance *)this)
550 {
551 __ecereNameSpace__ecere__sys__PrintSize(tempString, ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))(this)->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize])(this), 2);
552 return tempString;
553 }
554 return (((void *)0));
555 }
556
557 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Seek(struct __ecereNameSpace__ecere__com__Instance * this, int pos, int mode)
558 {
559 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
560 unsigned int fmode = 0;
561
562 switch(mode)
563 {
564 case 0:
565 fmode = 0;
566 break;
567 case 2:
568 fmode = 2;
569 break;
570 case 1:
571 fmode = 1;
572 break;
573 }
574 return fseek(__ecerePointer___ecereNameSpace__ecere__sys__File->input ? __ecerePointer___ecereNameSpace__ecere__sys__File->input : __ecerePointer___ecereNameSpace__ecere__sys__File->output, pos, fmode) != (-1);
575 }
576
577 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Tell(struct __ecereNameSpace__ecere__com__Instance * this)
578 {
579 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
580
581 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->input) : ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
582 }
583
584 int __ecereMethod___ecereNameSpace__ecere__sys__File_Read(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
585 {
586 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
587
588 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (int)fread(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0;
589 }
590
591 int __ecereMethod___ecereNameSpace__ecere__sys__File_Write(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
592 {
593 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
594
595 return __ecerePointer___ecereNameSpace__ecere__sys__File->output ? (int)fwrite(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->output) : 0;
596 }
597
598 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Getc(struct __ecereNameSpace__ecere__com__Instance * this, char * ch)
599 {
600 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
601 int ich = fgetc(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
602
603 if(ich != (-1))
604 {
605 if(ch)
606 *ch = (char)ich;
607 return 0x1;
608 }
609 return 0x0;
610 }
611
612 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
613 {
614 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
615
616 return (fputc((int)ch, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0x0 : 0x1;
617 }
618
619 extern int fputs(char * , void *  stream);
620
621 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
622 {
623 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
624 unsigned int result = 0x0;
625
626 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
627 {
628 result = (fputs(string, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0x0 : 0x1;
629 }
630 return result;
631 }
632
633 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Eof(struct __ecereNameSpace__ecere__com__Instance * this)
634 {
635 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
636
637 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (unsigned int)feof(__ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0x1;
638 }
639
640 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int size)
641 {
642 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
643
644 fprintf((bsl_stderr()), "WARNING:  File::Truncate unimplemented in ecereBootstrap.\n");
645 return 0x0;
646 }
647
648 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize(struct __ecereNameSpace__ecere__com__Instance * this)
649 {
650 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
651
652 return FILE_GetSize(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
653 }
654
655 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput(struct __ecereNameSpace__ecere__com__Instance * this)
656 {
657 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
658
659 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
660 {
661 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
662 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output == __ecerePointer___ecereNameSpace__ecere__sys__File->input)
663 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
664 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
665 }
666 }
667
668 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput(struct __ecereNameSpace__ecere__com__Instance * this)
669 {
670 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
671
672 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
673 {
674 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
675 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input == __ecerePointer___ecereNameSpace__ecere__sys__File->output)
676 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
677 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
678 }
679 }
680
681 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Lock(struct __ecereNameSpace__ecere__com__Instance * this, int type, uint64 start, uint64 length, unsigned int wait)
682 {
683 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
684
685 return FILE_Lock(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, type, start, length, wait);
686 }
687
688 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Lock;
689
690 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock(struct __ecereNameSpace__ecere__com__Instance * this, uint64 start, uint64 length, unsigned int wait)
691 {
692 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
693
694 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int type, uint64 start, uint64 length, unsigned int wait))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Lock])(this, 0, start, length, wait);
695 }
696
697 extern int strlen(const char * );
698
699 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
700
701 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char * format, ...)
702 {
703 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
704 int result = 0;
705
706 if(format)
707 {
708 char text[1025];
709 va_list args;
710
711 __builtin_va_start(args, format);
712 vsnprintf(text, sizeof text, format, args);
713 text[sizeof text - 1] = (char)0;
714 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, text))
715 result = strlen(text);
716 __builtin_va_end(args);
717 }
718 return result;
719 }
720
721 extern int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char *  buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, __builtin_va_list args);
722
723 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
724
725 void __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
726 {
727 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
728 va_list args;
729 char buffer[4096];
730
731 __builtin_va_start(args, object);
732 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
733 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
734 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc])(this, '\n');
735 __builtin_va_end(args);
736 }
737
738 void __ecereMethod___ecereNameSpace__ecere__sys__File_Print(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
739 {
740 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
741 va_list args;
742 char buffer[4096];
743
744 __builtin_va_start(args, object);
745 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
746 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
747 __builtin_va_end(args);
748 }
749
750 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Flush(struct __ecereNameSpace__ecere__com__Instance * this)
751 {
752 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
753
754 fflush(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
755 return 0x1;
756 }
757
758 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc;
759
760 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max)
761 {
762 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
763 int c = 0;
764 unsigned int result = 0x1;
765
766 s[c] = (char)0;
767 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
768 {
769 result = 0x0;
770 }
771 else
772 {
773 while(c < max - 1)
774 {
775 char ch = (char)0;
776
777 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
778 {
779 result = 0x0;
780 break;
781 }
782 if(ch == '\n')
783 break;
784 if(ch != '\r')
785 s[c++] = ch;
786 }
787 }
788 s[c] = (char)0;
789 return result || c > 1;
790 }
791
792 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(struct __ecereNameSpace__ecere__com__Instance * this, char * string, int max)
793 {
794 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
795 int c;
796 char ch;
797 unsigned int quoted = 0x0;
798 unsigned int result = 0x1;
799
800 *string = (char)0;
801 while(0x1)
802 {
803 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
804 result = 0x0;
805 if((ch != '\n') && (ch != '\r') && (ch != ' ') && (ch != ',') && (ch != '\t'))
806 break;
807 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
808 break;
809 }
810 if(result)
811 {
812 for(c = 0; c < max - 1; c++)
813 {
814 if(!quoted && ((ch == '\n') || (ch == '\r') || (ch == ' ') || (ch == ',') || (ch == '\t')))
815 {
816 result = 0x1;
817 break;
818 }
819 if(ch == '\"')
820 {
821 quoted ^= (unsigned int)1;
822 c--;
823 }
824 else
825 string[c] = ch;
826 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
827 {
828 c++;
829 result = 0x0;
830 break;
831 }
832 }
833 string[c] = (char)0;
834 }
835 return result;
836 }
837
838 extern int atoi(const char * );
839
840 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue(struct __ecereNameSpace__ecere__com__Instance * this)
841 {
842 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
843 char string[32];
844
845 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
846 return atoi(string);
847 }
848
849 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
850
851 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue(struct __ecereNameSpace__ecere__com__Instance * this)
852 {
853 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
854 char string[32];
855
856 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
857 return strtoul(string, (((void *)0)), 16);
858 }
859
860 extern double __ecereNameSpace__ecere__sys__FloatFromString(char *  string);
861
862 float __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat(struct __ecereNameSpace__ecere__com__Instance * this)
863 {
864 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
865 char string[32];
866
867 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
868 return (float)__ecereNameSpace__ecere__sys__FloatFromString(string);
869 }
870
871 double __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble(struct __ecereNameSpace__ecere__com__Instance * this)
872 {
873 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
874 char string[32];
875
876 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
877 return __ecereNameSpace__ecere__sys__FloatFromString(string);
878 }
879
880 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_input(struct __ecereNameSpace__ecere__com__Instance * this)
881 {
882 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
883
884 return __ecerePointer___ecereNameSpace__ecere__sys__File->input;
885 }
886
887 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
888 {
889 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
890
891 __ecerePointer___ecereNameSpace__ecere__sys__File->input = value;
892 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_input), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_input);
893 }
894
895 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(struct __ecereNameSpace__ecere__com__Instance * this)
896 {
897 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
898
899 return __ecerePointer___ecereNameSpace__ecere__sys__File->output;
900 }
901
902 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
903 {
904 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
905
906 __ecerePointer___ecereNameSpace__ecere__sys__File->output = value;
907 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_output), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_output);
908 }
909
910 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
911 {
912 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
913
914 FILE_set_buffered(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, value);
915 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_buffered), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered);
916 }
917
918 unsigned int __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof(struct __ecereNameSpace__ecere__com__Instance * this)
919 {
920 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
921
922 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this);
923 }
924
925 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max, unsigned int * hasNewLineChar)
926 {
927 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
928 int c = 0;
929
930 s[c] = '\0';
931 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
932 {
933 char ch = '\0';
934
935 while(c < max - 1)
936 {
937 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
938 break;
939 if(ch == '\n')
940 break;
941 if(ch != '\r')
942 s[c++] = ch;
943 }
944 if(hasNewLineChar)
945 *hasNewLineChar = (ch == '\n');
946 }
947 s[c] = '\0';
948 return c;
949 }
950
951 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
952
953 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo(struct __ecereNameSpace__ecere__com__Instance * this, char * outputFileName)
954 {
955 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
956 unsigned int result = 0x0;
957 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(outputFileName, 2);
958
959 if(f)
960 {
961 unsigned char buffer[65536];
962
963 result = 0x1;
964 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
965 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
966 {
967 unsigned int count = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, buffer, 1, sizeof buffer);
968
969 if(count && !((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(f, buffer, 1, count))
970 {
971 result = 0x0;
972 break;
973 }
974 }
975 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
976 }
977 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
978 return result;
979 }
980
981 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput;
982
983 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput;
984
985 void __ecereMethod___ecereNameSpace__ecere__sys__File_Close(struct __ecereNameSpace__ecere__com__Instance * this)
986 {
987 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
988
989 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput])(this);
990 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput])(this);
991 }
992
993 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile;
994
995 unsigned int __ecereConstructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
996 {
997 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, eC_stdin());
998 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, eC_stdout());
999 return 0x1;
1000 }
1001
1002 void __ecereDestructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
1003 {
1004 {
1005 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, (((void *)0)));
1006 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, (((void *)0)));
1007 }
1008 }
1009
1010 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileAttribs;
1011
1012 struct __ecereNameSpace__ecere__sys__FileStats
1013 {
1014 unsigned int attribs;
1015 unsigned int size;
1016 struct __ecereNameSpace__ecere__com__Instance * accessed;
1017 struct __ecereNameSpace__ecere__com__Instance * modified;
1018 struct __ecereNameSpace__ecere__com__Instance * created;
1019 } __attribute__ ((gcc_struct));
1020
1021 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileStats;
1022
1023 unsigned int __ecereNameSpace__ecere__sys__FileExists(char * fileName)
1024 {
1025 char archiveName[797], * archiveFile;
1026
1027 return FILE_FileExists(fileName);
1028 }
1029
1030 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
1031
1032 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode)
1033 {
1034 struct __ecereNameSpace__ecere__com__Instance * result = (((void *)0));
1035
1036 if(fileName)
1037 {
1038 char archiveName[797], * archiveFile;
1039
1040 if(strstr(fileName, "File://") == fileName)
1041 {
1042 result = (struct __ecereNameSpace__ecere__com__Instance *)strtoul(fileName + 7, (((void *)0)), 16);
1043 if(result)
1044 {
1045 if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class, __ecereClass___ecereNameSpace__ecere__sys__File))
1046 {
1047 if(!((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_refCount)
1048 result->_refCount++;
1049 result->_refCount++;
1050 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))result->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(result, 0, 0);
1051 }
1052 else
1053 result = (((void *)0));
1054 }
1055 }
1056 else
1057 {
1058 struct __ecereNameSpace__ecere__com__Instance * file = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__File);
1059
1060 if(file)
1061 {
1062 FILE_FileOpen(fileName, mode, &((struct __ecereNameSpace__ecere__sys__File *)(((char *)file + __ecereClass___ecereNameSpace__ecere__sys__File->offset)))->input, &((struct __ecereNameSpace__ecere__sys__File *)(((char *)file + __ecereClass___ecereNameSpace__ecere__sys__File->offset)))->output);
1063 if(!__ecereProp___ecereNameSpace__ecere__sys__File_Get_input(file) && !__ecereProp___ecereNameSpace__ecere__sys__File_Get_output(file))
1064 ;
1065 else
1066 {
1067 __ecereNameSpace__ecere__sys__openCount++;
1068 result = file;
1069 }
1070 if(!result)
1071 {
1072 (__ecereNameSpace__ecere__com__eInstance_DecRef(file), file = 0);
1073 }
1074 }
1075 }
1076 }
1077 return result;
1078 }
1079
1080 void __ecereNameSpace__ecere__sys__FileFixCase(char * file)
1081 {
1082 FILE_FileFixCase(file);
1083 }
1084
1085 unsigned int __ecereNameSpace__ecere__sys__FileGetSize(char * fileName, unsigned int * size)
1086 {
1087 unsigned int result = 0x0;
1088
1089 if(size)
1090 {
1091 *size = 0;
1092 if(fileName)
1093 {
1094 result = FILE_FileGetSize(fileName, size);
1095 }
1096 }
1097 return result;
1098 }
1099
1100 unsigned int __ecereNameSpace__ecere__sys__FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats)
1101 {
1102 unsigned int result = 0x0;
1103
1104 if(stats && fileName)
1105 {
1106 return FILE_FileGetStats(fileName, stats);
1107 }
1108 return result;
1109 }
1110
1111 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__CreateTemporaryFile(char * tempFileName, char * template)
1112 {
1113 }
1114
1115 void __ecereNameSpace__ecere__sys__CreateTemporaryDir(char * tempFileName, char * template)
1116 {
1117 }
1118
1119 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
1120
1121 void __ecereNameSpace__ecere__sys__MakeSlashPath(char * p)
1122 {
1123 __ecereNameSpace__ecere__sys__FileFixCase(p);
1124 __ecereNameSpace__ecere__sys__ChangeCh(p, '\\', '/');
1125 }
1126
1127 void __ecereNameSpace__ecere__sys__MakeSystemPath(char * p)
1128 {
1129 __ecereNameSpace__ecere__sys__FileFixCase(p);
1130 }
1131
1132 extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
1133
1134 char * __ecereNameSpace__ecere__sys__CopySystemPath(char * p)
1135 {
1136 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
1137
1138 if(d)
1139 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
1140 return d;
1141 }
1142
1143 char * __ecereNameSpace__ecere__sys__CopyUnixPath(char * p)
1144 {
1145 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
1146
1147 if(d)
1148 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
1149 return d;
1150 }
1151
1152 extern char *  strcpy(char * , const char * );
1153
1154 char * __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char * d, char * p)
1155 {
1156 if(d != p)
1157 strcpy(d, p ? p : "");
1158 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
1159 return d;
1160 }
1161
1162 char * __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char * d, char * p)
1163 {
1164 if(d != p)
1165 strcpy(d, p ? p : "");
1166 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
1167 return d;
1168 }
1169
1170 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Open;
1171
1172 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Exists;
1173
1174 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_GetSize;
1175
1176 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Stats;
1177
1178 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FixCase;
1179
1180 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Find;
1181
1182 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FindNext;
1183
1184 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_CloseDir;
1185
1186 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_OpenArchive;
1187
1188 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_QuerySize;
1189
1190 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Tell;
1191
1192 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Truncate;
1193
1194 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Unlock;
1195
1196 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Close;
1197
1198 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);
1199
1200 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
1201
1202 struct __ecereNameSpace__ecere__com__NameSpace
1203 {
1204 char *  name;
1205 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
1206 struct __ecereNameSpace__ecere__com__NameSpace *  left;
1207 struct __ecereNameSpace__ecere__com__NameSpace *  right;
1208 int depth;
1209 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
1210 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1211 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1212 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1213 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1214 } __attribute__ ((gcc_struct));
1215
1216 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
1217
1218 struct __ecereNameSpace__ecere__com__Module
1219 {
1220 struct __ecereNameSpace__ecere__com__Instance * application;
1221 struct __ecereNameSpace__ecere__sys__OldList classes;
1222 struct __ecereNameSpace__ecere__sys__OldList defines;
1223 struct __ecereNameSpace__ecere__sys__OldList functions;
1224 struct __ecereNameSpace__ecere__sys__OldList modules;
1225 struct __ecereNameSpace__ecere__com__Instance * prev;
1226 struct __ecereNameSpace__ecere__com__Instance * next;
1227 char *  name;
1228 void *  library;
1229 void *  Unload;
1230 int importType;
1231 int origImportType;
1232 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1233 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1234 } __attribute__ ((gcc_struct));
1235
1236 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
1237
1238 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);
1239
1240 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);
1241
1242 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
1243
1244 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);
1245
1246 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
1247
1248 struct __ecereNameSpace__ecere__com__BitMember;
1249
1250 extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
1251
1252 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);
1253
1254 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
1255
1256 struct __ecereNameSpace__ecere__com__GlobalFunction;
1257
1258 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);
1259
1260 void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1261 {
1262 struct __ecereNameSpace__ecere__com__Class * class;
1263
1264 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize", "uint", 0, 0, 0, 0, module, 1, 1);
1265 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1266 __ecereClass___ecereNameSpace__ecere__sys__FileSize = class;
1267 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare, 1);
1268 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString, 1);
1269 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString, 1);
1270 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize64", "uint64", 0, 0, 0, 0, module, 1, 1);
1271 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1272 __ecereClass___ecereNameSpace__ecere__sys__FileSize64 = class;
1273 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare, 1);
1274 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString, 1);
1275 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString, 1);
1276 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::FileSystem", 0, 0, 0, 0, 0, module, 2, 1);
1277 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1278 __ecereClass___ecereNameSpace__ecere__sys__FileSystem = class;
1279 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Open", "ecere::sys::File ::Open(char * archive, char * name, ecere::sys::FileOpenMode mode)", 0, 2);
1280 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Exists", "ecere::sys::FileAttribs ::Exists(char * archive, char * fileName)", 0, 2);
1281 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "bool ::GetSize(char * archive, char * fileName, ecere::sys::FileSize * size)", 0, 2);
1282 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Stats", "bool ::Stats(char * archive, char * fileName, ecere::sys::FileStats stats)", 0, 2);
1283 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixCase", "void ::FixCase(char * archive, char * fileName)", 0, 2);
1284 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "bool ::Find(FileDesc file, char * archive, char * name)", 0, 2);
1285 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindNext", "bool ::FindNext(FileDesc file)", 0, 2);
1286 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseDir", "void ::CloseDir(FileDesc file)", 0, 2);
1287 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "OpenArchive", "Archive ::OpenArchive(char * fileName, ArchiveOpenFlags create)", 0, 2);
1288 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "QuerySize", "bool ::QuerySize(char * fileName, ecere::sys::FileSize * size)", 0, 2);
1289 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileOpenMode", 0, 0, 0, 0, 0, module, 1, 1);
1290 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1291 __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode = class;
1292 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "read", 1);
1293 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "write", 2);
1294 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "append", 3);
1295 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "readWrite", 4);
1296 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "writeRead", 5);
1297 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "appendRead", 6);
1298 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileSeekMode", 0, 0, 0, 0, 0, module, 1, 1);
1299 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1300 __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode = class;
1301 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "start", 0);
1302 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "current", 1);
1303 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "end", 2);
1304 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileLock", 0, 0, 0, 0, 0, module, 1, 1);
1305 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1306 __ecereClass___ecereNameSpace__ecere__sys__FileLock = class;
1307 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "unlocked", 0);
1308 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "shared", 1);
1309 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "exclusive", 2);
1310 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::File", "ecere::com::IOChannel", sizeof(struct __ecereNameSpace__ecere__sys__File), 0, 0, __ecereDestructor___ecereNameSpace__ecere__sys__File, module, 1, 1);
1311 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1312 __ecereClass___ecereNameSpace__ecere__sys__File = class;
1313 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString, 1);
1314 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString, 1);
1315 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData, 1);
1316 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData, 1);
1317 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Seek", "bool Seek(int pos, ecere::sys::FileSeekMode mode)", __ecereMethod___ecereNameSpace__ecere__sys__File_Seek, 1);
1318 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Tell", "unsigned int Tell(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Tell, 1);
1319 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Read", "int Read(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Read, 1);
1320 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Write", "int Write(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Write, 1);
1321 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Getc", "bool Getc(char * ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Getc, 1);
1322 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Putc", "bool Putc(char ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Putc, 1);
1323 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Puts", "bool Puts(const char * string)", __ecereMethod___ecereNameSpace__ecere__sys__File_Puts, 1);
1324 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Eof", "bool Eof(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Eof, 1);
1325 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Truncate", "bool Truncate(ecere::sys::FileSize size)", __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate, 1);
1326 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "unsigned int GetSize(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize, 1);
1327 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseInput", "void CloseInput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput, 1);
1328 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseOutput", "void CloseOutput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput, 1);
1329 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Lock", "bool Lock(ecere::sys::FileLock type, uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Lock, 1);
1330 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Unlock", "bool Unlock(uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock, 1);
1331 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Close", "void Close()", __ecereMethod___ecereNameSpace__ecere__sys__File_Close, 1);
1332 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "CopyTo", "bool CopyTo(char * outputFileName)", __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo, 1);
1333 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Flush", "bool Flush(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Flush, 1);
1334 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetDouble", "double GetDouble(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble, 1);
1335 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetFloat", "float GetFloat(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat, 1);
1336 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetHexValue", "unsigned int GetHexValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue, 1);
1337 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLine", "bool GetLine(char * s, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine, 1);
1338 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLineEx", "int GetLineEx(char * s, int max, bool * hasNewLineChar)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx, 1);
1339 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetString", "bool GetString(char * string, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetString, 1);
1340 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetValue", "int GetValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue, 1);
1341 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Print", "void Print(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Print, 1);
1342 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PrintLn", "void PrintLn(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn, 1);
1343 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Printf", "int Printf(char * format, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Printf, 1);
1344 __ecerePropM___ecereNameSpace__ecere__sys__File_input = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "input", "void *", __ecereProp___ecereNameSpace__ecere__sys__File_Set_input, __ecereProp___ecereNameSpace__ecere__sys__File_Get_input, 1);
1345 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application)
1346 __ecereProp___ecereNameSpace__ecere__sys__File_input = __ecerePropM___ecereNameSpace__ecere__sys__File_input, __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1347 __ecerePropM___ecereNameSpace__ecere__sys__File_output = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "output", "void *", __ecereProp___ecereNameSpace__ecere__sys__File_Set_output, __ecereProp___ecereNameSpace__ecere__sys__File_Get_output, 1);
1348 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application)
1349 __ecereProp___ecereNameSpace__ecere__sys__File_output = __ecerePropM___ecereNameSpace__ecere__sys__File_output, __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1350 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffered", "bool", __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered, 0, 1);
1351 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application)
1352 __ecereProp___ecereNameSpace__ecere__sys__File_buffered = __ecerePropM___ecereNameSpace__ecere__sys__File_buffered, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1353 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "eof", "bool", 0, __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof, 1);
1354 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application)
1355 __ecereProp___ecereNameSpace__ecere__sys__File_eof = __ecerePropM___ecereNameSpace__ecere__sys__File_eof, __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1356 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::ConsoleFile", "ecere::sys::File", 0, 0, __ecereConstructor___ecereNameSpace__ecere__sys__ConsoleFile, __ecereDestructor___ecereNameSpace__ecere__sys__ConsoleFile, module, 1, 1);
1357 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1358 __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile = class;
1359 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::FileAttribs", "bool", 0, 0, 0, 0, module, 1, 1);
1360 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1361 __ecereClass___ecereNameSpace__ecere__sys__FileAttribs = class;
1362 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isFile", "bool", 1, 0, 1);
1363 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isArchive", "bool", 1, 1, 1);
1364 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isHidden", "bool", 1, 2, 1);
1365 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isReadOnly", "bool", 1, 3, 1);
1366 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isSystem", "bool", 1, 4, 1);
1367 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isTemporary", "bool", 1, 5, 1);
1368 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDirectory", "bool", 1, 6, 1);
1369 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDrive", "bool", 1, 7, 1);
1370 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isCDROM", "bool", 1, 8, 1);
1371 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemote", "bool", 1, 9, 1);
1372 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemovable", "bool", 1, 10, 1);
1373 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isServer", "bool", 1, 11, 1);
1374 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isShare", "bool", 1, 12, 1);
1375 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::FileStats", 0, sizeof(struct __ecereNameSpace__ecere__sys__FileStats), 0, 0, 0, module, 1, 1);
1376 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + 12)))->application && class)
1377 __ecereClass___ecereNameSpace__ecere__sys__FileStats = class;
1378 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "attribs", "ecere::sys::FileAttribs", 4, 4, 1);
1379 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "size", "ecere::sys::FileSize", 4, 4, 1);
1380 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "accessed", "SecSince1970", 4, 4, 1);
1381 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "modified", "SecSince1970", 4, 4, 1);
1382 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "created", "SecSince1970", 4, 4, 1);
1383 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileExists", "ecere::sys::FileAttribs ecere::sys::FileExists(char * fileName)", __ecereNameSpace__ecere__sys__FileExists, module, 1);
1384 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpen", "ecere::sys::File ecere::sys::FileOpen(char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpen, module, 1);
1385 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileFixCase", "void ecere::sys::FileFixCase(char * file)", __ecereNameSpace__ecere__sys__FileFixCase, module, 1);
1386 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetSize", "bool ecere::sys::FileGetSize(char * fileName, ecere::sys::FileSize * size)", __ecereNameSpace__ecere__sys__FileGetSize, module, 1);
1387 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetStats", "bool ecere::sys::FileGetStats(char * fileName, ecere::sys::FileStats stats)", __ecereNameSpace__ecere__sys__FileGetStats, module, 1);
1388 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryFile", "ecere::sys::File ecere::sys::CreateTemporaryFile(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryFile, module, 1);
1389 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryDir", "void ecere::sys::CreateTemporaryDir(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryDir, module, 1);
1390 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSlashPath", "void ecere::sys::MakeSlashPath(char * p)", __ecereNameSpace__ecere__sys__MakeSlashPath, module, 1);
1391 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSystemPath", "void ecere::sys::MakeSystemPath(char * p)", __ecereNameSpace__ecere__sys__MakeSystemPath, module, 1);
1392 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopySystemPath", "char * ecere::sys::CopySystemPath(char * p)", __ecereNameSpace__ecere__sys__CopySystemPath, module, 1);
1393 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyUnixPath", "char * ecere::sys::CopyUnixPath(char * p)", __ecereNameSpace__ecere__sys__CopyUnixPath, module, 1);
1394 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSystemPathBuffer", "char * ecere::sys::GetSystemPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSystemPathBuffer, module, 1);
1395 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSlashPathBuffer", "char * ecere::sys::GetSlashPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSlashPathBuffer, module, 1);
1396 }
1397
1398 void __ecereUnregisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1399 {
1400
1401 __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1402 __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1403 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1404 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1405 }
1406