From eaf0662b75e8e074dbfe950aa9f408e4ad806bcc Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 14 Jan 2015 19:43:19 +0100 Subject: fs/io/FileOutputStream: add static method Create() --- src/fs/io/FileOutputStream.cxx | 12 ++++++++++++ src/fs/io/FileOutputStream.hxx | 1 + 2 files changed, 13 insertions(+) (limited to 'src/fs/io') diff --git a/src/fs/io/FileOutputStream.cxx b/src/fs/io/FileOutputStream.cxx index 7a6416557..11b5b2351 100644 --- a/src/fs/io/FileOutputStream.cxx +++ b/src/fs/io/FileOutputStream.cxx @@ -22,6 +22,18 @@ #include "fs/FileSystem.hxx" #include "util/Error.hxx" +FileOutputStream * +FileOutputStream::Create(Path path, Error &error) +{ + FileOutputStream *f = new FileOutputStream(path, error); + if (!f->IsDefined()) { + delete f; + f = nullptr; + } + + return f; +} + #ifdef WIN32 FileOutputStream::FileOutputStream(Path _path, Error &error) diff --git a/src/fs/io/FileOutputStream.hxx b/src/fs/io/FileOutputStream.hxx index 03d062134..f66554ec9 100644 --- a/src/fs/io/FileOutputStream.hxx +++ b/src/fs/io/FileOutputStream.hxx @@ -58,6 +58,7 @@ public: Cancel(); } + static FileOutputStream *Create(Path path, Error &error); bool IsDefined() const { #ifdef WIN32 -- cgit v1.2.3