1 // Generated by gmmproc 2.64.2 -- DO NOT MODIFY!
2
3
4 #include <glibmm.h>
5
6 #include <glibmm/miscutils.h>
7 #include <glibmm/private/miscutils_p.h>
8
9
10 /* Copyright (C) 2002 The gtkmm Development Team
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
24 */
25
26 #include <cstddef>
27 #include <cstring>
28
29 #include <glibmm/miscutils.h>
30 #include <glibmm/utility.h>
31 #include <glib.h>
32
33 namespace Glib
34 {
35
36 Glib::ustring
get_application_name()37 get_application_name()
38 {
39 return convert_const_gchar_ptr_to_ustring(g_get_application_name());
40 }
41
42 void
set_application_name(const Glib::ustring & application_name)43 set_application_name(const Glib::ustring& application_name)
44 {
45 g_set_application_name(application_name.c_str());
46 }
47
48 std::string
get_prgname()49 get_prgname()
50 {
51 return convert_const_gchar_ptr_to_stdstring(g_get_prgname());
52 }
53
54 void
set_prgname(const std::string & prgname)55 set_prgname(const std::string& prgname)
56 {
57 g_set_prgname(prgname.c_str());
58 }
59
60 std::string
getenv(const std::string & variable,bool & found)61 getenv(const std::string& variable, bool& found)
62 {
63 const char* const value = g_getenv(variable.c_str());
64 found = (value != nullptr);
65 return convert_const_gchar_ptr_to_stdstring(value);
66 }
67
68 std::string
getenv(const std::string & variable)69 getenv(const std::string& variable)
70 {
71 return convert_const_gchar_ptr_to_stdstring(g_getenv(variable.c_str()));
72 }
73
74 bool
setenv(const std::string & variable,const std::string & value,bool overwrite)75 setenv(const std::string& variable, const std::string& value, bool overwrite)
76 {
77 return g_setenv(variable.c_str(), value.c_str(), overwrite);
78 }
79
80 void
unsetenv(const std::string & variable)81 unsetenv(const std::string& variable)
82 {
83 g_unsetenv(variable.c_str());
84 }
85
86 Glib::ArrayHandle<std::string>
listenv()87 listenv()
88 {
89 char** value = g_listenv();
90 char** end = value;
91 while (*end)
92 {
93 ++end;
94 }
95 return Glib::ArrayHandle<std::string>(value, end - value, Glib::OWNERSHIP_DEEP);
96 }
97
98 std::string
get_user_name()99 get_user_name()
100 {
101 return convert_const_gchar_ptr_to_stdstring(g_get_user_name());
102 }
103
104 std::string
get_real_name()105 get_real_name()
106 {
107 return convert_const_gchar_ptr_to_stdstring(g_get_real_name());
108 }
109
110 Glib::ustring
get_host_name()111 get_host_name()
112 {
113 return convert_const_gchar_ptr_to_ustring(g_get_host_name());
114 }
115
116 std::string
get_home_dir()117 get_home_dir()
118 {
119 return convert_const_gchar_ptr_to_stdstring(g_get_home_dir());
120 }
121
122 std::string
get_tmp_dir()123 get_tmp_dir()
124 {
125 return convert_const_gchar_ptr_to_stdstring(g_get_tmp_dir());
126 }
127
128 std::string
get_current_dir()129 get_current_dir()
130 {
131 return convert_return_gchar_ptr_to_stdstring(g_get_current_dir());
132 }
133
134 #ifndef GLIBMM_DISABLE_DEPRECATED
135 std::string
get_user_special_dir(GUserDirectory directory)136 get_user_special_dir(GUserDirectory directory)
137 {
138 return convert_const_gchar_ptr_to_stdstring(g_get_user_special_dir(directory));
139 }
140 #endif // GLIBMM_DISABLE_DEPRECATED
141
142 std::string
get_user_special_dir(UserDirectory directory)143 get_user_special_dir(UserDirectory directory)
144 {
145 return convert_const_gchar_ptr_to_stdstring(g_get_user_special_dir((GUserDirectory)directory));
146 }
147
148 std::string
get_user_data_dir()149 get_user_data_dir()
150 {
151 return convert_const_gchar_ptr_to_stdstring(g_get_user_data_dir());
152 }
153
154 std::string
get_user_config_dir()155 get_user_config_dir()
156 {
157 return convert_const_gchar_ptr_to_stdstring(g_get_user_config_dir());
158 }
159
160 std::vector<std::string>
get_system_data_dirs()161 get_system_data_dirs()
162 {
163 // TODO: Use a utility function:
164 std::vector<std::string> result;
165 const char* const* cresult = g_get_system_data_dirs();
166 if (!cresult)
167 return result;
168
169 for (const gchar* const* iter = cresult; *iter != nullptr; ++iter)
170 {
171 result.emplace_back(convert_const_gchar_ptr_to_stdstring(*iter));
172 }
173
174 return result;
175 }
176
177 std::vector<std::string>
get_system_config_dirs()178 get_system_config_dirs()
179 {
180 // TODO: Use a utility function:
181 std::vector<std::string> result;
182 const char* const* cresult = g_get_system_config_dirs();
183 if (!cresult)
184 return result;
185
186 for (const gchar* const* iter = cresult; *iter != nullptr; ++iter)
187 {
188 result.emplace_back(convert_const_gchar_ptr_to_stdstring(*iter));
189 }
190
191 return result;
192 }
193
194 std::string
get_user_cache_dir()195 get_user_cache_dir()
196 {
197 return convert_const_gchar_ptr_to_stdstring(g_get_user_cache_dir());
198 }
199
200 std::string
get_user_runtime_dir()201 get_user_runtime_dir()
202 {
203 return convert_const_gchar_ptr_to_stdstring(g_get_user_runtime_dir());
204 }
205
206 bool
path_is_absolute(const std::string & filename)207 path_is_absolute(const std::string& filename)
208 {
209 return (g_path_is_absolute(filename.c_str()) != 0);
210 }
211
212 std::string
path_skip_root(const std::string & filename)213 path_skip_root(const std::string& filename)
214 {
215 // g_path_skip_root() returns a pointer _into_ the argument string,
216 // or NULL if there was no root component.
217 return convert_const_gchar_ptr_to_stdstring(g_path_skip_root(filename.c_str()));
218 }
219
220 std::string
path_get_basename(const std::string & filename)221 path_get_basename(const std::string& filename)
222 {
223 return convert_return_gchar_ptr_to_stdstring(g_path_get_basename(filename.c_str()));
224 }
225
226 std::string
path_get_dirname(const std::string & filename)227 path_get_dirname(const std::string& filename)
228 {
229 return convert_return_gchar_ptr_to_stdstring(g_path_get_dirname(filename.c_str()));
230 }
231
232 std::string
canonicalize_filename(StdStringView filename,StdStringView relative_to)233 canonicalize_filename(StdStringView filename, StdStringView relative_to)
234 {
235 return convert_return_gchar_ptr_to_stdstring(g_canonicalize_filename(
236 filename.c_str(), relative_to.c_str()));
237 }
238
239 std::string
build_filename(const Glib::ArrayHandle<std::string> & elements)240 build_filename(const Glib::ArrayHandle<std::string>& elements)
241 {
242 return convert_return_gchar_ptr_to_stdstring(
243 g_build_filenamev(const_cast<char**>(elements.data())));
244 }
245
246 std::string
build_filename(const std::string & elem1,const std::string & elem2)247 build_filename(const std::string& elem1, const std::string& elem2)
248 {
249 return convert_return_gchar_ptr_to_stdstring(
250 g_build_filename(elem1.c_str(), elem2.c_str(), nullptr));
251 }
252
253 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3)254 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3)
255 {
256 return convert_return_gchar_ptr_to_stdstring(
257 g_build_filename(elem1.c_str(), elem2.c_str(), elem3.c_str(), nullptr));
258 }
259
260 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4)261 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
262 const std::string& elem4)
263 {
264 return convert_return_gchar_ptr_to_stdstring(
265 g_build_filename(elem1.c_str(), elem2.c_str(), elem3.c_str(), elem4.c_str(), nullptr));
266 }
267
268 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4,const std::string & elem5)269 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
270 const std::string& elem4, const std::string& elem5)
271 {
272 return convert_return_gchar_ptr_to_stdstring(g_build_filename(
273 elem1.c_str(), elem2.c_str(), elem3.c_str(), elem4.c_str(), elem5.c_str(), nullptr));
274 }
275
276 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4,const std::string & elem5,const std::string & elem6)277 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
278 const std::string& elem4, const std::string& elem5, const std::string& elem6)
279 {
280 return convert_return_gchar_ptr_to_stdstring(g_build_filename(elem1.c_str(), elem2.c_str(),
281 elem3.c_str(), elem4.c_str(), elem5.c_str(), elem6.c_str(), nullptr));
282 }
283
284 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4,const std::string & elem5,const std::string & elem6,const std::string & elem7)285 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
286 const std::string& elem4, const std::string& elem5, const std::string& elem6,
287 const std::string& elem7)
288 {
289 return convert_return_gchar_ptr_to_stdstring(g_build_filename(elem1.c_str(), elem2.c_str(),
290 elem3.c_str(), elem4.c_str(), elem5.c_str(), elem6.c_str(), elem7.c_str(), nullptr));
291 }
292
293 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4,const std::string & elem5,const std::string & elem6,const std::string & elem7,const std::string & elem8)294 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
295 const std::string& elem4, const std::string& elem5, const std::string& elem6,
296 const std::string& elem7, const std::string& elem8)
297 {
298 return convert_return_gchar_ptr_to_stdstring(
299 g_build_filename(elem1.c_str(), elem2.c_str(), elem3.c_str(), elem4.c_str(), elem5.c_str(),
300 elem6.c_str(), elem7.c_str(), elem8.c_str(), nullptr));
301 }
302
303 std::string
build_filename(const std::string & elem1,const std::string & elem2,const std::string & elem3,const std::string & elem4,const std::string & elem5,const std::string & elem6,const std::string & elem7,const std::string & elem8,const std::string & elem9)304 build_filename(const std::string& elem1, const std::string& elem2, const std::string& elem3,
305 const std::string& elem4, const std::string& elem5, const std::string& elem6,
306 const std::string& elem7, const std::string& elem8, const std::string& elem9)
307 {
308 return convert_return_gchar_ptr_to_stdstring(
309 g_build_filename(elem1.c_str(), elem2.c_str(), elem3.c_str(), elem4.c_str(), elem5.c_str(),
310 elem6.c_str(), elem7.c_str(), elem8.c_str(), elem9.c_str(), nullptr));
311 }
312
313 std::string
build_path(const std::string & separator,const Glib::ArrayHandle<std::string> & elements)314 build_path(const std::string& separator, const Glib::ArrayHandle<std::string>& elements)
315 {
316 return convert_return_gchar_ptr_to_stdstring(
317 g_build_pathv(separator.c_str(), const_cast<char**>(elements.data())));
318 }
319
320 std::string
find_program_in_path(const std::string & program)321 find_program_in_path(const std::string& program)
322 {
323 return convert_return_gchar_ptr_to_stdstring(g_find_program_in_path(program.c_str()));
324 }
325
326 Glib::ustring
format_size(guint64 size,FormatSizeFlags flags)327 format_size(guint64 size, FormatSizeFlags flags)
328 {
329 return convert_return_gchar_ptr_to_ustring(g_format_size_full(size, (GFormatSizeFlags)flags));
330 }
331
332 } // namespace Glib
333
334 namespace
335 {
336 } // anonymous namespace
337
338
339