| Top |
Functions
| gint | camel_object_state_read () |
| gint | camel_object_state_write () |
| const gchar * | camel_object_get_state_filename () |
| void | camel_object_set_state_filename () |
| gpointer | (*CamelCopyFunc) () |
| CamelObjectBag * | camel_object_bag_new () |
| gpointer | camel_object_bag_get () |
| gpointer | camel_object_bag_peek () |
| gpointer | camel_object_bag_reserve () |
| void | camel_object_bag_add () |
| void | camel_object_bag_abort () |
| void | camel_object_bag_rekey () |
| GPtrArray * | camel_object_bag_list () |
| void | camel_object_bag_remove () |
| void | camel_object_bag_destroy () |
Types and Values
| struct | CamelObject |
| #define | CAMEL_ERROR |
| enum | CamelError |
| enum | CamelParamFlags |
| CamelObjectBag |
Functions
camel_object_state_read ()
gint
camel_object_state_read (CamelObject *object);
Read persistent object state from “state-filename”.
camel_object_state_write ()
gint
camel_object_state_write (CamelObject *object);
Write persistent object state “state-filename”.
camel_object_get_state_filename ()
const gchar *
camel_object_get_state_filename (CamelObject *object);
Returns the name of the file in which persistent property values for
object
are stored. The file is used by camel_object_state_write()
and camel_object_state_read() to save and restore object state.
Since 2.32
camel_object_set_state_filename ()
void camel_object_set_state_filename (CamelObject *object,const gchar *state_filename);
Sets the name of the file in which persistent property values for
object
are stored. The file is used by camel_object_state_write()
and camel_object_state_read() to save and restore object state.
Since 2.32
camel_object_bag_new ()
CamelObjectBag * camel_object_bag_new (GHashFunc key_hash_func,GEqualFunc key_equal_func,CamelCopyFunc key_copy_func,GFreeFunc key_free_func);
Returns a new object bag. Object bags are keyed hash tables of objects
that can be updated atomically using transaction semantics. Use
camel_object_bag_destroy() to free the object bag.
camel_object_bag_get ()
gpointer camel_object_bag_get (CamelObjectBag *bag,gconstpointer key);
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.
camel_object_bag_peek ()
gpointer camel_object_bag_peek (CamelObjectBag *bag,gconstpointer 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.
camel_object_bag_reserve ()
gpointer camel_object_bag_reserve (CamelObjectBag *bag,gconstpointer key);
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().
camel_object_bag_add ()
void camel_object_bag_add (CamelObjectBag *bag,gconstpointer key,gpointer object);
Adds object
to bag
. The key
MUST have been previously reserved using
camel_object_bag_reserve().
camel_object_bag_abort ()
void camel_object_bag_abort (CamelObjectBag *bag,gconstpointer key);
Aborts a key reservation.
camel_object_bag_rekey ()
void camel_object_bag_rekey (CamelObjectBag *bag,gpointer object,gconstpointer new_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.
camel_object_bag_list ()
GPtrArray *
camel_object_bag_list (CamelObjectBag *bag);
Returns a GPtrArray of all the objects in the bag. The caller owns both the array and the object references, so to free the array use:
1 2 |
g_ptr_array_foreach (array, g_object_unref, NULL); g_ptr_array_free (array, TRUE); |
camel_object_bag_remove ()
void camel_object_bag_remove (CamelObjectBag *bag,gpointer object);
Removes object
from bag
.
camel_object_bag_destroy ()
void
camel_object_bag_destroy (CamelObjectBag *bag);
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.
Types and Values
enum CamelParamFlags
These flags extend GParamFlags. Most of the time you will use them
in conjunction with g_object_class_install_property().
Members
|
The parameter is persistent, which means its value is saved to
“state-filename” during |
Since 2.32
Property Details
The “state-filename” property
“state-filename” gchar *
The file in which to store persistent property values for this instance.
Flags: Read / Write / Construct
Default value: NULL
