Mercurial > projects > orange
comparison orange/serialization/archives/Archive.d @ 18:3d42ea434d46
Added an error callback. Fixes #3 and #4.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Thu, 12 Aug 2010 23:24:51 +0200 |
parents | 99c52d46822a |
children | 9a575087b961 |
comparison
equal
deleted
inserted
replaced
17:c4e7e64ffb67 | 18:3d42ea434d46 |
---|---|
26 abstract class Archive (U) : IArchive | 26 abstract class Archive (U) : IArchive |
27 { | 27 { |
28 version (Tango) alias U[] DataType; | 28 version (Tango) alias U[] DataType; |
29 else mixin ("alias immutable(U)[] DataType;"); | 29 else mixin ("alias immutable(U)[] DataType;"); |
30 | 30 |
31 alias void delegate (ArchiveException exception, DataType[] data) ErrorCallback; | |
32 | |
33 ErrorCallback errorCallback; | |
34 | |
31 abstract void beginArchiving (); | 35 abstract void beginArchiving (); |
32 abstract void beginUnarchiving (DataType data); | 36 abstract void beginUnarchiving (DataType data); |
33 abstract DataType data (); | 37 abstract DataType data (); |
34 abstract void reset (); | 38 abstract void reset (); |
35 | 39 |
47 try | 51 try |
48 return to!(T)(value); | 52 return to!(T)(value); |
49 | 53 |
50 catch (ConversionException e) | 54 catch (ConversionException e) |
51 throw new ArchiveException(e); | 55 throw new ArchiveException(e); |
52 } | 56 } |
53 } | 57 } |