aboutsummaryrefslogtreecommitdiffstats
path: root/util/system/tempfile.cpp
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /util/system/tempfile.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'util/system/tempfile.cpp')
-rw-r--r--util/system/tempfile.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/util/system/tempfile.cpp b/util/system/tempfile.cpp
new file mode 100644
index 0000000000..a2e9f49eb1
--- /dev/null
+++ b/util/system/tempfile.cpp
@@ -0,0 +1,25 @@
+#include "tempfile.h"
+
+TTempFileHandle::TTempFileHandle()
+ : TTempFile(MakeTempName())
+ , TFile(CreateFile())
+{
+}
+
+TTempFileHandle::TTempFileHandle(const TString& fname)
+ : TTempFile(fname)
+ , TFile(CreateFile())
+{
+}
+
+TTempFileHandle TTempFileHandle::InCurrentDir(const TString& filePrefix, const TString& extension) {
+ return TTempFileHandle(MakeTempName(".", filePrefix.c_str(), extension.c_str()));
+}
+
+TTempFileHandle TTempFileHandle::InDir(const TFsPath& dirPath, const TString& filePrefix, const TString& extension) {
+ return TTempFileHandle(MakeTempName(dirPath.c_str(), filePrefix.c_str(), extension.c_str()));
+}
+
+TFile TTempFileHandle::CreateFile() const {
+ return TFile(Name(), CreateAlways | RdWr);
+}