| Camel Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | ||||
struct CamelObject; #define CAMEL_ERROR enum CamelError; enum CamelParamFlags;gint camel_object_state_read (CamelObject *object);gint camel_object_state_write (CamelObject *object); constgchar * camel_object_get_state_filename (CamelObject *object);void camel_object_set_state_filename (CamelObject *object,const); CamelObjectBag;gchar *state_filenamegpointer (*CamelCopyFunc) (); CamelObjectBag * camel_object_bag_new (gconstpointer object,GHashFunc key_hash_func,GEqualFunc key_equal_funcCamelCopyFunc key_copy_func,);GFreeFunc key_free_funcgpointer camel_object_bag_get (CamelObjectBag *bag,);gconstpointer keygpointer camel_object_bag_peek (CamelObjectBag *bag,);gconstpointer keygpointer camel_object_bag_reserve (CamelObjectBag *bag,);gconstpointer keyvoid camel_object_bag_add (CamelObjectBag *bag,,gconstpointer key);gpointer objectvoid camel_object_bag_abort (CamelObjectBag *bag,);gconstpointer keyvoid camel_object_bag_rekey (CamelObjectBag *bag,,gpointer object);gconstpointer new_keyGPtrArray * camel_object_bag_list (CamelObjectBag *bag);void camel_object_bag_remove (CamelObjectBag *bag,);gpointer objectvoid camel_object_bag_destroy (CamelObjectBag *bag);
GObject +----CamelObject +----CamelAddress +----CamelBlockFile +----CamelKeyFile +----CamelCertDB +----CamelCipherContext +----CamelDataCache +----CamelDataWrapper +----CamelDiscoDiary +----CamelFolder +----CamelService +----CamelFilterDriver +----CamelFolderSearch +----CamelFolderSummary +----CamelHTMLParser +----CamelStream +----CamelIndexCursor +----CamelIndexName +----CamelIndex +----CamelMimeFilter +----CamelMimeParser +----CamelOfflineJournal +----CamelPartitionTable +----CamelKeyTable +----CamelSasl +----CamelSession +----CamelStoreSummary
typedef enum {
CAMEL_ERROR_GENERIC /* lazy fallback error */
} CamelError;
Since 2.32
typedef enum {
CAMEL_PARAM_PERSISTENT = 1 << (G_PARAM_USER_SHIFT + 0)
} CamelParamFlags;
These flags extend g_object_class_install_property()
The parameter is persistent, which means its value is saved to
"state-filename" during camel_object_state_write(),
and restored during camel_object_state_read().
|
Since 2.32
gint camel_object_state_read (CamelObject *object);
Read persistent object state from "state-filename".
|
a CamelObject |
Returns : |
-1 on error. |
gint camel_object_state_write (CamelObject *object);
Write persistent object state "state-filename".
|
a CamelObject |
Returns : |
-1 on error. |
constgchar * 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.
|
a CamelObject |
Returns : |
the name of the persistent property file |
Since 2.32
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.
|
a CamelObject |
|
path to a local file |
Since 2.32
CamelObjectBag * camel_object_bag_new (,GHashFunc key_hash_func,GEqualFunc key_equal_funcCamelCopyFunc 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.
|
a hashing function for keys |
|
a comparison function for keys |
|
a function to copy keys |
|
a function to free keys |
Returns : |
a newly-allocated CamelObjectBag |
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()
|
a CamelObjectBag |
|
a key |
Returns : |
the object corresponding to key, or NULL |
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()
|
a CamelObjectBag |
|
an unreserved key |
Returns : |
the object for key, or NULLkey is reserved or not found |
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
NULLcamel_object_bag_add() or
camel_object_bag_abort().
|
a CamelObjectBag |
|
the key to reserve |
Returns : |
the object for key, or NULLkey is not found |
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().
|
a CamelObjectBag |
|
a reserved key |
|
a |
void camel_object_bag_abort (CamelObjectBag *bag,);gconstpointer key
Aborts a key reservation.
|
a CamelObjectBag |
|
a reserved key |
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.
|
a CamelObjectBag |
|
a |
|
a new key for object
|
GPtrArray * camel_object_bag_list (CamelObjectBag *bag);
Returns a
g_ptr_array_foreach (array, g_object_unref, NULL);
g_ptr_array_free (array, TRUE);
|
a CamelObjectBag |
Returns : |
an array of objects in bag
|
void camel_object_bag_remove (CamelObjectBag *bag,);gpointer object
Removes object from bag.
|
a CamelObjectBag |
|
a |
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.
|
a CamelObjectBag |