PATH: //usr/include/glib-2.0/glib
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📁 deprecated/
X
📄 galloca.h
↓
X
📄 garray.h
↓
X
📄 gasyncqueue.h
↓
X
📄 gatomic.h
↓
X
📄 gbacktrace.h
↓
X
📄 gbase64.h
↓
X
📄 gbitlock.h
↓
X
📄 gbookmarkfile.h
↓
X
📄 gbytes.h
↓
X
📄 gcharset.h
↓
X
📄 gchecksum.h
↓
X
📄 gconvert.h
↓
X
📄 gdataset.h
↓
X
📄 gdate.h
↓
X
📄 gdatetime.h
↓
X
📄 gdir.h
↓
X
📄 genviron.h
↓
X
📄 gerror.h
↓
X
📄 gfileutils.h
↓
X
📄 ggettext.h
↓
X
📄 ghash.h
↓
X
📄 ghmac.h
↓
X
📄 ghook.h
↓
X
📄 ghostutils.h
↓
X
📄 gi18n-lib.h
↓
X
📄 gi18n.h
↓
X
📄 giochannel.h
↓
X
📄 gkeyfile.h
↓
X
📄 glib-autocleanups.h
↓
X
📄 glist.h
↓
X
📄 gmacros.h
↓
X
📄 gmain.h
↓
X
📄 gmappedfile.h
↓
X
📄 gmarkup.h
↓
X
📄 gmem.h
↓
X
📄 gmessages.h
↓
X
📄 gnode.h
↓
X
📄 goption.h
↓
X
📄 gpattern.h
↓
X
📄 gpoll.h
↓
X
📄 gprimes.h
↓
X
📄 gprintf.h
↓
X
📄 gqsort.h
↓
X
📄 gquark.h
↓
X
📄 gqueue.h
↓
X
📄 grand.h
↓
X
📄 grcbox.h
↓
X
📄 grefcount.h
↓
X
📄 grefstring.h
↓
X
📄 gregex.h
↓
X
📄 gscanner.h
↓
X
📄 gsequence.h
↓
X
📄 gshell.h
↓
X
📄 gslice.h
↓
X
📄 gslist.h
↓
X
📄 gspawn.h
↓
X
📄 gstdio.h
↓
X
📄 gstrfuncs.h
↓
X
📄 gstring.h
↓
X
📄 gstringchunk.h
↓
X
📄 gstrvbuilder.h
↓
X
📄 gtestutils.h
↓
X
📄 gthread.h
↓
X
📄 gthreadpool.h
↓
X
📄 gtimer.h
↓
X
📄 gtimezone.h
↓
X
📄 gtrashstack.h
↓
X
📄 gtree.h
↓
X
📄 gtypes.h
↓
X
📄 gunicode.h
↓
X
📄 guri.h
↓
X
📄 gutils.h
↓
X
📄 guuid.h
↓
X
📄 gvariant.h
↓
X
📄 gvarianttype.h
↓
X
📄 gversion.h
↓
X
📄 gversionmacros.h
↓
X
📄 gwin32.h
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: gerror.h
/* gerror.h - Error reporting system * * Copyright 2000 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 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, see <http://www.gnu.org/licenses/>. */ #ifndef __G_ERROR_H__ #define __G_ERROR_H__ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only <glib.h> can be included directly." #endif #include <stdarg.h> #include <glib/gquark.h> G_BEGIN_DECLS /** * GError: * @domain: error domain, e.g. #G_FILE_ERROR * @code: error code, e.g. %G_FILE_ERROR_NOENT * @message: human-readable informative error message * * The `GError` structure contains information about * an error that has occurred. */ typedef struct _GError GError; struct _GError { GQuark domain; gint code; gchar *message; }; /** * G_DEFINE_EXTENDED_ERROR: * @ErrorType: name to return a #GQuark for * @error_type: prefix for the function name * * A convenience macro which defines two functions. First, returning * the #GQuark for the extended error type @ErrorType; it is called * `error_type_quark()`. Second, returning the private data from a * passed #GError; it is called `error_type_get_private()`. * * For this macro to work, a type named `ErrorTypePrivate` should be * defined, `error_type_private_init()`, `error_type_private_copy()` * and `error_type_private_clear()` functions need to be either * declared or defined. The functions should be similar to * #GErrorInitFunc, #GErrorCopyFunc and #GErrorClearFunc, * respectively, but they should receive the private data type instead * of #GError. * * See [Extended #GError Domains][gerror-extended-domains] for an example. * * Since: 2.68 */ #define G_DEFINE_EXTENDED_ERROR(ErrorType, error_type) \ static inline ErrorType ## Private * \ error_type ## _get_private (const GError *error) \ { \ /* Copied from gtype.c (STRUCT_ALIGNMENT and ALIGN_STRUCT macros). */ \ const gsize sa = 2 * sizeof (gsize); \ const gsize as = (sizeof (ErrorType ## Private) + (sa - 1)) & -sa; \ g_return_val_if_fail (error != NULL, NULL); \ g_return_val_if_fail (error->domain == error_type ## _quark (), NULL); \ return (ErrorType ## Private *) (((guint8 *)error) - as); \ } \ \ static void \ g_error_with_ ## error_type ## _private_init (GError *error) \ { \ ErrorType ## Private *priv = error_type ## _get_private (error); \ error_type ## _private_init (priv); \ } \ \ static void \ g_error_with_ ## error_type ## _private_copy (const GError *src_error, \ GError *dest_error) \ { \ const ErrorType ## Private *src_priv = error_type ## _get_private (src_error); \ ErrorType ## Private *dest_priv = error_type ## _get_private (dest_error); \ error_type ## _private_copy (src_priv, dest_priv); \ } \ \ static void \ g_error_with_ ## error_type ## _private_clear (GError *error) \ { \ ErrorType ## Private *priv = error_type ## _get_private (error); \ error_type ## _private_clear (priv); \ } \ \ GQuark \ error_type ## _quark (void) \ { \ static GQuark q; \ static gsize initialized = 0; \ \ if (g_once_init_enter (&initialized)) \ { \ q = g_error_domain_register_static (#ErrorType, \ sizeof (ErrorType ## Private), \ g_error_with_ ## error_type ## _private_init, \ g_error_with_ ## error_type ## _private_copy, \ g_error_with_ ## error_type ## _private_clear); \ g_once_init_leave (&initialized, 1); \ } \ \ return q; \ } /** * GErrorInitFunc: * @error: extended error * * Specifies the type of function which is called just after an * extended error instance is created and its fields filled. It should * only initialize the fields in the private data, which can be * received with the generated `*_get_private()` function. * * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it * already takes care of getting the private data from @error. * * Since: 2.68 */ typedef void (*GErrorInitFunc) (GError *error); /** * GErrorCopyFunc: * @src_error: source extended error * @dest_error: destination extended error * * Specifies the type of function which is called when an extended * error instance is copied. It is passed the pointer to the * destination error and source error, and should copy only the fields * of the private data from @src_error to @dest_error. * * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it * already takes care of getting the private data from @src_error and * @dest_error. * * Since: 2.68 */ typedef void (*GErrorCopyFunc) (const GError *src_error, GError *dest_error); /** * GErrorClearFunc: * @error: extended error to clear * * Specifies the type of function which is called when an extended * error instance is freed. It is passed the error pointer about to be * freed, and should free the error's private data fields. * * Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it * already takes care of getting the private data from @error. * * Since: 2.68 */ typedef void (*GErrorClearFunc) (GError *error); GLIB_AVAILABLE_IN_2_68 GQuark g_error_domain_register_static (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear); GLIB_AVAILABLE_IN_2_68 GQuark g_error_domain_register (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear); GLIB_AVAILABLE_IN_ALL GError* g_error_new (GQuark domain, gint code, const gchar *format, ...) G_GNUC_PRINTF (3, 4); GLIB_AVAILABLE_IN_ALL GError* g_error_new_literal (GQuark domain, gint code, const gchar *message); GLIB_AVAILABLE_IN_ALL GError* g_error_new_valist (GQuark domain, gint code, const gchar *format, va_list args) G_GNUC_PRINTF(3, 0); GLIB_AVAILABLE_IN_ALL void g_error_free (GError *error); GLIB_AVAILABLE_IN_ALL GError* g_error_copy (const GError *error); GLIB_AVAILABLE_IN_ALL gboolean g_error_matches (const GError *error, GQuark domain, gint code); /* if (err) *err = g_error_new(domain, code, format, ...), also has * some sanity checks. */ GLIB_AVAILABLE_IN_ALL void g_set_error (GError **err, GQuark domain, gint code, const gchar *format, ...) G_GNUC_PRINTF (4, 5); GLIB_AVAILABLE_IN_ALL void g_set_error_literal (GError **err, GQuark domain, gint code, const gchar *message); /* if (dest) *dest = src; also has some sanity checks. */ GLIB_AVAILABLE_IN_ALL void g_propagate_error (GError **dest, GError *src); /* if (err && *err) { g_error_free(*err); *err = NULL; } */ GLIB_AVAILABLE_IN_ALL void g_clear_error (GError **err); /* if (err) prefix the formatted string to the ->message */ GLIB_AVAILABLE_IN_ALL void g_prefix_error (GError **err, const gchar *format, ...) G_GNUC_PRINTF (2, 3); /* g_propagate_error then g_error_prefix on dest */ GLIB_AVAILABLE_IN_ALL void g_propagate_prefixed_error (GError **dest, GError *src, const gchar *format, ...) G_GNUC_PRINTF (3, 4); G_END_DECLS #endif /* __G_ERROR_H__ */
SIMPAN PERUBAHAN