summaryrefslogtreecommitdiff
path: root/gio/src/file.ccg
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2022-09-01 14:58:06 +0200
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2022-09-01 14:58:06 +0200
commitf06d92b70c0eb81e0c1a2741f0009ef25f67e3d7 (patch)
tree570bb6ed63b95f3e20a7d99d98f53b5d6eba69cc /gio/src/file.ccg
parent300f4dadc6be845024f15bafb527baa2905cb859 (diff)
downloadglibmm-f06d92b70c0eb81e0c1a2741f0009ef25f67e3d7.tar.gz
Gio::File: Add create_tmp()
* gio/src/file.[ccg|hg]: Add create_tmp(). Document create_for_parse_name(). * tests/giomm_simple/main.cc: Test File::create_tmp().
Diffstat (limited to 'gio/src/file.ccg')
-rw-r--r--gio/src/file.ccg12
1 files changed, 12 insertions, 0 deletions
diff --git a/gio/src/file.ccg b/gio/src/file.ccg
index adef931e..8e8204a9 100644
--- a/gio/src/file.ccg
+++ b/gio/src/file.ccg
@@ -189,6 +189,18 @@ File::create_for_commandline_arg(const std::string& arg)
return Glib::wrap(G_FILE(cfile));
}
+std::pair<Glib::RefPtr<File>, Glib::RefPtr<FileIOStream>>
+File::create_tmp(const std::string& tmpl)
+{
+ GError* gerror = nullptr;
+ GFileIOStream* ciostream = nullptr;
+ GFile* cfile = g_file_new_tmp(tmpl.empty() ? nullptr : tmpl.c_str(), &ciostream, &gerror);
+ if (gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return {Glib::wrap(cfile), Glib::wrap(ciostream)};
+}
+
Glib::RefPtr<File>
File::create_for_parse_name(const Glib::ustring& parse_name)
{