00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SBUILD_UTIL_H
00021 #define SBUILD_UTIL_H
00022
00023 #include <sbuild/sbuild-environment.h>
00024 #include <sbuild/sbuild-types.h>
00025
00026 #include <string>
00027
00028 namespace sbuild
00029 {
00030
00039 std::string
00040 basename (std::string name,
00041 char separator = '/');
00042
00051 std::string
00052 dirname (std::string name,
00053 char separator = '/');
00054
00063 std::string
00064 normalname (std::string name,
00065 char separator = '/');
00066
00074 bool
00075 is_absname (std::string const& name);
00076
00085 std::string
00086 string_list_to_string (string_list const& list,
00087 std::string const& separator);
00088
00100 string_list
00101 split_string (std::string const& value,
00102 std::string const& separator);
00103
00113 std::wstring
00114 widen_string (std::string const& str,
00115 std::locale locale);
00116
00126 std::string
00127 narrow_string (std::wstring const& str,
00128 std::locale locale);
00129
00140 std::string
00141 find_program_in_path (std::string const& program,
00142 std::string const& path,
00143 std::string const& prefix);
00144
00152 char **
00153 string_list_to_strv (string_list const& str);
00154
00162 void
00163 strv_delete (char **strv);
00164
00175 int
00176 exec (std::string const& file,
00177 string_list const& command,
00178 environment const& env);
00179 }
00180
00181 #endif
00182
00183
00184
00185
00186
00187