From b8aeefaffb2ecdc9da5594a49cfba87a84e55d4e Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 17 Feb 2007 18:55:51 +0000 Subject: Added finalize() method to Common::OutSaveFile (which by default just flushes the stream), changed engines to call that before deleting OutSaveFile instances (instead of just flushing) svn-id: r25660 --- common/savefile.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'common') diff --git a/common/savefile.h b/common/savefile.h index cacb0bfaff..1e48bafdfd 100644 --- a/common/savefile.h +++ b/common/savefile.h @@ -41,7 +41,20 @@ class InSaveFile : public SeekableReadStream {}; * That typically means "save games", but also includes things like the * IQ points in Indy3. */ -class OutSaveFile : public WriteStream {}; +class OutSaveFile : public WriteStream { +public: + /** + * Close this savefile, to be called right before destruction of this + * savefile. The idea is that this ways, I/O errors that occur + * during closing/flushing of the file can still be handled by the + * game engine. + * + * By default, this just flushes the stream. + */ + virtual void finalize() { + flush(); + } +}; /** * Convenience intermediate class, to be removed. -- cgit v1.2.3