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
00097 string_list
00098 split_string (std::string const& value,
00099 std::string const& separator);
00100
00110 std::wstring
00111 widen_string (std::string const& str,
00112 std::locale locale);
00113
00123 std::string
00124 narrow_string (std::wstring const& str,
00125 std::locale locale);
00126
00137 std::string
00138 find_program_in_path (std::string const& program,
00139 std::string const& path,
00140 std::string const& prefix);
00141
00149 char **
00150 string_list_to_strv (string_list const& str);
00151
00159 void
00160 strv_delete (char **strv);
00161
00172 int
00173 exec (std::string const& file,
00174 string_list const& command,
00175 environment const& env);
00176 }
00177
00178 #endif
00179
00180
00181
00182
00183
00184