Mercurial > projects > dwt-linux
annotate dwt/dwthelper/FileOutputStream.d @ 356:8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
author | John Reimer <terminal.node@gmail.com> |
---|---|
date | Sun, 04 Jan 2009 02:47:54 -0500 |
parents | a2166f25ce17 |
children | ee1dd551f5b1 |
rev | line source |
---|---|
12 | 1 /** |
2 * Authors: Frank Benoit <keinfarbton@googlemail.com> | |
3 */ | |
4 module dwt.dwthelper.FileOutputStream; | |
5 | |
6 public import dwt.dwthelper.File; | |
7 public import dwt.dwthelper.OutputStream; | |
8 | |
9 import dwt.dwthelper.utils; | |
10 | |
316 | 11 version(TANGOSVN){ |
356
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
12 import tango.io.device.File; |
316 | 13 } else { |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
14 import tango.io.FileConduit; |
316 | 15 } |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
16 |
12 | 17 public class FileOutputStream : dwt.dwthelper.OutputStream.OutputStream { |
18 | |
19 alias dwt.dwthelper.OutputStream.OutputStream.write write; | |
20 alias dwt.dwthelper.OutputStream.OutputStream.close close; | |
356
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
21 |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
22 version(TANGOSVN) |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
23 tango.io.device.File.File fc; |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
24 else |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
25 FileConduit fc; |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
26 |
238 | 27 public this ( String name ){ |
356
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
28 version(TANGOSVN) |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
29 fc = new tango.io.device.File.File( name, tango.io.device.File.File.WriteCreate ); |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
30 else |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
31 fc = new FileConduit( name, FileConduit.WriteCreate ); |
12 | 32 } |
33 | |
238 | 34 public this ( String name, bool append ){ |
356
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
35 version(TANGOSVN) |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
36 fc = new tango.io.device.File.File( name, append ? tango.io.device.File.File.WriteAppending : tango.io.device.File.File.WriteCreate ); |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
37 else |
8ebacc5c07dc
Fixes for TANGOSVN r4235 -- still some warnings but builds
John Reimer <terminal.node@gmail.com>
parents:
316
diff
changeset
|
38 fc = new FileConduit( name, append ? FileConduit.WriteAppending : FileConduit.WriteCreate ); |
12 | 39 } |
40 | |
41 public this ( dwt.dwthelper.File.File file ){ | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
42 this( file.toString ); |
12 | 43 } |
44 | |
45 public this ( dwt.dwthelper.File.File file, bool append ){ | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
46 this( file.toString, append ); |
12 | 47 } |
48 | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
49 public override void write( int b ){ |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
50 ubyte[1] a; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
51 a[0] = b & 0xFF; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
52 fc.write(a); |
12 | 53 } |
54 | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
55 public override void close(){ |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
56 fc.close(); |
12 | 57 } |
58 | |
59 public void finalize(){ | |
60 implMissing( __FILE__, __LINE__ ); | |
61 } | |
62 | |
63 | |
64 } | |
65 | |
66 |