e5531ed754c082629ac5dc5eaded2f94c5a0f395
[sdk] / compiler / bootstrap / ecere / bootstrap / File.c
1 /* Code generated from eC source file. */
2 #if defined(__GNUC__)
3 typedef long long int64;
4 typedef unsigned long long uint64;
5 #ifndef _WIN32
6 #define __declspec(x)
7 #endif
8 #elif defined(__TINYC__)
9 #include <stdarg.h>
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
13 #ifdef _WIN32
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
17 #else
18 #define __declspec(x)
19 #endif
20 typedef long long int64;
21 typedef unsigned long long uint64;
22 #else
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
25 #endif
26 #ifdef __BIG_ENDIAN__
27 #define __ENDIAN_PAD(x) (8 - (x))
28 #else
29 #define __ENDIAN_PAD(x) 0
30 #endif
31 #include <stdint.h>
32 #include <sys/types.h>
33
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
35 #define _64BIT 1
36 #else
37 #define _64BIT 0
38 #endif
39
40 #define arch_PointerSize                  sizeof(void *)
41 #define structSize_Instance               (_64BIT ? 24 : 12)
42
43 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
48
49 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
50
51 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
52
53 struct __ecereNameSpace__ecere__sys__BTNode;
54
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
56
57 struct __ecereNameSpace__ecere__sys__BinaryTree
58 {
59 struct __ecereNameSpace__ecere__sys__BTNode * root;
60 int count;
61 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
62 void (*  FreeKey)(void *  key);
63 } __attribute__ ((gcc_struct));
64
65 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
66
67 struct __ecereNameSpace__ecere__sys__OldList
68 {
69 void *  first;
70 void *  last;
71 int count;
72 unsigned int offset;
73 unsigned int circ;
74 } __attribute__ ((gcc_struct));
75
76 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
77
78 struct __ecereNameSpace__ecere__com__Class
79 {
80 struct __ecereNameSpace__ecere__com__Class * prev;
81 struct __ecereNameSpace__ecere__com__Class * next;
82 char *  name;
83 int offset;
84 int structSize;
85 int (* *  _vTbl)();
86 int vTblSize;
87 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
88 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
89 int offsetClass;
90 int sizeClass;
91 struct __ecereNameSpace__ecere__com__Class * base;
92 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
93 struct __ecereNameSpace__ecere__sys__BinaryTree members;
94 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
95 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
96 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
97 struct __ecereNameSpace__ecere__sys__OldList derivatives;
98 int memberID;
99 int startMemberID;
100 int type;
101 struct __ecereNameSpace__ecere__com__Instance * module;
102 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
103 char *  dataTypeString;
104 struct __ecereNameSpace__ecere__com__Instance * dataType;
105 int typeSize;
106 int defaultAlignment;
107 void (*  Initialize)();
108 int memberOffset;
109 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
110 char *  designerClass;
111 unsigned int noExpansion;
112 char *  defaultProperty;
113 unsigned int comRedefinition;
114 int count;
115 unsigned int isRemote;
116 unsigned int internalDecl;
117 void *  data;
118 unsigned int computeSize;
119 int structAlignment;
120 int destructionWatchOffset;
121 unsigned int fixed;
122 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
123 int inheritanceAccess;
124 char *  fullName;
125 void *  symbol;
126 struct __ecereNameSpace__ecere__sys__OldList conversions;
127 struct __ecereNameSpace__ecere__sys__OldList templateParams;
128 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
129 struct __ecereNameSpace__ecere__com__Class * templateClass;
130 struct __ecereNameSpace__ecere__sys__OldList templatized;
131 int numParams;
132 unsigned int isInstanceClass;
133 } __attribute__ ((gcc_struct));
134
135 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
136
137 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
138
139 struct __ecereNameSpace__ecere__com__Instance
140 {
141 int (* *  _vTbl)();
142 struct __ecereNameSpace__ecere__com__Class * _class;
143 int _refCount;
144 } __attribute__ ((gcc_struct));
145
146 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
147
148 struct __ecereNameSpace__ecere__com__Property
149 {
150 struct __ecereNameSpace__ecere__com__Property * prev;
151 struct __ecereNameSpace__ecere__com__Property * next;
152 char *  name;
153 unsigned int isProperty;
154 int memberAccess;
155 int id;
156 struct __ecereNameSpace__ecere__com__Class * _class;
157 char *  dataTypeString;
158 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
159 struct __ecereNameSpace__ecere__com__Instance * dataType;
160 void (*  Set)(void * , int);
161 int (*  Get)(void * );
162 unsigned int (*  IsSet)(void * );
163 void *  data;
164 void *  symbol;
165 int vid;
166 unsigned int conversion;
167 unsigned int watcherOffset;
168 char *  category;
169 unsigned int compiled;
170 unsigned int selfWatchable;
171 unsigned int isWatchable;
172 } __attribute__ ((gcc_struct));
173
174 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
175
176 struct __ecereNameSpace__ecere__com__DataMember
177 {
178 struct __ecereNameSpace__ecere__com__DataMember * prev;
179 struct __ecereNameSpace__ecere__com__DataMember * next;
180 char *  name;
181 unsigned int isProperty;
182 int memberAccess;
183 int id;
184 struct __ecereNameSpace__ecere__com__Class * _class;
185 char *  dataTypeString;
186 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
187 struct __ecereNameSpace__ecere__com__Instance * dataType;
188 int type;
189 int offset;
190 int memberID;
191 struct __ecereNameSpace__ecere__sys__OldList members;
192 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
193 int memberOffset;
194 int structAlignment;
195 } __attribute__ ((gcc_struct));
196
197 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
198
199 struct __ecereNameSpace__ecere__com__Method
200 {
201 char *  name;
202 struct __ecereNameSpace__ecere__com__Method * parent;
203 struct __ecereNameSpace__ecere__com__Method * left;
204 struct __ecereNameSpace__ecere__com__Method * right;
205 int depth;
206 int (*  function)();
207 int vid;
208 int type;
209 struct __ecereNameSpace__ecere__com__Class * _class;
210 void *  symbol;
211 char *  dataTypeString;
212 struct __ecereNameSpace__ecere__com__Instance * dataType;
213 int memberAccess;
214 } __attribute__ ((gcc_struct));
215
216 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
217
218 struct __ecereNameSpace__ecere__com__SerialBuffer
219 {
220 unsigned char *  _buffer;
221 unsigned int count;
222 unsigned int _size;
223 unsigned int pos;
224 } __attribute__ ((gcc_struct));
225
226 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
227
228 struct __ecereNameSpace__ecere__com__DataValue
229 {
230 union
231 {
232 char c;
233 unsigned char uc;
234 short s;
235 unsigned short us;
236 int i;
237 unsigned int ui;
238 void *  p;
239 float f;
240 double d;
241 long long i64;
242 uint64 ui64;
243 } __attribute__ ((gcc_struct));
244 } __attribute__ ((gcc_struct));
245
246 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
247
248 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
249 {
250 union
251 {
252 struct
253 {
254 char *  dataTypeString;
255 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
256 } __attribute__ ((gcc_struct));
257 struct __ecereNameSpace__ecere__com__DataValue expression;
258 struct
259 {
260 char *  memberString;
261 union
262 {
263 struct __ecereNameSpace__ecere__com__DataMember * member;
264 struct __ecereNameSpace__ecere__com__Property * prop;
265 struct __ecereNameSpace__ecere__com__Method * method;
266 } __attribute__ ((gcc_struct));
267 } __attribute__ ((gcc_struct));
268 } __attribute__ ((gcc_struct));
269 } __attribute__ ((gcc_struct));
270
271 void exit(int status);
272
273 void * calloc(size_t nmemb, size_t size);
274
275 void free(void * ptr);
276
277 void * malloc(size_t size);
278
279 void * realloc(void * ptr, size_t size);
280
281 long int strtol(const char * nptr, char ** endptr, int base);
282
283 long long int strtoll(const char * nptr, char ** endptr, int base);
284
285 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
286
287 typedef __builtin_va_list va_list;
288
289 typedef void FILE;
290
291 FILE * bsl_stdin(void);
292
293 FILE * bsl_stdout(void);
294
295 FILE * bsl_stderr(void);
296
297 char * fgets(char * s, int size, FILE * stream);
298
299 FILE * fopen(const char * path, const char * mode);
300
301 int fclose(FILE * fp);
302
303 int fflush(FILE * stream);
304
305 int fgetc(FILE * stream);
306
307 int fprintf(FILE * stream, const char * format, ...);
308
309 int fputc(int c, FILE * stream);
310
311 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
312
313 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
314
315 int vsnprintf(char *, size_t, const char *, ...);
316
317 int snprintf(char * str, size_t, const char * format, ...);
318
319 int fseek(FILE * stream, long offset, int whence);
320
321 long ftell(FILE * stream);
322
323 int feof(FILE * stream);
324
325 int ferror(FILE * stream);
326
327 int fileno(FILE * stream);
328
329 FILE * eC_stdin(void);
330
331 FILE * eC_stdout(void);
332
333 unsigned int FILE_GetSize(FILE * input);
334
335 unsigned int FILE_Lock(FILE * input, FILE * output, int type, uint64 start, uint64 length, unsigned int wait);
336
337 void FILE_set_buffered(FILE * input, FILE * output, unsigned int value);
338
339 unsigned int FILE_FileExists(char * fileName);
340
341 unsigned int FILE_FileGetSize(char * fileName, unsigned int * size);
342
343 unsigned int FILE_FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats);
344
345 void FILE_FileFixCase(char * file);
346
347 void FILE_FileOpen(char * fileName, int mode, FILE ** input, FILE ** output);
348
349 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__httpFileSystem;
350
351 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize;
352
353 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, unsigned int * data2)
354 {
355 int result = 0;
356
357 if(&(*this) && &(*data2))
358 {
359 if((*this) > (*data2))
360 result = 1;
361 else if((*this) < (*data2))
362 result = -1;
363 }
364 return result;
365 }
366
367 extern void __ecereNameSpace__ecere__sys__PrintSize(char *  string, unsigned int size, int prec);
368
369 char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string, void * fieldData, unsigned int * needClass)
370 {
371 __ecereNameSpace__ecere__sys__PrintSize(string, *(unsigned int *)this, 2);
372 return string;
373 }
374
375 extern double strtod(char * , char * * );
376
377 extern char *  strstr(const char * , const char * );
378
379 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string)
380 {
381 char * end;
382 double value = strtod(string, &end);
383 unsigned int multiplier = 1;
384
385 if(strstr(end, "GB") || strstr(end, "gb"))
386 multiplier = (unsigned int)1024 * 1024 * 1024;
387 else if(strstr(end, "MB") || strstr(end, "mb"))
388 multiplier = (unsigned int)1024 * 1024;
389 else if(strstr(end, "KB") || strstr(end, "kb"))
390 multiplier = 1024;
391 (*this) = (unsigned int)((double)multiplier * value);
392 return 0x1;
393 }
394
395 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSize64;
396
397 int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, uint64 * data2)
398 {
399 int result = 0;
400
401 if(&(*this) && &(*data2))
402 {
403 if((*this) > (*data2))
404 result = 1;
405 else if((*this) < (*data2))
406 result = -1;
407 }
408 return result;
409 }
410
411 extern void __ecereNameSpace__ecere__sys__PrintBigSize(char *  string, double size, int prec);
412
413 char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string, void * fieldData, unsigned int * needClass)
414 {
415 __ecereNameSpace__ecere__sys__PrintBigSize(string, *(uint64 *)this, 2);
416 return string;
417 }
418
419 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string)
420 {
421 char * end;
422 double value = strtod(string, &end);
423 uint64 multiplier = 1;
424
425 if(strstr(end, "PB") || strstr(end, "pb"))
426 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
427 else if(strstr(end, "TB") || strstr(end, "tb"))
428 multiplier = (uint64)1024 * 1024 * 1024 * 1024;
429 else if(strstr(end, "GB") || strstr(end, "gb"))
430 multiplier = (uint64)1024 * 1024 * 1024;
431 else if(strstr(end, "MB") || strstr(end, "mb"))
432 multiplier = (uint64)1024 * 1024;
433 else if(strstr(end, "KB") || strstr(end, "kb"))
434 multiplier = 1024;
435 (*this) = (uint64)((double)multiplier * value);
436 return 0x1;
437 }
438
439 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSystem;
440
441 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode;
442
443 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode;
444
445 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileLock;
446
447 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_input, * __ecerePropM___ecereNameSpace__ecere__sys__File_input;
448
449 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_output, * __ecerePropM___ecereNameSpace__ecere__sys__File_output;
450
451 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_buffered, * __ecerePropM___ecereNameSpace__ecere__sys__File_buffered;
452
453 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__File_eof, * __ecerePropM___ecereNameSpace__ecere__sys__File_eof;
454
455 struct __ecereNameSpace__ecere__sys__File
456 {
457 FILE * input, * output;
458 } __attribute__ ((gcc_struct));
459
460 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
461
462 static int __ecereNameSpace__ecere__sys__openCount;
463
464 void __ecereDestructor___ecereNameSpace__ecere__sys__File(struct __ecereNameSpace__ecere__com__Instance * this)
465 {
466 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);
467
468 {
469 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output && __ecerePointer___ecereNameSpace__ecere__sys__File->output != __ecerePointer___ecereNameSpace__ecere__sys__File->input)
470 {
471 __ecereNameSpace__ecere__sys__openCount--;
472 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
473 }
474 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
475 {
476 __ecereNameSpace__ecere__sys__openCount--;
477 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
478 }
479 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
480 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
481 }
482 }
483
484 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
485
486 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData(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_Read])(this, bytes, 1, numBytes);
491 }
492
493 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
494
495 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
496 {
497 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);
498
499 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);
500 }
501
502 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
503
504 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
505
506 struct __ecereNameSpace__ecere__sys__TempFile
507 {
508 unsigned char *  buffer;
509 unsigned int size;
510 unsigned int position;
511 unsigned int eof;
512 int openMode;
513 unsigned int allocated;
514 } __attribute__ ((gcc_struct));
515
516 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
517
518 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
519
520 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
521
522 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, char * string)
523 {
524 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);
525
526 if(!string[0])
527 {
528 (*this) = (((void *)0));
529 return 0x1;
530 }
531 else
532 {
533 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(string, 1);
534
535 if(f)
536 {
537 (*this) = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
538 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(f))
539 {
540 unsigned char buffer[4096];
541 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);
542
543 ((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);
544 }
545 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
546 return 0x1;
547 }
548 }
549 return 0x0;
550 }
551
552 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
553
554 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)
555 {
556 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);
557
558 if((struct __ecereNameSpace__ecere__com__Instance *)this)
559 {
560 __ecereNameSpace__ecere__sys__PrintSize(tempString, ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))(this)->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize])(this), 2);
561 return tempString;
562 }
563 return (((void *)0));
564 }
565
566 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Seek(struct __ecereNameSpace__ecere__com__Instance * this, int pos, int mode)
567 {
568 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);
569 unsigned int fmode = 0;
570
571 switch(mode)
572 {
573 case 0:
574 fmode = 0;
575 break;
576 case 2:
577 fmode = 2;
578 break;
579 case 1:
580 fmode = 1;
581 break;
582 }
583 return fseek(__ecerePointer___ecereNameSpace__ecere__sys__File->input ? __ecerePointer___ecereNameSpace__ecere__sys__File->input : __ecerePointer___ecereNameSpace__ecere__sys__File->output, pos, fmode) != (-1);
584 }
585
586 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Tell(struct __ecereNameSpace__ecere__com__Instance * this)
587 {
588 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);
589
590 return (unsigned int)(__ecerePointer___ecereNameSpace__ecere__sys__File->input ? ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->input) : ftell(__ecerePointer___ecereNameSpace__ecere__sys__File->output));
591 }
592
593 int __ecereMethod___ecereNameSpace__ecere__sys__File_Read(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
594 {
595 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);
596
597 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (int)fread(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0;
598 }
599
600 int __ecereMethod___ecereNameSpace__ecere__sys__File_Write(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
601 {
602 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);
603
604 return __ecerePointer___ecereNameSpace__ecere__sys__File->output ? (int)fwrite(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->output) : 0;
605 }
606
607 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Getc(struct __ecereNameSpace__ecere__com__Instance * this, char * ch)
608 {
609 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);
610 int ich = fgetc(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
611
612 if(ich != (-1))
613 {
614 if(ch)
615 *ch = (char)ich;
616 return 0x1;
617 }
618 return 0x0;
619 }
620
621 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
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
625 return (fputc((int)ch, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0x0 : 0x1;
626 }
627
628 extern int fputs(char * , void *  stream);
629
630 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
631 {
632 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);
633 unsigned int result = 0x0;
634
635 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
636 {
637 result = (fputs(string, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0x0 : 0x1;
638 }
639 return result;
640 }
641
642 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Eof(struct __ecereNameSpace__ecere__com__Instance * this)
643 {
644 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);
645
646 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (unsigned int)feof(__ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0x1;
647 }
648
649 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int size)
650 {
651 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);
652
653 fprintf((bsl_stderr()), "WARNING:  File::Truncate unimplemented in ecereBootstrap.\n");
654 return 0x0;
655 }
656
657 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize(struct __ecereNameSpace__ecere__com__Instance * this)
658 {
659 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);
660
661 return FILE_GetSize(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
662 }
663
664 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput(struct __ecereNameSpace__ecere__com__Instance * this)
665 {
666 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);
667
668 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input)
669 {
670 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->input);
671 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output == __ecerePointer___ecereNameSpace__ecere__sys__File->input)
672 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
673 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
674 }
675 }
676
677 void __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput(struct __ecereNameSpace__ecere__com__Instance * this)
678 {
679 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);
680
681 if(__ecerePointer___ecereNameSpace__ecere__sys__File->output)
682 {
683 fclose(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
684 if(__ecerePointer___ecereNameSpace__ecere__sys__File->input == __ecerePointer___ecereNameSpace__ecere__sys__File->output)
685 __ecerePointer___ecereNameSpace__ecere__sys__File->input = (((void *)0));
686 __ecerePointer___ecereNameSpace__ecere__sys__File->output = (((void *)0));
687 }
688 }
689
690 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Lock(struct __ecereNameSpace__ecere__com__Instance * this, int type, 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 FILE_Lock(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, type, start, length, wait);
695 }
696
697 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Lock;
698
699 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock(struct __ecereNameSpace__ecere__com__Instance * this, uint64 start, uint64 length, unsigned int wait)
700 {
701 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);
702
703 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);
704 }
705
706 extern size_t strlen(const char * );
707
708 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
709
710 int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char * format, ...)
711 {
712 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);
713 int result = 0;
714
715 if(format)
716 {
717 char text[1025];
718 va_list args;
719
720 __builtin_va_start(args, format);
721 vsnprintf(text, sizeof text, format, args);
722 text[sizeof text - 1] = (char)0;
723 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, text))
724 result = strlen(text);
725 __builtin_va_end(args);
726 }
727 return result;
728 }
729
730 extern int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char *  buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, __builtin_va_list args);
731
732 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
733
734 void __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
735 {
736 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);
737 va_list args;
738 char buffer[4096];
739
740 __builtin_va_start(args, object);
741 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
742 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
743 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc])(this, '\n');
744 __builtin_va_end(args);
745 }
746
747 void __ecereMethod___ecereNameSpace__ecere__sys__File_Print(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
748 {
749 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);
750 va_list args;
751 char buffer[4096];
752
753 __builtin_va_start(args, object);
754 __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(buffer, sizeof buffer, class, object, args);
755 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(this, buffer);
756 __builtin_va_end(args);
757 }
758
759 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Flush(struct __ecereNameSpace__ecere__com__Instance * this)
760 {
761 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);
762
763 fflush(__ecerePointer___ecereNameSpace__ecere__sys__File->output);
764 return 0x1;
765 }
766
767 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc;
768
769 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max)
770 {
771 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);
772 int c = 0;
773 unsigned int result = 0x1;
774
775 s[c] = (char)0;
776 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
777 {
778 result = 0x0;
779 }
780 else
781 {
782 while(c < max - 1)
783 {
784 char ch = (char)0;
785
786 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
787 {
788 result = 0x0;
789 break;
790 }
791 if(ch == '\n')
792 break;
793 if(ch != '\r')
794 s[c++] = ch;
795 }
796 }
797 s[c] = (char)0;
798 return result || c > 1;
799 }
800
801 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(struct __ecereNameSpace__ecere__com__Instance * this, char * string, int max)
802 {
803 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);
804 int c;
805 char ch;
806 unsigned int quoted = 0x0;
807 unsigned int result = 0x1;
808
809 *string = (char)0;
810 while(0x1)
811 {
812 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
813 result = 0x0;
814 if((ch != '\n') && (ch != '\r') && (ch != ' ') && (ch != ',') && (ch != '\t'))
815 break;
816 if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
817 break;
818 }
819 if(result)
820 {
821 for(c = 0; c < max - 1; c++)
822 {
823 if(!quoted && ((ch == '\n') || (ch == '\r') || (ch == ' ') || (ch == ',') || (ch == '\t')))
824 {
825 result = 0x1;
826 break;
827 }
828 if(ch == '\"')
829 {
830 quoted ^= (unsigned int)1;
831 c--;
832 }
833 else
834 string[c] = ch;
835 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
836 {
837 c++;
838 result = 0x0;
839 break;
840 }
841 }
842 string[c] = (char)0;
843 }
844 return result;
845 }
846
847 extern int atoi(const char * );
848
849 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue(struct __ecereNameSpace__ecere__com__Instance * this)
850 {
851 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);
852 char string[32];
853
854 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
855 return atoi(string);
856 }
857
858 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
859
860 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue(struct __ecereNameSpace__ecere__com__Instance * this)
861 {
862 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);
863 char string[32];
864
865 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
866 return strtoul(string, (((void *)0)), 16);
867 }
868
869 extern double __ecereNameSpace__ecere__sys__FloatFromString(char *  string);
870
871 float __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat(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 (float)__ecereNameSpace__ecere__sys__FloatFromString(string);
878 }
879
880 double __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble(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 char string[32];
884
885 __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof string);
886 return __ecereNameSpace__ecere__sys__FloatFromString(string);
887 }
888
889 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_input(struct __ecereNameSpace__ecere__com__Instance * this)
890 {
891 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);
892
893 return __ecerePointer___ecereNameSpace__ecere__sys__File->input;
894 }
895
896 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
897 {
898 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);
899
900 __ecerePointer___ecereNameSpace__ecere__sys__File->input = value;
901 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_input), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_input);
902 }
903
904 void *  __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(struct __ecereNameSpace__ecere__com__Instance * this)
905 {
906 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);
907
908 return __ecerePointer___ecereNameSpace__ecere__sys__File->output;
909 }
910
911 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(struct __ecereNameSpace__ecere__com__Instance * this, void *  value)
912 {
913 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);
914
915 __ecerePointer___ecereNameSpace__ecere__sys__File->output = value;
916 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_output), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_output);
917 }
918
919 void __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int value)
920 {
921 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);
922
923 FILE_set_buffered(__ecerePointer___ecereNameSpace__ecere__sys__File->input, __ecerePointer___ecereNameSpace__ecere__sys__File->output, value);
924 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__File_buffered), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered);
925 }
926
927 unsigned int __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof(struct __ecereNameSpace__ecere__com__Instance * this)
928 {
929 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);
930
931 return ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this);
932 }
933
934 int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max, unsigned int * hasNewLineChar)
935 {
936 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);
937 int c = 0;
938
939 s[c] = '\0';
940 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
941 {
942 char ch = '\0';
943
944 while(c < max - 1)
945 {
946 if(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, char *  ch))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc])(this, &ch))
947 break;
948 if(ch == '\n')
949 break;
950 if(ch != '\r')
951 s[c++] = ch;
952 }
953 if(hasNewLineChar)
954 *hasNewLineChar = (ch == '\n');
955 }
956 s[c] = '\0';
957 return c;
958 }
959
960 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
961
962 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo(struct __ecereNameSpace__ecere__com__Instance * this, char * outputFileName)
963 {
964 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);
965 unsigned int result = 0x0;
966 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(outputFileName, 2);
967
968 if(f)
969 {
970 unsigned char buffer[65536];
971
972 result = 0x1;
973 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
974 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(this))
975 {
976 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);
977
978 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))
979 {
980 result = 0x0;
981 break;
982 }
983 }
984 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
985 }
986 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(this, 0, 0);
987 return result;
988 }
989
990 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput;
991
992 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput;
993
994 void __ecereMethod___ecereNameSpace__ecere__sys__File_Close(struct __ecereNameSpace__ecere__com__Instance * this)
995 {
996 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);
997
998 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseOutput])(this);
999 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_CloseInput])(this);
1000 }
1001
1002 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile;
1003
1004 unsigned int __ecereConstructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
1005 {
1006 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, eC_stdin());
1007 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, eC_stdout());
1008 return 0x1;
1009 }
1010
1011 void __ecereDestructor___ecereNameSpace__ecere__sys__ConsoleFile(struct __ecereNameSpace__ecere__com__Instance * this)
1012 {
1013 {
1014 __ecereProp___ecereNameSpace__ecere__sys__File_Set_input(this, (((void *)0)));
1015 __ecereProp___ecereNameSpace__ecere__sys__File_Set_output(this, (((void *)0)));
1016 }
1017 }
1018
1019 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileAttribs;
1020
1021 struct __ecereNameSpace__ecere__sys__FileStats
1022 {
1023 unsigned int attribs;
1024 unsigned int size;
1025 struct __ecereNameSpace__ecere__com__Instance * accessed;
1026 struct __ecereNameSpace__ecere__com__Instance * modified;
1027 struct __ecereNameSpace__ecere__com__Instance * created;
1028 } __attribute__ ((gcc_struct));
1029
1030 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileStats;
1031
1032 unsigned int __ecereNameSpace__ecere__sys__FileExists(char * fileName)
1033 {
1034 char archiveName[797], * archiveFile;
1035
1036 return FILE_FileExists(fileName);
1037 }
1038
1039 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
1040
1041 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode)
1042 {
1043 struct __ecereNameSpace__ecere__com__Instance * result = (((void *)0));
1044
1045 if(fileName)
1046 {
1047 char archiveName[797], * archiveFile;
1048
1049 if(strstr(fileName, "File://") == fileName)
1050 {
1051 result = (struct __ecereNameSpace__ecere__com__Instance *)strtoul(fileName + 7, (((void *)0)), 16);
1052 if(result)
1053 {
1054 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))
1055 {
1056 if(!((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_refCount)
1057 result->_refCount++;
1058 result->_refCount++;
1059 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))result->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(result, 0, 0);
1060 }
1061 else
1062 result = (((void *)0));
1063 }
1064 }
1065 else
1066 {
1067 struct __ecereNameSpace__ecere__com__Instance * file = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__File);
1068
1069 if(file)
1070 {
1071 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);
1072 if(!__ecereProp___ecereNameSpace__ecere__sys__File_Get_input(file) && !__ecereProp___ecereNameSpace__ecere__sys__File_Get_output(file))
1073 ;
1074 else
1075 {
1076 __ecereNameSpace__ecere__sys__openCount++;
1077 result = file;
1078 }
1079 if(!result)
1080 {
1081 (__ecereNameSpace__ecere__com__eInstance_DecRef(file), file = 0);
1082 }
1083 }
1084 }
1085 }
1086 return result;
1087 }
1088
1089 void __ecereNameSpace__ecere__sys__FileFixCase(char * file)
1090 {
1091 FILE_FileFixCase(file);
1092 }
1093
1094 unsigned int __ecereNameSpace__ecere__sys__FileGetSize(char * fileName, unsigned int * size)
1095 {
1096 unsigned int result = 0x0;
1097
1098 if(size)
1099 {
1100 *size = 0;
1101 if(fileName)
1102 {
1103 result = FILE_FileGetSize(fileName, size);
1104 }
1105 }
1106 return result;
1107 }
1108
1109 unsigned int __ecereNameSpace__ecere__sys__FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats)
1110 {
1111 unsigned int result = 0x0;
1112
1113 if(stats && fileName)
1114 {
1115 return FILE_FileGetStats(fileName, stats);
1116 }
1117 return result;
1118 }
1119
1120 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__CreateTemporaryFile(char * tempFileName, char * template)
1121 {
1122 }
1123
1124 void __ecereNameSpace__ecere__sys__CreateTemporaryDir(char * tempFileName, char * template)
1125 {
1126 }
1127
1128 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
1129
1130 void __ecereNameSpace__ecere__sys__MakeSlashPath(char * p)
1131 {
1132 __ecereNameSpace__ecere__sys__FileFixCase(p);
1133 __ecereNameSpace__ecere__sys__ChangeCh(p, '\\', '/');
1134 }
1135
1136 void __ecereNameSpace__ecere__sys__MakeSystemPath(char * p)
1137 {
1138 __ecereNameSpace__ecere__sys__FileFixCase(p);
1139 }
1140
1141 extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
1142
1143 char * __ecereNameSpace__ecere__sys__CopySystemPath(char * p)
1144 {
1145 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
1146
1147 if(d)
1148 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
1149 return d;
1150 }
1151
1152 char * __ecereNameSpace__ecere__sys__CopyUnixPath(char * p)
1153 {
1154 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
1155
1156 if(d)
1157 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
1158 return d;
1159 }
1160
1161 extern char *  strcpy(char * , const char * );
1162
1163 char * __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char * d, char * p)
1164 {
1165 if(d != p)
1166 strcpy(d, p ? p : "");
1167 __ecereNameSpace__ecere__sys__MakeSystemPath(d);
1168 return d;
1169 }
1170
1171 char * __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char * d, char * p)
1172 {
1173 if(d != p)
1174 strcpy(d, p ? p : "");
1175 __ecereNameSpace__ecere__sys__MakeSlashPath(d);
1176 return d;
1177 }
1178
1179 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Open;
1180
1181 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Exists;
1182
1183 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_GetSize;
1184
1185 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Stats;
1186
1187 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FixCase;
1188
1189 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_Find;
1190
1191 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_FindNext;
1192
1193 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_CloseDir;
1194
1195 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_OpenArchive;
1196
1197 int __ecereVMethodID___ecereNameSpace__ecere__sys__FileSystem_QuerySize;
1198
1199 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Tell;
1200
1201 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Truncate;
1202
1203 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Unlock;
1204
1205 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Close;
1206
1207 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
1208
1209 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
1210
1211 struct __ecereNameSpace__ecere__com__NameSpace
1212 {
1213 char *  name;
1214 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
1215 struct __ecereNameSpace__ecere__com__NameSpace *  left;
1216 struct __ecereNameSpace__ecere__com__NameSpace *  right;
1217 int depth;
1218 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
1219 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1220 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1221 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1222 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1223 } __attribute__ ((gcc_struct));
1224
1225 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
1226
1227 struct __ecereNameSpace__ecere__com__Module
1228 {
1229 struct __ecereNameSpace__ecere__com__Instance * application;
1230 struct __ecereNameSpace__ecere__sys__OldList classes;
1231 struct __ecereNameSpace__ecere__sys__OldList defines;
1232 struct __ecereNameSpace__ecere__sys__OldList functions;
1233 struct __ecereNameSpace__ecere__sys__OldList modules;
1234 struct __ecereNameSpace__ecere__com__Instance * prev;
1235 struct __ecereNameSpace__ecere__com__Instance * next;
1236 char *  name;
1237 void *  library;
1238 void *  Unload;
1239 int importType;
1240 int origImportType;
1241 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1242 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1243 } __attribute__ ((gcc_struct));
1244
1245 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
1246
1247 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);
1248
1249 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);
1250
1251 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
1252
1253 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);
1254
1255 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
1256
1257 struct __ecereNameSpace__ecere__com__BitMember;
1258
1259 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);
1260
1261 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);
1262
1263 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
1264
1265 struct __ecereNameSpace__ecere__com__GlobalFunction;
1266
1267 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);
1268
1269 void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1270 {
1271 struct __ecereNameSpace__ecere__com__Class * class;
1272
1273 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize", "uint", 0, 0, 0, 0, module, 1, 1);
1274 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1275 __ecereClass___ecereNameSpace__ecere__sys__FileSize = class;
1276 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnCompare, 1);
1277 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString, 1);
1278 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString, 1);
1279 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize64", "uint64", 0, 0, 0, 0, module, 1, 1);
1280 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1281 __ecereClass___ecereNameSpace__ecere__sys__FileSize64 = class;
1282 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnCompare, 1);
1283 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString, 1);
1284 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString, 1);
1285 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::FileSystem", 0, 0, 0, 0, 0, module, 2, 1);
1286 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1287 __ecereClass___ecereNameSpace__ecere__sys__FileSystem = class;
1288 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Open", "ecere::sys::File ::Open(char * archive, char * name, ecere::sys::FileOpenMode mode)", 0, 2);
1289 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Exists", "ecere::sys::FileAttribs ::Exists(char * archive, char * fileName)", 0, 2);
1290 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "bool ::GetSize(char * archive, char * fileName, ecere::sys::FileSize * size)", 0, 2);
1291 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Stats", "bool ::Stats(char * archive, char * fileName, ecere::sys::FileStats stats)", 0, 2);
1292 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixCase", "void ::FixCase(char * archive, char * fileName)", 0, 2);
1293 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "bool ::Find(FileDesc file, char * archive, char * name)", 0, 2);
1294 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindNext", "bool ::FindNext(FileDesc file)", 0, 2);
1295 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseDir", "void ::CloseDir(FileDesc file)", 0, 2);
1296 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "OpenArchive", "Archive ::OpenArchive(char * fileName, ArchiveOpenFlags create)", 0, 2);
1297 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "QuerySize", "bool ::QuerySize(char * fileName, ecere::sys::FileSize * size)", 0, 2);
1298 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileOpenMode", 0, 0, 0, 0, 0, module, 1, 1);
1299 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1300 __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode = class;
1301 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "read", 1);
1302 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "write", 2);
1303 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "append", 3);
1304 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "readWrite", 4);
1305 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "writeRead", 5);
1306 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "appendRead", 6);
1307 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileSeekMode", 0, 0, 0, 0, 0, module, 1, 1);
1308 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1309 __ecereClass___ecereNameSpace__ecere__sys__FileSeekMode = class;
1310 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "start", 0);
1311 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "current", 1);
1312 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "end", 2);
1313 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileLock", 0, 0, 0, 0, 0, module, 1, 1);
1314 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1315 __ecereClass___ecereNameSpace__ecere__sys__FileLock = class;
1316 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "unlocked", 0);
1317 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "shared", 1);
1318 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "exclusive", 2);
1319 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);
1320 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1321 __ecereClass___ecereNameSpace__ecere__sys__File = class;
1322 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString, 1);
1323 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString, 1);
1324 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "WriteData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData, 1);
1325 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMethod___ecereNameSpace__ecere__sys__File_ReadData, 1);
1326 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Seek", "bool Seek(int pos, ecere::sys::FileSeekMode mode)", __ecereMethod___ecereNameSpace__ecere__sys__File_Seek, 1);
1327 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Tell", "uint Tell(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Tell, 1);
1328 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Read", "int Read(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Read, 1);
1329 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Write", "int Write(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Write, 1);
1330 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Getc", "bool Getc(char * ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Getc, 1);
1331 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Putc", "bool Putc(char ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Putc, 1);
1332 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Puts", "bool Puts(const char * string)", __ecereMethod___ecereNameSpace__ecere__sys__File_Puts, 1);
1333 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Eof", "bool Eof(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Eof, 1);
1334 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Truncate", "bool Truncate(ecere::sys::FileSize size)", __ecereMethod___ecereNameSpace__ecere__sys__File_Truncate, 1);
1335 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "uint GetSize(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetSize, 1);
1336 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseInput", "void CloseInput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseInput, 1);
1337 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseOutput", "void CloseOutput(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_CloseOutput, 1);
1338 __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);
1339 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Unlock", "bool Unlock(uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock, 1);
1340 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Close", "void Close()", __ecereMethod___ecereNameSpace__ecere__sys__File_Close, 1);
1341 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "CopyTo", "bool CopyTo(char * outputFileName)", __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo, 1);
1342 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Flush", "bool Flush(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Flush, 1);
1343 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetDouble", "double GetDouble(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble, 1);
1344 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetFloat", "float GetFloat(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat, 1);
1345 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetHexValue", "unsigned int GetHexValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetHexValue, 1);
1346 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLine", "bool GetLine(char * s, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine, 1);
1347 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetLineEx", "int GetLineEx(char * s, int max, bool * hasNewLineChar)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetLineEx, 1);
1348 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetString", "bool GetString(char * string, int max)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetString, 1);
1349 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetValue", "int GetValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue, 1);
1350 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Print", "void Print(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Print, 1);
1351 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PrintLn", "void PrintLn(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn, 1);
1352 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Printf", "int Printf(char * format, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Printf, 1);
1353 __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);
1354 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1355 __ecereProp___ecereNameSpace__ecere__sys__File_input = __ecerePropM___ecereNameSpace__ecere__sys__File_input, __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1356 __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);
1357 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1358 __ecereProp___ecereNameSpace__ecere__sys__File_output = __ecerePropM___ecereNameSpace__ecere__sys__File_output, __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1359 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffered", "bool", __ecereProp___ecereNameSpace__ecere__sys__File_Set_buffered, 0, 1);
1360 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1361 __ecereProp___ecereNameSpace__ecere__sys__File_buffered = __ecerePropM___ecereNameSpace__ecere__sys__File_buffered, __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1362 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "eof", "bool", 0, __ecereProp___ecereNameSpace__ecere__sys__File_Get_eof, 1);
1363 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
1364 __ecereProp___ecereNameSpace__ecere__sys__File_eof = __ecerePropM___ecereNameSpace__ecere__sys__File_eof, __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1365 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);
1366 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1367 __ecereClass___ecereNameSpace__ecere__sys__ConsoleFile = class;
1368 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::FileAttribs", "bool", 0, 0, 0, 0, module, 1, 1);
1369 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1370 __ecereClass___ecereNameSpace__ecere__sys__FileAttribs = class;
1371 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isFile", "bool", 1, 0, 1);
1372 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isArchive", "bool", 1, 1, 1);
1373 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isHidden", "bool", 1, 2, 1);
1374 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isReadOnly", "bool", 1, 3, 1);
1375 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isSystem", "bool", 1, 4, 1);
1376 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isTemporary", "bool", 1, 5, 1);
1377 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDirectory", "bool", 1, 6, 1);
1378 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isDrive", "bool", 1, 7, 1);
1379 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isCDROM", "bool", 1, 8, 1);
1380 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemote", "bool", 1, 9, 1);
1381 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isRemovable", "bool", 1, 10, 1);
1382 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isServer", "bool", 1, 11, 1);
1383 __ecereNameSpace__ecere__com__eClass_AddBitMember(class, "isShare", "bool", 1, 12, 1);
1384 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::FileStats", 0, sizeof(struct __ecereNameSpace__ecere__sys__FileStats), 0, 0, 0, module, 1, 1);
1385 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
1386 __ecereClass___ecereNameSpace__ecere__sys__FileStats = class;
1387 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "attribs", "ecere::sys::FileAttribs", 4, 4, 1);
1388 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "size", "ecere::sys::FileSize", 4, 4, 1);
1389 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "accessed", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
1390 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "modified", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
1391 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "created", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
1392 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileExists", "ecere::sys::FileAttribs ecere::sys::FileExists(char * fileName)", __ecereNameSpace__ecere__sys__FileExists, module, 1);
1393 __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);
1394 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileFixCase", "void ecere::sys::FileFixCase(char * file)", __ecereNameSpace__ecere__sys__FileFixCase, module, 1);
1395 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetSize", "bool ecere::sys::FileGetSize(char * fileName, ecere::sys::FileSize * size)", __ecereNameSpace__ecere__sys__FileGetSize, module, 1);
1396 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetStats", "bool ecere::sys::FileGetStats(char * fileName, ecere::sys::FileStats stats)", __ecereNameSpace__ecere__sys__FileGetStats, module, 1);
1397 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryFile", "ecere::sys::File ecere::sys::CreateTemporaryFile(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryFile, module, 1);
1398 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryDir", "void ecere::sys::CreateTemporaryDir(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryDir, module, 1);
1399 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSlashPath", "void ecere::sys::MakeSlashPath(char * p)", __ecereNameSpace__ecere__sys__MakeSlashPath, module, 1);
1400 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSystemPath", "void ecere::sys::MakeSystemPath(char * p)", __ecereNameSpace__ecere__sys__MakeSystemPath, module, 1);
1401 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopySystemPath", "char * ecere::sys::CopySystemPath(char * p)", __ecereNameSpace__ecere__sys__CopySystemPath, module, 1);
1402 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyUnixPath", "char * ecere::sys::CopyUnixPath(char * p)", __ecereNameSpace__ecere__sys__CopyUnixPath, module, 1);
1403 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSystemPathBuffer", "char * ecere::sys::GetSystemPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSystemPathBuffer, module, 1);
1404 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSlashPathBuffer", "char * ecere::sys::GetSlashPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSlashPathBuffer, module, 1);
1405 }
1406
1407 void __ecereUnregisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
1408 {
1409
1410 __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
1411 __ecerePropM___ecereNameSpace__ecere__sys__File_output = (void *)0;
1412 __ecerePropM___ecereNameSpace__ecere__sys__File_buffered = (void *)0;
1413 __ecerePropM___ecereNameSpace__ecere__sys__File_eof = (void *)0;
1414 }
1415