| gmain.h | gmain.h | |||
|---|---|---|---|---|
| /* gmain.h - the GLib Main loop | /* gmain.h - the GLib Main loop | |||
| * Copyright (C) 1998-2000 Red Hat, Inc. | * Copyright (C) 1998-2000 Red Hat, Inc. | |||
| * | * | |||
| * This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Library General Public | * modify it under the terms of the GNU Library General Public | |||
| * License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
| * version 2 of the License, or (at your option) any later version. | * version 2 of the License, or (at your option) any later version. | |||
| * | * | |||
| * This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
| * Library General Public License for more details. | * Library General Public License for more details. | |||
| * | * | |||
| * You should have received a copy of the GNU Library General Public | * You should have received a copy of the GNU Library General Public | |||
| * License along with this library; if not, write to the | * License along with this library; if not, write to the | |||
| * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
| * Boston, MA 02111-1307, USA. | * Boston, MA 02111-1307, USA. | |||
| */ | */ | |||
| #if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && ! defined (GLIB_COMPILATION) | #if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && ! defined (GLIB_COMPILATION) | |||
| #error "Only <glib.h> can be included directly." | #error "Only <glib.h> can be included directly." | |||
| skipping to change at line 33 | skipping to change at line 33 | |||
| #ifndef __G_MAIN_H__ | #ifndef __G_MAIN_H__ | |||
| #define __G_MAIN_H__ | #define __G_MAIN_H__ | |||
| #include <glib/gpoll.h> | #include <glib/gpoll.h> | |||
| #include <glib/gslist.h> | #include <glib/gslist.h> | |||
| #include <glib/gthread.h> | #include <glib/gthread.h> | |||
| G_BEGIN_DECLS | G_BEGIN_DECLS | |||
| typedef struct _GMainContext GMainContext; /* Opaque */ | /** | |||
| typedef struct _GMainLoop GMainLoop; /* Opaque */ | * GMainContext: | |||
| typedef struct _GSource GSource; | * | |||
| typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; | * The <structname>GMainContext</structname> struct is an opaque data | |||
| typedef struct _GSourceFuncs GSourceFuncs; | * type representing a set of sources to be handled in a main loop. | |||
| */ | ||||
| typedef struct _GMainContext GMainContext; | ||||
| /** | ||||
| * GMainLoop: | ||||
| * | ||||
| * The <structname>GMainLoop</structname> struct is an opaque data type | ||||
| * representing the main event loop of a GLib or GTK+ application. | ||||
| */ | ||||
| typedef struct _GMainLoop GMainLoop; | ||||
| /** | ||||
| * GSource: | ||||
| * | ||||
| * The <structname>GSource</structname> struct is an opaque data type | ||||
| * representing an event source. | ||||
| */ | ||||
| typedef struct _GSource GSource; | ||||
| typedef struct _GSourcePrivate GSourcePrivate; | ||||
| /** | ||||
| * GSourceCallbackFuncs: | ||||
| * @ref: Called when a reference is added to the callback object | ||||
| * @unref: Called when a reference to the callback object is dropped | ||||
| * @get: Called to extract the callback function and data from the | ||||
| * callback object. | ||||
| * The <structname>GSourceCallbackFuncs</structname> struct contains | ||||
| * functions for managing callback objects. | ||||
| */ | ||||
| typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs; | ||||
| /** | ||||
| * GSourceFuncs: | ||||
| * @prepare: Called before all the file descriptors are polled. If the | ||||
| * source can determine that it is ready here (without waiting for the | ||||
| * results of the poll() call) it should return %TRUE. It can also retu | ||||
| rn | ||||
| * a @timeout_ value which should be the maximum timeout (in millisecon | ||||
| ds) | ||||
| * which should be passed to the poll() call. The actual timeout used w | ||||
| ill | ||||
| * be -1 if all sources returned -1, or it will be the minimum of all t | ||||
| he | ||||
| * @timeout_ values returned which were >= 0. | ||||
| * @check: Called after all the file descriptors are polled. The source | ||||
| * should return %TRUE if it is ready to be dispatched. Note that some | ||||
| * time may have passed since the previous prepare function was called, | ||||
| * so the source should be checked again here. | ||||
| * @dispatch: Called to dispatch the event source, after it has returned | ||||
| * %TRUE in either its @prepare or its @check function. The @dispatch | ||||
| * function is passed in a callback function and data. The callback | ||||
| * function may be %NULL if the source was never connected to a callbac | ||||
| k | ||||
| * using g_source_set_callback(). The @dispatch function should call th | ||||
| e | ||||
| * callback function with @user_data and whatever additional parameters | ||||
| * are needed for this type of event source. | ||||
| * @finalize: Called when the source is finalized. | ||||
| * @closure_callback: | ||||
| * @closure_marshal: | ||||
| * | ||||
| * The <structname>GSourceFuncs</structname> struct contains a table of | ||||
| * functions used to handle event sources in a generic manner. | ||||
| * | ||||
| * For idle sources, the prepare and check functions always return %TRUE | ||||
| * to indicate that the source is always ready to be processed. The prepare | ||||
| * function also returns a timeout value of 0 to ensure that the poll() cal | ||||
| l | ||||
| * doesn't block (since that would be time wasted which could have been spe | ||||
| nt | ||||
| * running the idle function). | ||||
| * | ||||
| * For timeout sources, the prepare and check functions both return %TRUE | ||||
| * if the timeout interval has expired. The prepare function also returns | ||||
| * a timeout value to ensure that the poll() call doesn't block too long | ||||
| * and miss the next timeout. | ||||
| * | ||||
| * For file descriptor sources, the prepare function typically returns %FAL | ||||
| SE, | ||||
| * since it must wait until poll() has been called before it knows whether | ||||
| * any events need to be processed. It sets the returned timeout to -1 to | ||||
| * indicate that it doesn't mind how long the poll() call blocks. In the | ||||
| * check function, it tests the results of the poll() call to see if the | ||||
| * required condition has been met, and returns %TRUE if so. | ||||
| */ | ||||
| typedef struct _GSourceFuncs GSourceFuncs; | ||||
| /** | ||||
| * GPid: | ||||
| * | ||||
| * A type which is used to hold a process identification. | ||||
| * | ||||
| * On UNIX, processes are identified by a process id (an integer), | ||||
| * while Windows uses process handles (which are pointers). | ||||
| */ | ||||
| typedef gboolean (*GSourceFunc) (gpointer data); | typedef gboolean (*GSourceFunc) (gpointer data); | |||
| /** | ||||
| * GChildWatchFunc: | ||||
| * @pid: the process id of the child process | ||||
| * @status: Status information about the child process, | ||||
| * see waitpid(2) for more information about this field | ||||
| * @data: user data passed to g_child_watch_add() | ||||
| * | ||||
| * The type of functions to be called when a child exists. | ||||
| */ | ||||
| typedef void (*GChildWatchFunc) (GPid pid, | typedef void (*GChildWatchFunc) (GPid pid, | |||
| gint status, | gint status, | |||
| gpointer data); | gpointer data); | |||
| struct _GSource | struct _GSource | |||
| { | { | |||
| /*< private >*/ | /*< private >*/ | |||
| gpointer callback_data; | gpointer callback_data; | |||
| GSourceCallbackFuncs *callback_funcs; | GSourceCallbackFuncs *callback_funcs; | |||
| GSourceFuncs *source_funcs; | GSourceFuncs *source_funcs; | |||
| guint ref_count; | guint ref_count; | |||
| GMainContext *context; | GMainContext *context; | |||
| gint priority; | gint priority; | |||
| guint flags; | guint flags; | |||
| guint source_id; | guint source_id; | |||
| GSList *poll_fds; | GSList *poll_fds; | |||
| GSource *prev; | GSource *prev; | |||
| GSource *next; | GSource *next; | |||
| gpointer reserved1; | char *name; | |||
| gpointer reserved2; | ||||
| GSourcePrivate *priv; | ||||
| }; | }; | |||
| struct _GSourceCallbackFuncs | struct _GSourceCallbackFuncs | |||
| { | { | |||
| void (*ref) (gpointer cb_data); | void (*ref) (gpointer cb_data); | |||
| void (*unref) (gpointer cb_data); | void (*unref) (gpointer cb_data); | |||
| void (*get) (gpointer cb_data, | void (*get) (gpointer cb_data, | |||
| GSource *source, | GSource *source, | |||
| GSourceFunc *func, | GSourceFunc *func, | |||
| gpointer *data); | gpointer *data); | |||
| }; | }; | |||
| typedef void (*GSourceDummyMarshal) (void); | typedef void (*GSourceDummyMarshal) (void); | |||
| struct _GSourceFuncs | struct _GSourceFuncs | |||
| { | { | |||
| gboolean (*prepare) (GSource *source, | gboolean (*prepare) (GSource *source, | |||
| gint *timeout_); | gint *timeout_); | |||
| gboolean (*check) (GSource *source); | gboolean (*check) (GSource *source); | |||
| gboolean (*dispatch) (GSource *source, | gboolean (*dispatch) (GSource *source, | |||
| GSourceFunc callback, | GSourceFunc callback, | |||
| gpointer user_data); | gpointer user_data); | |||
| void (*finalize) (GSource *source); /* Can be NULL */ | void (*finalize) (GSource *source); /* Can be NULL */ | |||
| /* For use by g_source_set_closure */ | /* For use by g_source_set_closure */ | |||
| GSourceFunc closure_callback; | GSourceFunc closure_callback; | |||
| GSourceDummyMarshal closure_marshal; /* Really is of type GClosureMarshal */ | GSourceDummyMarshal closure_marshal; /* Really is of type GClosureMarshal */ | |||
| }; | }; | |||
| /* Standard priorities */ | /* Standard priorities */ | |||
| /** | ||||
| * G_PRIORITY_HIGH: | ||||
| * | ||||
| * Use this for high priority event sources. | ||||
| * | ||||
| * It is not used within GLib or GTK+. | ||||
| */ | ||||
| #define G_PRIORITY_HIGH -100 | #define G_PRIORITY_HIGH -100 | |||
| /** | ||||
| * G_PRIORITY_DEFAULT: | ||||
| * | ||||
| * Use this for default priority event sources. | ||||
| * | ||||
| * In GLib this priority is used when adding timeout functions | ||||
| * with g_timeout_add(). In GDK this priority is used for events | ||||
| * from the X server. | ||||
| */ | ||||
| #define G_PRIORITY_DEFAULT 0 | #define G_PRIORITY_DEFAULT 0 | |||
| /** | ||||
| * G_PRIORITY_HIGH_IDLE: | ||||
| * | ||||
| * Use this for high priority idle functions. | ||||
| * | ||||
| * GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations, | ||||
| * and #G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is | ||||
| * done to ensure that any pending resizes are processed before any | ||||
| * pending redraws, so that widgets are not redrawn twice unnecessarily.) | ||||
| */ | ||||
| #define G_PRIORITY_HIGH_IDLE 100 | #define G_PRIORITY_HIGH_IDLE 100 | |||
| /** | ||||
| * G_PRIORITY_DEFAULT_IDLE: | ||||
| * | ||||
| * Use this for default priority idle functions. | ||||
| * | ||||
| * In GLib this priority is used when adding idle functions with | ||||
| * g_idle_add(). | ||||
| */ | ||||
| #define G_PRIORITY_DEFAULT_IDLE 200 | #define G_PRIORITY_DEFAULT_IDLE 200 | |||
| #define G_PRIORITY_LOW 300 | ||||
| /** | ||||
| * G_PRIORITY_LOW: | ||||
| * | ||||
| * Use this for very low priority background tasks. | ||||
| * | ||||
| * It is not used within GLib or GTK+. | ||||
| */ | ||||
| #define G_PRIORITY_LOW 300 | ||||
| /* GMainContext: */ | /* GMainContext: */ | |||
| GMainContext *g_main_context_new (void); | GMainContext *g_main_context_new (void); | |||
| GMainContext *g_main_context_ref (GMainContext *context); | GMainContext *g_main_context_ref (GMainContext *context); | |||
| void g_main_context_unref (GMainContext *context); | void g_main_context_unref (GMainContext *context); | |||
| GMainContext *g_main_context_default (void); | GMainContext *g_main_context_default (void); | |||
| gboolean g_main_context_iteration (GMainContext *context, | gboolean g_main_context_iteration (GMainContext *context, | |||
| gboolean may_block); | gboolean may_block); | |||
| gboolean g_main_context_pending (GMainContext *context); | gboolean g_main_context_pending (GMainContext *context); | |||
| /* For implementation of legacy interfaces | /* For implementation of legacy interfaces | |||
| */ | */ | |||
| GSource *g_main_context_find_source_by_id (GMainContext * context, | GSource *g_main_context_find_source_by_id (GMainContext * context, | |||
| guint s ource_id); | guint source_id); | |||
| GSource *g_main_context_find_source_by_user_data (GMainContext * context, | GSource *g_main_context_find_source_by_user_data (GMainContext * context, | |||
| gpointer u ser_data); | gpointer user_data); | |||
| GSource *g_main_context_find_source_by_funcs_user_data (GMainContext * context, | GSource *g_main_context_find_source_by_funcs_user_data (GMainContext * context, | |||
| GSourceFuncs *f | GSourceFuncs * | |||
| uncs, | funcs, | |||
| gpointer u | gpointer | |||
| ser_data); | user_data); | |||
| /* Low level functions for implementing custom main loops. | /* Low level functions for implementing custom main loops. | |||
| */ | */ | |||
| void g_main_context_wakeup (GMainContext *context); | void g_main_context_wakeup (GMainContext *context); | |||
| gboolean g_main_context_acquire (GMainContext *context); | gboolean g_main_context_acquire (GMainContext *context); | |||
| void g_main_context_release (GMainContext *context); | void g_main_context_release (GMainContext *context); | |||
| gboolean g_main_context_is_owner (GMainContext *context); | gboolean g_main_context_is_owner (GMainContext *context); | |||
| gboolean g_main_context_wait (GMainContext *context, | gboolean g_main_context_wait (GMainContext *context, | |||
| GCond *cond, | GCond *cond, | |||
| GMutex *mutex); | GMutex *mutex); | |||
| gboolean g_main_context_prepare (GMainContext *context, | gboolean g_main_context_prepare (GMainContext *context, | |||
| gint *priority); | gint *priority); | |||
| gint g_main_context_query (GMainContext *context, | gint g_main_context_query (GMainContext *context, | |||
| gint max_priority, | gint max_priority, | |||
| gint *timeout_, | gint *timeout_, | |||
| GPollFD *fds, | GPollFD *fds, | |||
| gint n_fds); | gint n_fds); | |||
| gint g_main_context_check (GMainContext *context, | gint g_main_context_check (GMainContext *context, | |||
| gint max_priority, | gint max_priority, | |||
| GPollFD *fds, | GPollFD *fds, | |||
| gint n_fds); | gint n_fds); | |||
| void g_main_context_dispatch (GMainContext *context); | void g_main_context_dispatch (GMainContext *context); | |||
| void g_main_context_set_poll_func (GMainContext *context, | void g_main_context_set_poll_func (GMainContext *context, | |||
| GPollFunc func); | GPollFunc func); | |||
| GPollFunc g_main_context_get_poll_func (GMainContext *context); | GPollFunc g_main_context_get_poll_func (GMainContext *context); | |||
| /* Low level functions for use by source implementations | /* Low level functions for use by source implementations | |||
| */ | */ | |||
| void g_main_context_add_poll (GMainContext *context, | void g_main_context_add_poll (GMainContext *context, | |||
| GPollFD *fd, | GPollFD *fd, | |||
| gint priority); | gint priority); | |||
| void g_main_context_remove_poll (GMainContext *context, | void g_main_context_remove_poll (GMainContext *context, | |||
| GPollFD *fd); | GPollFD *fd); | |||
| gint g_main_depth (void); | gint g_main_depth (void); | |||
| GSource *g_main_current_source (void); | GSource *g_main_current_source (void); | |||
| /* GMainContexts for other threads | /* GMainContexts for other threads | |||
| */ | */ | |||
| void g_main_context_push_thread_default (GMainContext *context); | void g_main_context_push_thread_default (GMainContext *context); | |||
| void g_main_context_pop_thread_default (GMainContext *context); | void g_main_context_pop_thread_default (GMainContext *context); | |||
| GMainContext *g_main_context_get_thread_default (void); | GMainContext *g_main_context_get_thread_default (void); | |||
| /* GMainLoop: */ | /* GMainLoop: */ | |||
| GMainLoop *g_main_loop_new (GMainContext *context, | GMainLoop *g_main_loop_new (GMainContext *context, | |||
| gboolean is_running); | gboolean is_running); | |||
| void g_main_loop_run (GMainLoop *loop); | void g_main_loop_run (GMainLoop *loop); | |||
| void g_main_loop_quit (GMainLoop *loop); | void g_main_loop_quit (GMainLoop *loop); | |||
| GMainLoop *g_main_loop_ref (GMainLoop *loop); | GMainLoop *g_main_loop_ref (GMainLoop *loop); | |||
| void g_main_loop_unref (GMainLoop *loop); | void g_main_loop_unref (GMainLoop *loop); | |||
| gboolean g_main_loop_is_running (GMainLoop *loop); | gboolean g_main_loop_is_running (GMainLoop *loop); | |||
| GMainContext *g_main_loop_get_context (GMainLoop *loop); | GMainContext *g_main_loop_get_context (GMainLoop *loop); | |||
| /* GSource: */ | /* GSource: */ | |||
| GSource *g_source_new (GSourceFuncs *source_funcs, | GSource *g_source_new (GSourceFuncs *source_funcs, | |||
| guint struct_size); | guint struct_size); | |||
| GSource *g_source_ref (GSource *source); | GSource *g_source_ref (GSource *source); | |||
| void g_source_unref (GSource *source); | void g_source_unref (GSource *source); | |||
| guint g_source_attach (GSource *source, | guint g_source_attach (GSource *source, | |||
| GMainContext *context); | GMainContext *context); | |||
| void g_source_destroy (GSource *source); | void g_source_destroy (GSource *source); | |||
| void g_source_set_priority (GSource *source, | void g_source_set_priority (GSource *source, | |||
| gint priority); | gint priority); | |||
| gint g_source_get_priority (GSource *source); | gint g_source_get_priority (GSource *source); | |||
| void g_source_set_can_recurse (GSource *source, | void g_source_set_can_recurse (GSource *source, | |||
| gboolean can_recurse); | gboolean can_recurse); | |||
| gboolean g_source_get_can_recurse (GSource *source); | gboolean g_source_get_can_recurse (GSource *source); | |||
| guint g_source_get_id (GSource *source); | guint g_source_get_id (GSource *source); | |||
| GMainContext *g_source_get_context (GSource *source); | GMainContext *g_source_get_context (GSource *source); | |||
| void g_source_set_callback (GSource *source, | void g_source_set_callback (GSource *source, | |||
| GSourceFunc func, | GSourceFunc func, | |||
| gpointer data, | gpointer data, | |||
| GDestroyNotify notify); | GDestroyNotify notify); | |||
| void g_source_set_funcs (GSource *source, | void g_source_set_funcs (GSource *source, | |||
| GSourceFuncs *funcs); | GSourceFuncs *funcs); | |||
| gboolean g_source_is_destroyed (GSource *source); | gboolean g_source_is_destroyed (GSource *source); | |||
| void g_source_set_name (GSource *source, | ||||
| const char *name); | ||||
| G_CONST_RETURN char* g_source_get_name (GSource *source); | ||||
| void g_source_set_name_by_id (guint tag, | ||||
| const char *name); | ||||
| /* Used to implement g_source_connect_closure and internally*/ | /* Used to implement g_source_connect_closure and internally*/ | |||
| void g_source_set_callback_indirect (GSource *source, | void g_source_set_callback_indirect (GSource *source, | |||
| gpointer callback_data, | gpointer callback_data, | |||
| GSourceCallbackFuncs *callback_funcs); | GSourceCallbackFuncs *callback_funcs); | |||
| void g_source_add_poll (GSource *source, | void g_source_add_poll (GSource *source, | |||
| GPollFD *fd); | GPollFD *fd); | |||
| void g_source_remove_poll (GSource *source, | void g_source_remove_poll (GSource *source, | |||
| GPollFD *fd); | GPollFD *fd); | |||
| void g_source_add_child_source (GSource *source, | ||||
| GSource *child_source); | ||||
| void g_source_remove_child_source (GSource *source, | ||||
| GSource *child_source); | ||||
| #ifndef G_DISABLE_DEPRECATED | ||||
| void g_source_get_current_time (GSource *source, | void g_source_get_current_time (GSource *source, | |||
| GTimeVal *timeval); | GTimeVal *timeval); | |||
| #endif | ||||
| gint64 g_source_get_time (GSource *source); | ||||
| /* void g_source_connect_closure (GSource *source, | /* void g_source_connect_closure (GSource *source, | |||
| GClosure *closure); | GClosure *closure); | |||
| */ | */ | |||
| /* Specific source types | /* Specific source types | |||
| */ | */ | |||
| GSource *g_idle_source_new (void); | GSource *g_idle_source_new (void); | |||
| GSource *g_child_watch_source_new (GPid pid); | GSource *g_child_watch_source_new (GPid pid); | |||
| GSource *g_timeout_source_new (guint interval); | GSource *g_timeout_source_new (guint interval); | |||
| GSource *g_timeout_source_new_seconds (guint interval); | GSource *g_timeout_source_new_seconds (guint interval); | |||
| /* Miscellaneous functions | /* Miscellaneous functions | |||
| */ | */ | |||
| void g_get_current_time (GTimeVal *result); | void g_get_current_time (GTimeVal *result); | |||
| gint64 g_get_monotonic_time (void); | ||||
| gint64 g_get_real_time (void); | ||||
| /* ============== Compat main loop stuff ================== */ | /* ============== Compat main loop stuff ================== */ | |||
| #ifndef G_DISABLE_DEPRECATED | #ifndef G_DISABLE_DEPRECATED | |||
| /* Legacy names for GMainLoop functions | /** | |||
| * g_main_new: | ||||
| * @is_running: set to %TRUE to indicate that the loop is running. This | ||||
| * is not very important since calling g_main_run() will set this | ||||
| * to %TRUE anyway. | ||||
| * | ||||
| * Creates a new #GMainLoop for th default main context. | ||||
| * | ||||
| * Returns: a new #GMainLoop | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_loop_new() instead | ||||
| */ | ||||
| #define g_main_new(is_running) g_main_loop_new (NULL, is_running) | ||||
| /** | ||||
| * g_main_run: | ||||
| * @loop: a #GMainLoop | ||||
| * | ||||
| * Runs a main loop until it stops running. | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_loop_run() instead | ||||
| */ | */ | |||
| #define g_main_new(is_running) g_main_loop_new (NULL, is_running); | ||||
| #define g_main_run(loop) g_main_loop_run(loop) | #define g_main_run(loop) g_main_loop_run(loop) | |||
| #define g_main_quit(loop) g_main_loop_quit(loop) | ||||
| #define g_main_destroy(loop) g_main_loop_unref(loop) | ||||
| #define g_main_is_running(loop) g_main_loop_is_running(loop) | ||||
| /* Functions to manipulate the default main loop | /** | |||
| * g_main_quit: | ||||
| * @loop: a #GMainLoop | ||||
| * | ||||
| * Stops the #GMainLoop. | ||||
| * If g_main_run() was called to run the #GMainLoop, it will now return. | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_loop_quit() instead | ||||
| */ | ||||
| #define g_main_quit(loop) g_main_loop_quit(loop) | ||||
| /** | ||||
| * g_main_destroy: | ||||
| * @loop: a #GMainLoop | ||||
| * | ||||
| * Frees the memory allocated for the #GMainLoop. | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_loop_unref() instead | ||||
| */ | ||||
| #define g_main_destroy(loop) g_main_loop_unref(loop) | ||||
| /** | ||||
| * g_main_is_running: | ||||
| * @loop: a #GMainLoop | ||||
| * | ||||
| * Checks if the main loop is running. | ||||
| * | ||||
| * Returns: %TRUE if the main loop is running | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_loop_is_running() instead | ||||
| */ | ||||
| #define g_main_is_running(loop) g_main_loop_is_running(loop) | ||||
| /** | ||||
| * g_main_iteration: | ||||
| * @may_block: set to %TRUE if it should block (i.e. wait) until an event | ||||
| * source becomes ready. It will return after an event source has been | ||||
| * processed. If set to %FALSE it will return immediately if no event | ||||
| * source is ready to be processed. | ||||
| * | ||||
| * Runs a single iteration for the default #GMainContext. | ||||
| * | ||||
| * Returns: %TRUE if more events are pending. | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_context_iteration() instead. | ||||
| */ | */ | |||
| #define g_main_iteration(may_block) g_main_context_iteration (NULL, may_blo ck) | ||||
| #define g_main_iteration(may_block) g_main_context_iteration (N | /** | |||
| ULL, may_block) | * g_main_pending: | |||
| #define g_main_pending() g_main_context_pending (NULL) | * | |||
| * Checks if any events are pending for the default #GMainContext | ||||
| * (i.e. ready to be processed). | ||||
| * | ||||
| * Returns: %TRUE if any events are pending. | ||||
| * | ||||
| * Deprected: 2.2: Use g_main_context_pending() instead. | ||||
| */ | ||||
| #define g_main_pending() g_main_context_pending (NULL) | ||||
| #define g_main_set_poll_func(func) g_main_context_set_poll_func (NULL, fu | /** | |||
| nc) | * g_main_set_poll_func: | |||
| * @func: the function to call to poll all file descriptors | ||||
| * | ||||
| * Sets the function to use for the handle polling of file descriptors | ||||
| * for the default main context. | ||||
| * | ||||
| * Deprecated: 2.2: Use g_main_context_set_poll_func() again | ||||
| */ | ||||
| #define g_main_set_poll_func(func) g_main_context_set_poll_func (NULL, fun | ||||
| c) | ||||
| #endif /* G_DISABLE_DEPRECATED */ | #endif /* G_DISABLE_DEPRECATED */ | |||
| /* Source manipulation by ID */ | /* Source manipulation by ID */ | |||
| gboolean g_source_remove (guint tag); | gboolean g_source_remove (guint tag); | |||
| gboolean g_source_remove_by_user_data (gpointer user_data); | gboolean g_source_remove_by_user_data (gpointer user_data); | |||
| gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, | gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, | |||
| gpointer user_data); | gpointer user_data); | |||
| /* Idles, child watchers and timeouts */ | /* Idles, child watchers and timeouts */ | |||
| guint g_timeout_add_full (gint priority, | guint g_timeout_add_full (gint priority, | |||
| guint interval, | guint interval, | |||
| GSourceFunc function, | GSourceFunc function, | |||
| gpointer data, | gpointer data, | |||
| GDestroyNotify notify); | GDestroyNotify notify); | |||
| guint g_timeout_add (guint interval, | guint g_timeout_add (guint interval, | |||
| GSourceFunc function, | GSourceFunc function, | |||
| gpointer data); | gpointer data); | |||
| guint g_timeout_add_seconds_full (gint priority, | guint g_timeout_add_seconds_full (gint priority, | |||
| guint interval, | guint interval, | |||
| GSourceFunc function, | GSourceFunc function, | |||
| gpointer data, | gpointer data, | |||
| GDestroyNotify notify); | GDestroyNotify notify); | |||
| guint g_timeout_add_seconds (guint interval, | guint g_timeout_add_seconds (guint interval, | |||
| GSourceFunc function, | GSourceFunc function, | |||
| gpointer data); | gpointer data); | |||
| guint g_child_watch_add_full (gint priority, | guint g_child_watch_add_full (gint priority, | |||
| GPid pid, | GPid pid, | |||
| GChildWatchFunc function, | GChildWatchFunc function, | |||
| gpointer data, | gpointer data, | |||
| GDestroyNotify notify); | GDestroyNotify notify); | |||
| guint g_child_watch_add (GPid pid, | guint g_child_watch_add (GPid pid, | |||
| GChildWatchFunc function, | GChildWatchFunc function, | |||
| gpointer data); | gpointer data); | |||
| guint g_idle_add (GSourceFunc function, | guint g_idle_add (GSourceFunc function, | |||
| gpointer data); | gpointer data); | |||
| guint g_idle_add_full (gint priority, | guint g_idle_add_full (gint priority, | |||
| GSourceFunc function, | GSourceFunc function, | |||
| gpointer data, | gpointer data, | |||
| GDestroyNotify notify); | GDestroyNotify notify); | |||
| gboolean g_idle_remove_by_data (gpointer data); | gboolean g_idle_remove_by_data (gpointer data); | |||
| void g_main_context_invoke_full (GMainContext *context, | ||||
| gint priority, | ||||
| GSourceFunc function, | ||||
| gpointer data, | ||||
| GDestroyNotify notify); | ||||
| void g_main_context_invoke (GMainContext *context, | ||||
| GSourceFunc function, | ||||
| gpointer data); | ||||
| /* Hook for GClosure / GSource integration. Don't touch */ | /* Hook for GClosure / GSource integration. Don't touch */ | |||
| GLIB_VAR GSourceFuncs g_timeout_funcs; | GLIB_VAR GSourceFuncs g_timeout_funcs; | |||
| GLIB_VAR GSourceFuncs g_child_watch_funcs; | GLIB_VAR GSourceFuncs g_child_watch_funcs; | |||
| GLIB_VAR GSourceFuncs g_idle_funcs; | GLIB_VAR GSourceFuncs g_idle_funcs; | |||
| G_END_DECLS | G_END_DECLS | |||
| #endif /* __G_MAIN_H__ */ | #endif /* __G_MAIN_H__ */ | |||
| End of changes. 52 change blocks. | ||||
| 84 lines changed or deleted | 339 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||