X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgconvert.h;h=1b2369d04f141355e2f436a0bccdd300b2d0de93;hb=0a4ee12c7a9dfc82443133dfb2b18fb411d79f48;hp=15edb3512e78ea68239424d69d40691578d75c24;hpb=f4bb21aa1d405fd11043a03e0962358eb0f42a5e;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gconvert.h b/glib/gconvert.h index 15edb35..1b2369d 100644 --- a/glib/gconvert.h +++ b/glib/gconvert.h @@ -12,9 +12,7 @@ * 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 . */ /* @@ -24,44 +22,74 @@ * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__G_LIB_H__) && !defined (GLIB_COMPILATION) -#error "Only can be included directly." -#endif - #ifndef __G_CONVERT_H__ #define __G_CONVERT_H__ +#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_BAD_URI, - G_CONVERT_ERROR_NOT_ABSOLUTE_PATH + 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() +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); +GLIB_AVAILABLE_IN_ALL gsize g_iconv (GIConv converter, gchar **inbuf, gsize *inbytes_left, gchar **outbuf, gsize *outbytes_left); +GLIB_AVAILABLE_IN_ALL gint g_iconv_close (GIConv converter); +GLIB_AVAILABLE_IN_ALL gchar* g_convert (const gchar *str, gssize len, const gchar *to_codeset, @@ -69,17 +97,19 @@ gchar* g_convert (const gchar *str, 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, gssize len, const gchar *to_codeset, const gchar *from_codeset, - gchar *fallback, + const gchar *fallback, gsize *bytes_read, gsize *bytes_written, GError **error) G_GNUC_MALLOC; @@ -87,11 +117,13 @@ gchar* g_convert_with_fallback (const gchar *str, /* Convert between libc's idea of strings and UTF-8. */ +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, @@ -101,38 +133,67 @@ gchar* g_locale_from_utf8 (const gchar *utf8string, /* Convert between the operating system (or C runtime) * representation of file names and UTF-8. */ -#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 -#endif - +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; -gboolean g_get_filename_charsets (G_CONST_RETURN gchar ***charsets); +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 #endif /* __G_CONVERT_H__ */