diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-09-01 14:58:06 +0200 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-09-01 14:58:06 +0200 |
commit | f06d92b70c0eb81e0c1a2741f0009ef25f67e3d7 (patch) | |
tree | 570bb6ed63b95f3e20a7d99d98f53b5d6eba69cc /gio/src/file.ccg | |
parent | 300f4dadc6be845024f15bafb527baa2905cb859 (diff) | |
download | glibmm-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.ccg | 12 |
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) { |