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-types.h>
00024
00025 #include <string>
00026
00027 namespace sbuild
00028 {
00029
00038 std::string
00039 basename (std::string name,
00040 char separator = '/');
00041
00050 std::string
00051 dirname (std::string name,
00052 char separator = '/');
00053
00062 std::string
00063 normalname (std::string name,
00064 char separator = '/');
00065
00073 bool
00074 is_absname (std::string const& name);
00075
00084 std::string
00085 string_list_to_string (string_list const& list,
00086 std::string const& separator);
00087
00096 string_list
00097 split_string (std::string const& value,
00098 std::string const& separator);
00099
00109 std::wstring
00110 widen_string (std::string const& str,
00111 std::locale locale);
00112
00122 std::string
00123 narrow_string (std::wstring const& str,
00124 std::locale locale);
00125
00136 std::string
00137 find_program_in_path (std::string const& program,
00138 std::string const& path,
00139 std::string const& prefix);
00140
00148 char **
00149 string_list_to_strv (string_list const& str);
00150
00158 void
00159 strv_delete (char **strv);
00160
00161 }
00162
00163 #endif
00164
00165
00166
00167
00168
00169