X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fscoped_temporary.h;h=b78f60541089fc6ed7833e69b8c05e965f0b4720;hb=182b9d2e2feb6545592868606aaf0f0146095481;hp=986f565a0896a64e507eba34ba7bdbc1d8c94d14;hpb=7d293a3268c320f474d42fef15548635c3cb40b0;p=dcpomatic.git diff --git a/src/lib/scoped_temporary.h b/src/lib/scoped_temporary.h index 986f565a0..b78f60541 100644 --- a/src/lib/scoped_temporary.h +++ b/src/lib/scoped_temporary.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2018 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,29 +18,34 @@ */ + +#include #include -#include +#include #include + /** @class ScopedTemporary * @brief A temporary file which is deleted when the ScopedTemporary object goes out of scope. */ -class ScopedTemporary : public boost::noncopyable +class ScopedTemporary { public: ScopedTemporary (); ~ScopedTemporary (); - /** @return temporary filename */ - boost::filesystem::path file () const { - return _file; + ScopedTemporary (ScopedTemporary const&) = delete; + ScopedTemporary& operator= (ScopedTemporary const&) = delete; + + /** @return temporary pathname */ + boost::filesystem::path path () const { + return _path; } char const * c_str () const; - FILE* open (char const *); - void close (); + dcp::File& open (char const *); private: - boost::filesystem::path _file; - FILE* _open; + boost::filesystem::path _path; + boost::optional _file; };