![]() |
![]() |
![]() |
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 NULL key 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
NULL
camel_object_bag_add()
or
camel_object_bag_abort()
.
|
a CamelObjectBag |
|
the key to reserve |
Returns : |
the object for key , or NULL key 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 |