a reserved key
Adds object
to bag
. The key
MUST have been previously reserved using
camel_object_bag_reserve().
a reserved key
a #GObject
Frees bag
. As a precaution, the function will emit a warning to standard
error and return without freeing bag
if bag
still has reserved keys.
Lookup an object by key
. If the key is currently reserved, the function
will block until another thread commits or aborts the reservation. The
caller owns the reference to the returned object. Use g_object_unref ()
to unreference it.
a key
Returns the object for key
in bag,
ignoring any reservations. If it
isn't committed, then it isn't considered. This should only be used
where reliable transactional-based state is not required.
Unlink other "peek" operations, the caller owns the returned object reference. Use g_object_unref () to unreference it.
an unreserved key
Changes the key for object
to new_key,
atomically.
It is considered a programming error if object
is not found in bag
.
In such case the function will emit a terminal warning and return.
a #GObject
a new key for object
Removes object
from bag
.
a #GObject
Reserves key
in bag
. If key
is already reserved in another thread,
then wait until the reservation has been committed.
After reserving key,
you either get a reference to the object
corresponding to key
(similar to camel_object_bag_get()) or you get
%NULL, signifying that you MUST call either camel_object_bag_add() or
camel_object_bag_abort().
the key to reserve
Aborts a key reservation.