/*
- Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+#include <dcp/file.h>
#include <boost/filesystem.hpp>
+#include <boost/optional.hpp>
#include <cstdio>
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;
+ boost::filesystem::path _path;
+ boost::optional<dcp::File> _file;
};