5c06a5b4e110fa1fbe9fd95f6902e16d47bb030d
[sdk] / compiler / bootstrap / ecere / bootstrap / TempFile.c
1 /* Code generated from eC source file: TempFile.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #   else
42 #      define ecere_stdcall __stdcall
43 #   endif
44 #else
45 #   define ecere_stdcall
46 #endif
47 #include <stdint.h>
48 #include <sys/types.h>
49 struct __ecereNameSpace__ecere__sys__TempFile
50 {
51 unsigned char * buffer;
52 unsigned int size;
53 unsigned int position;
54 unsigned int eof;
55 int openMode;
56 unsigned int allocated;
57 } __attribute__ ((gcc_struct));
58
59 struct __ecereNameSpace__ecere__sys__BTNode;
60
61 struct __ecereNameSpace__ecere__sys__OldList
62 {
63 void *  first;
64 void *  last;
65 int count;
66 unsigned int offset;
67 unsigned int circ;
68 } __attribute__ ((gcc_struct));
69
70 struct __ecereNameSpace__ecere__com__DataValue
71 {
72 union
73 {
74 char c;
75 unsigned char uc;
76 short s;
77 unsigned short us;
78 int i;
79 unsigned int ui;
80 void *  p;
81 float f;
82 double d;
83 long long i64;
84 uint64 ui64;
85 } __attribute__ ((gcc_struct)) __anon1;
86 } __attribute__ ((gcc_struct));
87
88 struct __ecereNameSpace__ecere__com__SerialBuffer
89 {
90 unsigned char *  _buffer;
91 unsigned int count;
92 unsigned int _size;
93 unsigned int pos;
94 } __attribute__ ((gcc_struct));
95
96 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
97
98 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
99
100 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
101
102 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
103
104 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
105
106 extern void *  memcpy(void * , const void * , size_t size);
107
108 extern size_t strlen(const char * );
109
110 struct __ecereNameSpace__ecere__com__Property;
111
112 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
113
114 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode, * __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode;
115
116 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__TempFile_buffer, * __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer;
117
118 struct __ecereNameSpace__ecere__com__Class;
119
120 struct __ecereNameSpace__ecere__com__Instance
121 {
122 void * *  _vTbl;
123 struct __ecereNameSpace__ecere__com__Class * _class;
124 int _refCount;
125 } __attribute__ ((gcc_struct));
126
127 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
128
129 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
130
131 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
132
133 struct __ecereNameSpace__ecere__com__Property
134 {
135 struct __ecereNameSpace__ecere__com__Property * prev;
136 struct __ecereNameSpace__ecere__com__Property * next;
137 const char *  name;
138 unsigned int isProperty;
139 int memberAccess;
140 int id;
141 struct __ecereNameSpace__ecere__com__Class * _class;
142 const char *  dataTypeString;
143 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
144 struct __ecereNameSpace__ecere__com__Instance * dataType;
145 void (*  Set)(void * , int);
146 int (*  Get)(void * );
147 unsigned int (*  IsSet)(void * );
148 void *  data;
149 void *  symbol;
150 int vid;
151 unsigned int conversion;
152 unsigned int watcherOffset;
153 const char *  category;
154 unsigned int compiled;
155 unsigned int selfWatchable;
156 unsigned int isWatchable;
157 } __attribute__ ((gcc_struct));
158
159 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
160
161 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
162
163 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
164
165 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
166
167 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
168
169 int __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_openMode(struct __ecereNameSpace__ecere__com__Instance * this);
170
171 void __ecereProp___ecereNameSpace__ecere__sys__TempFile_Set_openMode(struct __ecereNameSpace__ecere__com__Instance * this, int value);
172
173 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
174
175 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
176
177 struct __ecereNameSpace__ecere__sys__BinaryTree;
178
179 struct __ecereNameSpace__ecere__sys__BinaryTree
180 {
181 struct __ecereNameSpace__ecere__sys__BTNode * root;
182 int count;
183 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
184 void (*  FreeKey)(void *  key);
185 } __attribute__ ((gcc_struct));
186
187 struct __ecereNameSpace__ecere__com__DataMember;
188
189 struct __ecereNameSpace__ecere__com__DataMember
190 {
191 struct __ecereNameSpace__ecere__com__DataMember * prev;
192 struct __ecereNameSpace__ecere__com__DataMember * next;
193 const char *  name;
194 unsigned int isProperty;
195 int memberAccess;
196 int id;
197 struct __ecereNameSpace__ecere__com__Class * _class;
198 const char *  dataTypeString;
199 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
200 struct __ecereNameSpace__ecere__com__Instance * dataType;
201 int type;
202 int offset;
203 int memberID;
204 struct __ecereNameSpace__ecere__sys__OldList members;
205 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
206 int memberOffset;
207 short structAlignment;
208 short pointerAlignment;
209 } __attribute__ ((gcc_struct));
210
211 struct __ecereNameSpace__ecere__com__Method;
212
213 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
214 {
215 union
216 {
217 struct
218 {
219 const char *  dataTypeString;
220 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
221 } __attribute__ ((gcc_struct)) __anon1;
222 struct __ecereNameSpace__ecere__com__DataValue expression;
223 struct
224 {
225 const char *  memberString;
226 union
227 {
228 struct __ecereNameSpace__ecere__com__DataMember * member;
229 struct __ecereNameSpace__ecere__com__Property * prop;
230 struct __ecereNameSpace__ecere__com__Method * method;
231 } __attribute__ ((gcc_struct)) __anon1;
232 } __attribute__ ((gcc_struct)) __anon2;
233 } __attribute__ ((gcc_struct)) __anon1;
234 } __attribute__ ((gcc_struct));
235
236 struct __ecereNameSpace__ecere__com__Method
237 {
238 const char *  name;
239 struct __ecereNameSpace__ecere__com__Method * parent;
240 struct __ecereNameSpace__ecere__com__Method * left;
241 struct __ecereNameSpace__ecere__com__Method * right;
242 int depth;
243 int (*  function)();
244 int vid;
245 int type;
246 struct __ecereNameSpace__ecere__com__Class * _class;
247 void *  symbol;
248 const char *  dataTypeString;
249 struct __ecereNameSpace__ecere__com__Instance * dataType;
250 int memberAccess;
251 } __attribute__ ((gcc_struct));
252
253 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
254
255 struct __ecereNameSpace__ecere__com__Module;
256
257 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
258
259 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
260
261 struct __ecereNameSpace__ecere__com__NameSpace;
262
263 struct __ecereNameSpace__ecere__com__NameSpace
264 {
265 const char *  name;
266 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
267 struct __ecereNameSpace__ecere__com__NameSpace *  left;
268 struct __ecereNameSpace__ecere__com__NameSpace *  right;
269 int depth;
270 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
271 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
272 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
273 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
274 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
275 } __attribute__ ((gcc_struct));
276
277 struct __ecereNameSpace__ecere__com__Class
278 {
279 struct __ecereNameSpace__ecere__com__Class * prev;
280 struct __ecereNameSpace__ecere__com__Class * next;
281 const char *  name;
282 int offset;
283 int structSize;
284 void * *  _vTbl;
285 int vTblSize;
286 unsigned int (*  Constructor)(void * );
287 void (*  Destructor)(void * );
288 int offsetClass;
289 int sizeClass;
290 struct __ecereNameSpace__ecere__com__Class * base;
291 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
292 struct __ecereNameSpace__ecere__sys__BinaryTree members;
293 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
294 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
295 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
296 struct __ecereNameSpace__ecere__sys__OldList derivatives;
297 int memberID;
298 int startMemberID;
299 int type;
300 struct __ecereNameSpace__ecere__com__Instance * module;
301 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
302 const char *  dataTypeString;
303 struct __ecereNameSpace__ecere__com__Instance * dataType;
304 int typeSize;
305 int defaultAlignment;
306 void (*  Initialize)();
307 int memberOffset;
308 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
309 const char *  designerClass;
310 unsigned int noExpansion;
311 const char *  defaultProperty;
312 unsigned int comRedefinition;
313 int count;
314 int isRemote;
315 unsigned int internalDecl;
316 void *  data;
317 unsigned int computeSize;
318 short structAlignment;
319 short pointerAlignment;
320 int destructionWatchOffset;
321 unsigned int fixed;
322 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
323 int inheritanceAccess;
324 const char *  fullName;
325 void *  symbol;
326 struct __ecereNameSpace__ecere__sys__OldList conversions;
327 struct __ecereNameSpace__ecere__sys__OldList templateParams;
328 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
329 struct __ecereNameSpace__ecere__com__Class * templateClass;
330 struct __ecereNameSpace__ecere__sys__OldList templatized;
331 int numParams;
332 unsigned int isInstanceClass;
333 unsigned int byValueSystemClass;
334 } __attribute__ ((gcc_struct));
335
336 struct __ecereNameSpace__ecere__com__Application
337 {
338 int argc;
339 const char * *  argv;
340 int exitCode;
341 unsigned int isGUIApp;
342 struct __ecereNameSpace__ecere__sys__OldList allModules;
343 char *  parsedCommand;
344 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
345 } __attribute__ ((gcc_struct));
346
347 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
348
349 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
350
351 struct __ecereNameSpace__ecere__com__Module
352 {
353 struct __ecereNameSpace__ecere__com__Instance * application;
354 struct __ecereNameSpace__ecere__sys__OldList classes;
355 struct __ecereNameSpace__ecere__sys__OldList defines;
356 struct __ecereNameSpace__ecere__sys__OldList functions;
357 struct __ecereNameSpace__ecere__sys__OldList modules;
358 struct __ecereNameSpace__ecere__com__Instance * prev;
359 struct __ecereNameSpace__ecere__com__Instance * next;
360 const char *  name;
361 void *  library;
362 void *  Unload;
363 int importType;
364 int origImportType;
365 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
366 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
367 } __attribute__ ((gcc_struct));
368
369 unsigned int __ecereConstructor___ecereNameSpace__ecere__sys__TempFile(struct __ecereNameSpace__ecere__com__Instance * this)
370 {
371 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
372
373 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode = 5;
374 return 1;
375 }
376
377 void __ecereDestructor___ecereNameSpace__ecere__sys__TempFile(struct __ecereNameSpace__ecere__com__Instance * this)
378 {
379 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
380
381 {
382 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer), __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = 0);
383 }
384 }
385
386 int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Read(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * buffer, unsigned int size, unsigned int count)
387 {
388 int __simpleStruct0;
389 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
390 int readSize = size * count;
391 int read = (__simpleStruct0 = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, (readSize < __simpleStruct0) ? readSize : __simpleStruct0);
392
393 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
394 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof = 1;
395 if(buffer)
396 memcpy(buffer, __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer + __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, read);
397 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += read;
398 return read / size;
399 }
400
401 int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * buffer, unsigned int size, unsigned int count)
402 {
403 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
404 int writeSize = size * count;
405 int written = writeSize;
406
407 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position < writeSize)
408 {
409 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size += writeSize - (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position);
410 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated < __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
411 {
412 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated *= 2;
413 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated < __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
414 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size * 2;
415 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated));
416 }
417 }
418 memcpy(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer + __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position, buffer, writeSize);
419 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += written;
420 return written / size;
421 }
422
423 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Getc(struct __ecereNameSpace__ecere__com__Instance * this, char * ch)
424 {
425 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
426 int read = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
427 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
428
429 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
430 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, ch, 1, 1);
431
432 return !__ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof && read != 0;
433 }
434
435 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
436 {
437 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
438 int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
439 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
440
441 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
442 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, &ch, 1, 1);
443
444 return written != 0;
445 }
446
447 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
448 {
449 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
450 int len = string ? strlen(string) : 0;
451 int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
452 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
453
454 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
455 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, string, 1, len);
456
457 return written == len;
458 }
459
460 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Seek(struct __ecereNameSpace__ecere__com__Instance * this, int pos, int mode)
461 {
462 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
463 unsigned int result = 1;
464 unsigned int increase = 0;
465
466 switch(mode)
467 {
468 case 0:
469 {
470 if(pos >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
471 {
472 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
473 {
474 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = pos;
475 increase = pos - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
476 }
477 else
478 {
479 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
480 result = 0;
481 }
482 }
483 else if(pos < 0)
484 {
485 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
486 result = 0;
487 }
488 else
489 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = pos;
490 break;
491 }
492 case 1:
493 {
494 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position + pos >= __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
495 {
496 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
497 {
498 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += pos;
499 increase = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
500 }
501 else
502 {
503 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
504 result = 0;
505 }
506 }
507 else if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position + pos < 0)
508 {
509 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
510 result = 0;
511 }
512 else
513 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += pos;
514 break;
515 }
516 case 2:
517 {
518 if((int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos >= (int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size)
519 {
520 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode == 4)
521 {
522 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos;
523 increase = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position - __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
524 }
525 else
526 {
527 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
528 result = 0;
529 }
530 }
531 else if((int)__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos < 0)
532 {
533 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = 0;
534 result = 0;
535 }
536 else
537 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size + pos;
538 break;
539 }
540 }
541 if(result)
542 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof = 0;
543 if(increase)
544 {
545 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size += increase;
546 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (__ecerePointer___ecereNameSpace__ecere__sys__TempFile->size));
547 }
548 return result;
549 }
550
551 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Tell(struct __ecereNameSpace__ecere__com__Instance * this)
552 {
553 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
554
555 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position;
556 }
557
558 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Eof(struct __ecereNameSpace__ecere__com__Instance * this)
559 {
560 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
561
562 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->eof;
563 }
564
565 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_GetSize(struct __ecereNameSpace__ecere__com__Instance * this)
566 {
567 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
568
569 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size;
570 }
571
572 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Truncate(struct __ecereNameSpace__ecere__com__Instance * this, unsigned int size)
573 {
574 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
575
576 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer, sizeof(unsigned char) * (size));
577 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->size = (unsigned int)size;
578 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->allocated = (unsigned int)size;
579 if(__ecerePointer___ecereNameSpace__ecere__sys__TempFile->position > size)
580 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position = (unsigned int)size;
581 return 1;
582 }
583
584 int __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_openMode(struct __ecereNameSpace__ecere__com__Instance * this)
585 {
586 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
587
588 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode;
589 }
590
591 void __ecereProp___ecereNameSpace__ecere__sys__TempFile_Set_openMode(struct __ecereNameSpace__ecere__com__Instance * this, int value)
592 {
593 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
594
595 __ecerePointer___ecereNameSpace__ecere__sys__TempFile->openMode = value;
596 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode);
597 }
598
599 unsigned char *  __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_buffer(struct __ecereNameSpace__ecere__com__Instance * this)
600 {
601 __attribute__((unused)) struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
602
603 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer;
604 }
605
606 void __ecereUnregisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
607 {
608
609 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = (void *)0;
610 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = (void *)0;
611 }
612
613 void __ecereRegisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
614 {
615 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
616
617 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::TempFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__TempFile), 0, (void *)__ecereConstructor___ecereNameSpace__ecere__sys__TempFile, (void *)__ecereDestructor___ecereNameSpace__ecere__sys__TempFile, module, 1, 1);
618 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
619 __ecereClass___ecereNameSpace__ecere__sys__TempFile = class;
620 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Seek", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Seek, 1);
621 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Tell", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Tell, 1);
622 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Read", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Read, 1);
623 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Write", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write, 1);
624 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Getc", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Getc, 1);
625 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Putc", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Putc, 1);
626 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Puts", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts, 1);
627 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Eof", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Eof, 1);
628 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Truncate", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Truncate, 1);
629 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetSize", 0, __ecereMethod___ecereNameSpace__ecere__sys__TempFile_GetSize, 1);
630 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "openMode", "ecere::sys::FileOpenMode", __ecereProp___ecereNameSpace__ecere__sys__TempFile_Set_openMode, __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_openMode, 1);
631 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
632 __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode = __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode = (void *)0;
633 __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "buffer", "byte *", 0, __ecereProp___ecereNameSpace__ecere__sys__TempFile_Get_buffer, 1);
634 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application)
635 __ecereProp___ecereNameSpace__ecere__sys__TempFile_buffer = __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer, __ecerePropM___ecereNameSpace__ecere__sys__TempFile_buffer = (void *)0;
636 }
637