Top | ![]() |
![]() |
![]() |
![]() |
ToolPoolToolPool — a storage container that can uniquely stores GBoxed objects. |
This storage is intended to be a signaling container for a given type of GBoxed objects. In addition, these objects are guaranteed to be unique in the container.
ToolPool * tool_pool_new (GType type
,GCompareFunc compare
);
Create a new ToolPool object to store GBoxed objects defined by
type
. These objects must be comparable with compare
function.
Since: 3.8
gpointer tool_pool_add (ToolPool *pool
,gconstpointer boxed
);
Copy boxed
into pool
if not already present.
Since: 3.8
gpointer tool_pool_take (ToolPool *pool
,gpointer boxed
);
Insert boxed
in pool
and takes ownership.
Since: 3.8
GList *
tool_pool_asList (ToolPool *pool
);
Get the list of elements stored in pool
.
the list
should be freed with g_list_free()
when no longer needed.
[transfer container][element-type GLib.Value]
Since: 3.8
gpointer tool_pool_getById (ToolPool *pool
,guint num
);
This function retrieves the nth stored object. Number 0, is the last added object.
gpointer tool_pool_getByData (ToolPool *pool
,gconstpointer boxed
);
This function retrieves the stored object that is equivalent to boxed
.
Since: 3.8
gint tool_pool_index (ToolPool *pool
,gconstpointer boxed
);
Retrieve the storage index of boxed
if it exists, or -1 if not.
Since: 3.8
struct ToolPoolClass { GObjectClass parent; };
A short way to identify _ToolPoolClass structure.
“type”
property“type” GType *
stored type.
Flags: Read / Write / Construct Only
Allowed values: gpointer
“new-element”
signalvoid user_function (ToolPool *pool, gpointer boxed, gpointer user_data)
A new object is available in the pool.
pool |
the object emitting the signal. |
|
boxed |
the newly added object. |
|
user_data |
user data set when the signal handler was connected. |
Flags: No Hooks
Since: 3.8