X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgconvert.h;h=1b2369d04f141355e2f436a0bccdd300b2d0de93;hb=d0083f7e2dd621c6b78496bdb6ecf5d580c5e110;hp=ce19b36722b5b8b18e00aeca421c94b3293562ef;hpb=b1376c12d9074db95003f2673f53036b571b52e9;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gconvert.h b/glib/gconvert.h index ce19b36..1b2369d 100644 --- a/glib/gconvert.h +++ b/glib/gconvert.h @@ -12,78 +12,187 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library; if not, see . */ /* * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __G_CONVERT_H__ #define __G_CONVERT_H__ -#include /* For size_t */ -#include +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + +#include G_BEGIN_DECLS -typedef enum +/** + * GConvertError: + * @G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character + * sets is not supported. + * @G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input. + * @G_CONVERT_ERROR_FAILED: Conversion failed for some reason. + * @G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input. + * @G_CONVERT_ERROR_BAD_URI: URI is invalid. + * @G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path. + * @G_CONVERT_ERROR_NO_MEMORY: No memory available. Since: 2.40 + * + * Error codes returned by character set conversion routines. + */ +typedef enum { G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, G_CONVERT_ERROR_FAILED, - G_CONVERT_ERROR_PARTIAL_INPUT + G_CONVERT_ERROR_PARTIAL_INPUT, + G_CONVERT_ERROR_BAD_URI, + G_CONVERT_ERROR_NOT_ABSOLUTE_PATH, + G_CONVERT_ERROR_NO_MEMORY } GConvertError; +/** + * G_CONVERT_ERROR: + * + * Error domain for character set conversions. Errors in this domain will + * be from the #GConvertError enumeration. See #GError for information on + * error domains. + */ #define G_CONVERT_ERROR g_convert_error_quark() -GQuark g_convert_error_quark(); +GLIB_AVAILABLE_IN_ALL +GQuark g_convert_error_quark (void); -/* Thin wrappers around iconv +/** + * GIConv: + * + * The GIConv struct wraps an iconv() conversion descriptor. It contains + * private data and should only be accessed using the following functions. */ typedef struct _GIConv *GIConv; +GLIB_AVAILABLE_IN_ALL GIConv g_iconv_open (const gchar *to_codeset, const gchar *from_codeset); -size_t g_iconv (GIConv converter, +GLIB_AVAILABLE_IN_ALL +gsize g_iconv (GIConv converter, gchar **inbuf, - size_t *inbytes_left, + gsize *inbytes_left, gchar **outbuf, - size_t *outbytes_left); + gsize *outbytes_left); +GLIB_AVAILABLE_IN_ALL gint g_iconv_close (GIConv converter); +GLIB_AVAILABLE_IN_ALL gchar* g_convert (const gchar *str, - gint len, + gssize len, const gchar *to_codeset, const gchar *from_codeset, - gint *bytes_read, - gint *bytes_written, - GError **error); + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_convert_with_iconv (const gchar *str, + gssize len, + GIConv converter, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_convert_with_fallback (const gchar *str, - gint len, + gssize len, const gchar *to_codeset, const gchar *from_codeset, - gchar *fallback, - gint *bytes_read, - gint *bytes_written, - GError **error); + const gchar *fallback, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; /* Convert between libc's idea of strings and UTF-8. */ -gchar* g_locale_to_utf8 (const gchar *opsysstring, GError **error); -gchar* g_locale_from_utf8 (const gchar *utf8string, GError **error); +GLIB_AVAILABLE_IN_ALL +gchar* g_locale_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_locale_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; /* Convert between the operating system (or C runtime) * representation of file names and UTF-8. */ -gchar* g_filename_to_utf8 (const gchar *opsysstring, GError **error); -gchar* g_filename_from_utf8 (const gchar *utf8string, GError **error); +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_to_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_from_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_from_uri (const gchar *uri, + gchar **hostname, + GError **error) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_to_uri (const gchar *filename, + const gchar *hostname, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_display_name (const gchar *filename) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gboolean g_get_filename_charsets (const gchar ***charsets); + +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_display_basename (const gchar *filename) G_GNUC_MALLOC; + +GLIB_AVAILABLE_IN_ALL +gchar **g_uri_list_extract_uris (const gchar *uri_list) G_GNUC_MALLOC; + +#ifdef G_OS_WIN32 +#define g_filename_to_utf8 g_filename_to_utf8_utf8 +#define g_filename_from_utf8 g_filename_from_utf8_utf8 +#define g_filename_from_uri g_filename_from_uri_utf8 +#define g_filename_to_uri g_filename_to_uri_utf8 + +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_to_utf8_utf8 (const gchar *opsysstring, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar* g_filename_from_utf8_utf8 (const gchar *utf8string, + gssize len, + gsize *bytes_read, + gsize *bytes_written, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_from_uri_utf8 (const gchar *uri, + gchar **hostname, + GError **error) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL +gchar *g_filename_to_uri_utf8 (const gchar *filename, + const gchar *hostname, + GError **error) G_GNUC_MALLOC; +#endif G_END_DECLS