prefix internal functions with '_'. renamed g_signal_connect_closure() to

Fri Nov  3 07:35:00 2000  Tim Janik  <timj@gtk.org>

        * gsignal.[hc]: prefix internal functions with '_'. renamed
        g_signal_connect_closure() to g_signal_connect_closure_by_id().
        added g_signal_parse_name() to retrive signal_id and detail quark
        from a signal name (internal).

Fri Nov  3 07:33:15 2000  Tim Janik  <timj@gtk.org>

        * gobject/gobject-docs.sgml: added &gobject-closures; section.

        * gobject/Makefile.am (tmpl_sources): add tmpl/clsoures.sgml

        * gobject/gobject-sections.txt: added Closure section.

        * gobject/tmpl/closures.sgml: new file with template description
        for GClosure functions.
This commit is contained in:
Tim Janik
2000-11-03 08:18:09 +00:00
committed by Tim Janik
parent e78311ff4e
commit 3cc60a9ab1
16 changed files with 498 additions and 104 deletions

View File

@@ -22,6 +22,7 @@ tmpl_sources = \
tmpl/objects.sgml \
tmpl/param_specs.sgml \
tmpl/signals.sgml \
tmpl/closures.sgml \
tmpl/standard_params.sgml \
tmpl/types.sgml \
tmpl/value_collection.sgml \

View File

@@ -4,6 +4,7 @@
<!entity gobject-objects SYSTEM "sgml/objects.sgml">
<!entity gobject-param-specs SYSTEM "sgml/param_specs.sgml">
<!entity gobject-signals SYSTEM "sgml/signals.sgml">
<!entity gobject-closures SYSTEM "sgml/closures.sgml">
<!entity gobject-standard-params SYSTEM "sgml/standard_params.sgml">
<!entity gobject-types SYSTEM "sgml/types.sgml">
<!entity gobject-value-collection SYSTEM "sgml/value_collection.sgml">
@@ -71,6 +72,7 @@
&gobject-param-specs;
&gobject-standard-params;
&gobject-signals;
&gobject-closures;
</reference>
</book>

View File

@@ -336,7 +336,7 @@ g_signal_lookup
g_signal_name
g_signal_query
g_signal_list_ids
g_signal_connect_closure
g_signal_connect_closure_by_id
g_signal_handler_block
g_signal_handler_unblock
g_signal_handler_disconnect
@@ -349,6 +349,33 @@ g_signal_stop_emission
g_signal_type_closure_new
g_signal_add_emission_hook_full
g_signal_remove_emission_hook
g_signal_handlers_destroy
g_signals_destroy
g_signal_parse_name
</SECTION>
<SECTION>
<TITLE>Closures</TITLE>
<FILE>closures</FILE>
GClosureMarshal
GClosureNotify
GClosure
GCClosure
GClosureNotifyData
G_CLOSURE_NEEDS_MARSHAL
G_CCLOSURE_SWAP_DATA
g_cclosure_new
g_cclosure_new_swap
g_cclosure_new_object
g_cclosure_new_object_swap
g_closure_ref
g_closure_unref
g_closure_invoke
g_closure_invalidate
g_closure_add_fnotify
g_closure_remove_fnotify
g_closure_add_inotify
g_closure_remove_inotify
g_closure_new_simple
g_closure_set_marshal
g_closure_add_marshal_guards
g_closure_set_meta_marshal
</SECTION>

View File

@@ -0,0 +1,237 @@
<!-- ##### SECTION Title ##### -->
Closures
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### USER_FUNCTION GClosureMarshal ##### -->
<para>
</para>
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
<!-- ##### USER_FUNCTION GClosureNotify ##### -->
<para>
</para>
@data:
@closure:
<!-- ##### STRUCT GClosure ##### -->
<para>
</para>
@is_invalid:
<!-- ##### STRUCT GCClosure ##### -->
<para>
</para>
@closure:
@callback:
<!-- ##### STRUCT GClosureNotifyData ##### -->
<para>
</para>
@data:
@notify:
<!-- ##### MACRO G_CLOSURE_NEEDS_MARSHAL ##### -->
<para>
</para>
@closure:
<!-- ##### MACRO G_CCLOSURE_SWAP_DATA ##### -->
<para>
</para>
@cclosure:
<!-- ##### FUNCTION g_cclosure_new ##### -->
<para>
</para>
@callback_func:
@user_data:
@destroy_data:
@Returns:
<!-- ##### FUNCTION g_cclosure_new_swap ##### -->
<para>
</para>
@callback_func:
@user_data:
@destroy_data:
@Returns:
<!-- ##### FUNCTION g_cclosure_new_object ##### -->
<para>
</para>
@callback_func:
@object:
@Returns:
<!-- ##### FUNCTION g_cclosure_new_object_swap ##### -->
<para>
</para>
@callback_func:
@object:
@Returns:
<!-- ##### FUNCTION g_closure_ref ##### -->
<para>
</para>
@closure:
@Returns:
<!-- ##### FUNCTION g_closure_unref ##### -->
<para>
</para>
@closure:
<!-- ##### FUNCTION g_closure_invoke ##### -->
<para>
</para>
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
<!-- ##### FUNCTION g_closure_invalidate ##### -->
<para>
</para>
@closure:
<!-- ##### FUNCTION g_closure_add_fnotify ##### -->
<para>
</para>
@closure:
@notify_data:
@notify_func:
<!-- ##### FUNCTION g_closure_remove_fnotify ##### -->
<para>
</para>
@closure:
@notify_data:
@notify_func:
<!-- ##### FUNCTION g_closure_add_inotify ##### -->
<para>
</para>
@closure:
@notify_data:
@notify_func:
<!-- ##### FUNCTION g_closure_remove_inotify ##### -->
<para>
</para>
@closure:
@notify_data:
@notify_func:
<!-- ##### FUNCTION g_closure_new_simple ##### -->
<para>
</para>
@sizeof_closure:
@data:
@Returns:
<!-- ##### FUNCTION g_closure_set_marshal ##### -->
<para>
</para>
@closure:
@marshal:
<!-- ##### FUNCTION g_closure_add_marshal_guards ##### -->
<para>
</para>
@closure:
@pre_marshal_data:
@pre_marshal_notify:
@post_marshal_data:
@post_marshal_notify:
<!-- ##### FUNCTION g_closure_set_meta_marshal ##### -->
<para>
</para>
@closure:
@marshal_data:
@meta_marshal:

View File

@@ -10,3 +10,29 @@
@G_SIGNAL_ACTION:
@G_SIGNAL_NO_HOOKS:
<!-- ##### FUNCTION g_signal_connect_closure ##### -->
<para>
</para>
@instance:
@signal_id:
@detail:
@closure:
@after:
@Returns:
<!-- ##### FUNCTION g_signal_handlers_destroy ##### -->
<para>
</para>
@instance:
<!-- ##### FUNCTION g_signals_destroy ##### -->
<para>
</para>
@itype:

View File

@@ -24,7 +24,7 @@ handler" or "default (signal) handler", while user provided callbacks are
usually just called "signal handler".
The object method handler is provided at signal creation time (this most
frequently happens at the end of an object class' creation), while user
provided handlers are frequently @connected and @disconnected to/from a certain
provided handlers are frequently connected and disconnected to/from a certain
signal on certain object instances.
</para>
<para>
@@ -76,9 +76,9 @@ The @GSignalInvocationHint structure is used to pass on additional information
to callbacks during a signal emission.
</para>
@signal_id: The signal id of the signal invoking the callback
@detail: The detail passed on for this emission
@run_type: The stage the signal emission is currently in, this
@signal_id: The signal id of the signal invoking the callback
@detail: The detail passed on for this emission
@run_type: The stage the signal emission is currently in, this
field will contain one of @G_SIGNAL_RUN_FIRST,
@G_SIGNAL_RUN_LAST or @G_SIGNAL_RUN_CLEANUP.
@@ -92,11 +92,11 @@ values is perfomed. The return value of signal emissions is then the
value returned by the last callback.
</para>
@ihint: Signal invokation hint, see @GSignalInvocationHint
@return_accu: Accumulator to collect callback return values in, this
@ihint: Signal invokation hint, see @GSignalInvocationHint
@return_accu: Accumulator to collect callback return values in, this
is the return value of the current signal emission
@return_value: The return value of the most recent callback function
@Returns: The accumulator function returns whether the signal emission
@return_value: The return value of the most recent callback function
@Returns: The accumulator function returns whether the signal emission
should be aborted. Returning @FALSE means to abort the
current emission and @TRUE is returned for continuation.
@@ -153,14 +153,14 @@ A structure holding in-depth information for a specific signal. It is
filled in by the g_signal_query() function.
</para>
@signal_id: The signal id of the signal being querried, or 0 if the
@signal_id: The signal id of the signal being querried, or 0 if the
signal to be querried was unknown
@signal_name: The signal name
@itype: The interface/instance type that this signal can be emitted for
@signal_flags: The signal flags as passed in to @g_signal_new()
@return_type: The return type for user callbacks
@n_params: The number of parameters that user callbacks take
@param_types: The individual parameter types for user callbacks, note that the
@signal_name: The signal name
@itype: The interface/instance type that this signal can be emitted for
@signal_flags: The signal flags as passed in to @g_signal_new()
@return_type: The return type for user callbacks
@n_params: The number of parameters that user callbacks take
@param_types: The individual parameter types for user callbacks, note that the
effective callback signature is:
<msgtext><programlisting>
@return_type callback (@gpointer data1,
@@ -225,8 +225,8 @@ is 0. All members filled into the @GSignalQuery structure should
be considered constant and have to be left untouched.
</para>
@signal_id: The signal id of the signal to query information for
@query: A user provided structure that is filled in with constant
@signal_id: The signal id of the signal to query information for
@query: A user provided structure that is filled in with constant
values upon success.
@@ -237,12 +237,12 @@ created. Further information about the signals can be aquired through
g_signal_query().
</para>
@itype: Instance or interface type
@n_ids: Location to store the number of signal ids for @itype
@Returns: Newly allocated array of signal ids
@itype: Instance or interface type
@n_ids: Location to store the number of signal ids for @itype
@Returns: Newly allocated array of signal ids
<!-- ##### FUNCTION g_signal_connect_closure ##### -->
<!-- ##### FUNCTION g_signal_connect_closure_by_id ##### -->
<para>
</para>
@@ -268,8 +268,9 @@ to be a valid signal handler id, connected to a signal of
@instance.
</para>
@instance: The instance to block the signal handler of
@handler_id: Handler id of the handler to be blocked
@instance: The instance to block the signal handler of
@handler_id: Handler id of the handler to be blocked
<!-- ##### FUNCTION g_signal_handler_unblock ##### -->
<para>
@@ -289,8 +290,8 @@ to be a valid id of a signal handler that is connected to a
signal of @instance and is currently blocked.
</para>
@instance: The instance to unblock the signal handler of
@handler_id: Handler id of the handler to be unblocked
@instance: The instance to unblock the signal handler of
@handler_id: Handler id of the handler to be unblocked
<!-- ##### FUNCTION g_signal_handler_disconnect ##### -->
@@ -304,8 +305,8 @@ to be a valid signal handler id, connected to a signal of
@instance.
</para>
@instance: The instance to remove the signal handler from
@handler_id: Handler id of the handler to be disconnected
@instance: The instance to remove the signal handler from
@handler_id: Handler id of the handler to be disconnected
<!-- ##### FUNCTION g_signal_handler_find ##### -->
@@ -317,15 +318,15 @@ The match @mask has to be non-0 for successfull matches.
If no handler was found, 0 is returned.
</para>
@instance: The instance owning the signal handler to be found
@mask: Mask indicating which of @signal_id, @detail,
@instance: The instance owning the signal handler to be found
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handler has to match
@signal_id: Signal the handler has to be connected to
@detail: Signal detail the handler has to be connected to
@closure: The closure the handler will invoke
@func: The C closure callback of the handler (useless for non-C closures)
@data: The closure data of the handler's closure
@Returns: A valid non-0 signal handler id for a successfull match
@signal_id: Signal the handler has to be connected to
@detail: Signal detail the handler has to be connected to
@closure: The closure the handler will invoke
@func: The C closure callback of the handler (useless for non-C closures)
@data: The closure data of the handler's closure
@Returns: A valid non-0 signal handler id for a successfull match
<!-- ##### FUNCTION g_signal_handlers_block_matched ##### -->
@@ -339,15 +340,15 @@ If no handlers were found, 0 is returned, the number of blocked handlers
otherwise.
</para>
@instance: The instance to block handlers from
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handlers have to match
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got blocked
@instance: The instance to block handlers from
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handlers have to match
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got blocked
<!-- ##### FUNCTION g_signal_handlers_unblock_matched ##### -->
@@ -362,15 +363,15 @@ otherwise. The match criteria should not apply to any handlers that are
not currently blocked.
</para>
@instance: The instance to unblock handlers from
@mask: Mask indicating which of @signal_id, @detail,
@instance: The instance to unblock handlers from
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handlers have to match
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got unblocked
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got unblocked
<!-- ##### FUNCTION g_signal_handlers_disconnect_matched ##### -->
@@ -384,15 +385,15 @@ If no handlers were found, 0 is returned, the number of disconnected handlers
otherwise.
</para>
@instance: The instance to remove handlers from
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handlers have to match
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got disconnected
@instance: The instance to remove handlers from
@mask: Mask indicating which of @signal_id, @detail,
@closure, @func and/or @data the handlers have to match
@signal_id: Signal the handlers have to be connected to
@detail: Signal detail the handlers have to be connected to
@closure: The closure the handlers will invoke
@func: The C closure callback of the handlers (useless for non-C closures)
@data: The closure data of the handlers' closures
@Returns: The amount of handlers that got disconnected
<!-- ##### FUNCTION g_signal_has_handler_pending ##### -->
@@ -446,19 +447,18 @@ otherwise.
@hook_id:
<!-- ##### FUNCTION g_signal_handlers_destroy ##### -->
<!-- ##### FUNCTION g_signal_parse_name ##### -->
<para>
Internal function to parse a signal names into its @signal_id
and @detail quark.
</para>
@instance:
<!-- ##### FUNCTION g_signals_destroy ##### -->
<para>
</para>
@itype:
@detailed_signal: A string of the form "signal-name::detail"
@itype: The interface/instance type taht introduced "signal-name"
@signal_id_p: Location to store the signal id
@detail_p: Location to stroe the detail quark
@force_detail_quark: %TRUE forces creation of a GQuark for the detail
@Returns: Whether the signal name could successfully be parsed and
@signal_id_p and @detail_p contain valid return values.