Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
audstrings.h
Go to the documentation of this file.
00001 /*  Audacious
00002  *  Copyright (C) 2005-2007  Audacious development team.
00003  *
00004  *  BMP - Cross-platform multimedia player
00005  *  Copyright (C) 2003-2004  BMP development team.
00006  *
00007  *  Based on XMMS:
00008  *  Copyright (C) 1998-2003  XMMS development team.
00009  *
00010  *  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; under version 3 of the License.
00013  *
00014  *  This program is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  *  GNU General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU General Public License
00020  *  along with this program.  If not, see <http://www.gnu.org/licenses>.
00021  *
00022  *  The Audacious team does not consider modular code linking to
00023  *  Audacious or using our public API to be a derived work.
00024  */
00025 
00026 #ifndef AUDACIOUS_STRINGS_H
00027 #define AUDACIOUS_STRINGS_H
00028 
00029 #include <stdlib.h>
00030 #include <glib.h>
00031 
00032 G_BEGIN_DECLS
00033 
00034 gchar *escape_shell_chars(const gchar * string);
00035 
00036 gchar *str_append(gchar * str, const gchar * add_str);
00037 gchar *str_replace(gchar * str, gchar * new_str);
00038 void str_replace_in(gchar ** str, gchar * new_str);
00039 
00040 gboolean str_has_prefix_nocase(const gchar * str, const gchar * prefix);
00041 gboolean str_has_suffix_nocase(const gchar * str, const gchar * suffix);
00042 gboolean str_has_suffixes_nocase(const gchar * str, gchar * const *suffixes);
00043 
00044 gchar *str_assert_utf8(const gchar *str);
00045 extern gchar *(*str_to_utf8)(const gchar * str);
00046 gchar *str_to_utf8_fallback(const gchar * str);
00047 extern gchar * (* chardet_to_utf8) (const gchar * string, gssize length, gsize *
00048  bytes_read, gsize * bytes_written, GError * * error);
00049 
00050 const gchar *str_skip_chars(const gchar * str, const gchar * chars);
00051 
00052 gchar *convert_dos_path(gchar * text);
00053 
00054 extern gchar *(*chardet_to_utf8)(const gchar *str, gssize len,
00055                        gsize *arg_bytes_read, gsize *arg_bytes_write,
00056                        GError **arg_error);
00057 
00058 gchar *filename_get_subtune(const gchar * filename, gint * track);
00059 gchar *filename_split_subtune(const gchar * filename, gint * track);
00060 
00061 void string_replace_char (gchar * string, gchar old_str, gchar new_str);
00062 void string_decode_percent (gchar * string);
00063 gchar * string_encode_percent (const gchar * string, gboolean is_filename);
00064 
00065 gboolean uri_is_utf8 (const gchar * uri, gboolean warn);
00066 gchar * uri_to_utf8 (const gchar * uri);
00067 void uri_check_utf8 (gchar * * uri, gboolean warn);
00068 gchar * filename_to_uri (const gchar * filename);
00069 gchar * uri_to_filename (const gchar * uri);
00070 
00071 void string_cut_extension(gchar *string);
00072 gint string_compare (const gchar * a, const gchar * b);
00073 gint string_compare_encoded (const gchar * a, const gchar * b);
00074 
00075 const void * memfind (const void * mem, gint size, const void * token, gint
00076  length);
00077 
00078 G_END_DECLS
00079 
00080 #endif /* AUDACIOUS_STRINGS_H */