Use dcp::File in DCP-o-matic (#2231).
[dcpomatic.git] / src / lib / scoped_temporary.h
index 75d9a272f74dab5341e2e3173bce935a90f501b9..b78f60541089fc6ed7833e69b8c05e965f0b4720 100644 (file)
@@ -19,7 +19,9 @@
 */
 
 
+#include <dcp/file.h>
 #include <boost/filesystem.hpp>
+#include <boost/optional.hpp>
 #include <cstdio>
 
 
@@ -35,16 +37,15 @@ public:
        ScopedTemporary (ScopedTemporary const&) = delete;
        ScopedTemporary& operator= (ScopedTemporary const&) = delete;
 
-       /** @return temporary filename */
-       boost::filesystem::path file () const {
-               return _file;
+       /** @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 = nullptr;
+       boost::filesystem::path _path;
+       boost::optional<dcp::File> _file;
 };