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 }