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 *str_append(gchar * str, const gchar * add_str);
00035 gchar *str_replace(gchar * str, gchar * new_str);
00036 void str_replace_in(gchar ** str, gchar * new_str);
00037 
00038 gboolean str_has_prefix_nocase(const gchar * str, const gchar * prefix);
00039 gboolean str_has_suffix_nocase(const gchar * str, const gchar * suffix);
00040 gboolean str_has_suffixes_nocase(const gchar * str, gchar * const *suffixes);
00041 
00042 gchar *str_assert_utf8(const gchar *str);
00043 
00044 void str_set_utf8_impl (gchar * (* stu_impl) (const gchar *),
00045  gchar * (* stuf_impl) (const gchar *, gssize, gsize *, gsize *, GError * *));
00046 gchar * str_to_utf8 (const gchar * str);
00047 gchar * str_to_utf8_full (const gchar * str, gssize len, gsize * bytes_read,
00048  gsize * bytes_written, GError * * err);
00049 
00050 const gchar *str_skip_chars(const gchar * str, const gchar * chars);
00051 
00052 gchar *convert_dos_path(gchar * text);
00053 
00054 gchar *filename_get_subtune(const gchar * filename, gint * track);
00055 gchar *filename_split_subtune(const gchar * filename, gint * track);
00056 
00057 void string_replace_char (gchar * string, gchar old_str, gchar new_str);
00058 void string_decode_percent (gchar * string);
00059 gchar * string_encode_percent (const gchar * string, gboolean is_filename);
00060 
00061 gboolean uri_is_utf8 (const gchar * uri, gboolean warn);
00062 gchar * uri_to_utf8 (const gchar * uri);
00063 void uri_check_utf8 (gchar * * uri, gboolean warn);
00064 gchar * filename_to_uri (const gchar * filename);
00065 gchar * uri_to_filename (const gchar * uri);
00066 gchar * uri_to_display (const gchar * uri);
00067 
00068 gchar * uri_get_extension (const gchar * uri);
00069 
00070 void string_cut_extension(gchar *string);
00071 gint string_compare (const gchar * a, const gchar * b);
00072 gint string_compare_encoded (const gchar * a, const gchar * b);
00073 
00074 const void * memfind (const void * mem, gint size, const void * token, gint
00075  length);
00076 
00077 gchar *str_replace_fragment(gchar *s, gint size, const gchar *old_str, const gchar *new_str);
00078 
00079 void string_canonize_case(gchar *string);
00080 
00081 G_END_DECLS
00082 
00083 #endif /* AUDACIOUS_STRINGS_H */