mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-28 02:20:04 +01:00
Add g_object_info_find_signal
This matches g_object_info_find_method, and allows us to add indexing later. https://bugzilla.gnome.org/show_bug.cgi?id=633204
This commit is contained in:
parent
e6bb30500c
commit
30d5255a03
@ -471,6 +471,37 @@ g_object_info_get_signal (GIObjectInfo *info,
|
||||
rinfo->typelib, offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* g_object_info_find_signal:
|
||||
* @info: a #GIObjectInfo
|
||||
* @name: Name of signal
|
||||
*
|
||||
* Returns: Info for the signal with name @name in @info, or %NULL on failure.
|
||||
*/
|
||||
GISignalInfo *
|
||||
g_object_info_find_signal (GIObjectInfo *info,
|
||||
const gchar *name)
|
||||
{
|
||||
gint n_signals;
|
||||
gint i;
|
||||
|
||||
n_signals = g_object_info_get_n_signals (info);
|
||||
for (i = 0; i < n_signals; i++)
|
||||
{
|
||||
GISignalInfo *siginfo = g_object_info_get_signal (info, i);
|
||||
|
||||
if (g_strcmp0 (g_base_info_get_name (siginfo), name) != 0)
|
||||
{
|
||||
g_base_info_unref ((GIBaseInfo*)siginfo);
|
||||
continue;
|
||||
}
|
||||
|
||||
return siginfo;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* g_object_info_get_n_vfuncs:
|
||||
* @info: a #GIObjectInfo
|
||||
|
@ -94,6 +94,10 @@ GIFunctionInfo * g_object_info_find_method (GIObjectInfo *info,
|
||||
gint g_object_info_get_n_signals (GIObjectInfo *info);
|
||||
GISignalInfo * g_object_info_get_signal (GIObjectInfo *info,
|
||||
gint n);
|
||||
|
||||
GISignalInfo * g_object_info_find_signal (GIObjectInfo *info,
|
||||
const gchar *name);
|
||||
|
||||
gint g_object_info_get_n_vfuncs (GIObjectInfo *info);
|
||||
GIVFuncInfo * g_object_info_get_vfunc (GIObjectInfo *info,
|
||||
gint n);
|
||||
|
Loading…
x
Reference in New Issue
Block a user