diff --git a/docs/reference/glib/glib-docs.sgml b/docs/reference/glib/glib-docs.sgml index b58f633c8..992c54265 100644 --- a/docs/reference/glib/glib-docs.sgml +++ b/docs/reference/glib/glib-docs.sgml @@ -119,7 +119,6 @@ synchronize their operation. - @@ -129,6 +128,7 @@ synchronize their operation. Deprecated APIs + diff --git a/glib/Makefile.am b/glib/Makefile.am index 012ab0860..f18a54202 100644 --- a/glib/Makefile.am +++ b/glib/Makefile.am @@ -113,6 +113,7 @@ uninstall-ms-lib: deprecated_sources = \ deprecated/gallocator.c \ + deprecated/gcache.c \ deprecated/gcompletion.c \ deprecated/grel.c \ deprecated/gthread-deprecated.c @@ -131,7 +132,6 @@ libglib_2_0_la_SOURCES = \ gbsearcharray.h \ gbuffer.c \ gbufferprivate.h \ - gcache.c \ gchecksum.c \ gconvert.c \ gdataset.c \ @@ -241,6 +241,7 @@ glibinclude_HEADERS = \ deprecatedincludedir=$(includedir)/glib-2.0/glib/deprecated deprecatedinclude_HEADERS = \ deprecated/gallocator.h \ + deprecated/gcache.h \ deprecated/gcompletion.h \ deprecated/grel.h \ deprecated/gthread.h @@ -255,7 +256,6 @@ glibsubinclude_HEADERS = \ gbase64.h \ gbitlock.h \ gbookmarkfile.h \ - gcache.h \ gchecksum.h \ gconvert.h \ gdataset.h \ diff --git a/glib/gcache.c b/glib/deprecated/gcache.c similarity index 85% rename from glib/gcache.c rename to glib/deprecated/gcache.c index e155bb794..4968c3239 100644 --- a/glib/gcache.c +++ b/glib/deprecated/gcache.c @@ -45,14 +45,12 @@ * A #GCache allows sharing of complex data structures, in order to * save system resources. * - * GTK+ uses caches for #GtkStyles and #GdkGCs. These consume a lot of - * resources, so a #GCache is used to see if a #GtkStyle or #GdkGC with - * the required properties already exists. If it does, then the - * existing object is used instead of creating a new one. + * GCache uses keys and values. A GCache key describes the properties + * of a particular resource. A GCache value is the actual resource. * - * #GCache uses keys and values. A #GCache key describes the properties - * of a particular resource. A #GCache value is the actual resource. - **/ + * GCache has been marked as deprecated, since this API is rarely + * used and not very actively maintained. + */ typedef struct _GCacheNode GCacheNode; @@ -69,7 +67,9 @@ struct _GCacheNode * The #GCache struct is an opaque data structure containing * information about a #GCache. It should only be accessed via the * following functions. - **/ + * + * Deprecated:2.32: Use a #GHashTable instead + */ struct _GCache { /* Called to create a value from a key */ @@ -110,54 +110,60 @@ g_cache_node_destroy (GCacheNode *node) * g_cache_new: * @value_new_func: a function to create a new object given a key. * This is called by g_cache_insert() if an object - * with the given key does not already exist. + * with the given key does not already exist * @value_destroy_func: a function to destroy an object. It is called * by g_cache_remove() when the object is no * longer needed (i.e. its reference count drops - * to 0). + * to 0) * @key_dup_func: a function to copy a key. It is called by * g_cache_insert() if the key does not already exist in - * the #GCache. + * the #GCache * @key_destroy_func: a function to destroy a key. It is called by * g_cache_remove() when the object is no longer - * needed (i.e. its reference count drops to 0). - * @hash_key_func: a function to create a hash value from a key. - * @hash_value_func: a function to create a hash value from a value. + * needed (i.e. its reference count drops to 0) + * @hash_key_func: a function to create a hash value from a key + * @hash_value_func: a function to create a hash value from a value * @key_equal_func: a function to compare two keys. It should return - * %TRUE if the two keys are equivalent. - * @Returns: a new #GCache. + * %TRUE if the two keys are equivalent * * Creates a new #GCache. - **/ + * + * Returns: a new #GCache + * + * Deprecated:2.32: Use a #GHashTable instead + */ + /** * GCacheNewFunc: - * @key: a #GCache key. + * @key: a #GCache key * @Returns: a new #GCache value corresponding to the key. * * Specifies the type of the @value_new_func function passed to * g_cache_new(). It is passed a #GCache key and should create the * value corresponding to the key. - **/ + */ + /** * GCacheDestroyFunc: - * @value: the #GCache value to destroy. + * @value: the #GCache value to destroy * * Specifies the type of the @value_destroy_func and @key_destroy_func * functions passed to g_cache_new(). The functions are passed a * pointer to the #GCache key or #GCache value and should free any * memory and other resources associated with it. - **/ + */ + /** * GCacheDupFunc: * @value: the #GCache key to destroy (not a - * #GCache value as it seems). - * @Returns: a copy of the #GCache key. + * #GCache value as it seems) + * @Returns: a copy of the #GCache key * * Specifies the type of the @key_dup_func function passed to * g_cache_new(). The function is passed a key * (not a value as the prototype implies) and * should return a duplicate of the key. - **/ + */ GCache* g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc value_destroy_func, @@ -190,13 +196,15 @@ g_cache_new (GCacheNewFunc value_new_func, /** * g_cache_destroy: - * @cache: a #GCache. + * @cache: a #GCache * * Frees the memory allocated for the #GCache. * * Note that it does not destroy the keys and values which were * contained in the #GCache. - **/ + * + * Deprecated:2.32: Use a #GHashTable instead + */ void g_cache_destroy (GCache *cache) { @@ -209,9 +217,8 @@ g_cache_destroy (GCache *cache) /** * g_cache_insert: - * @cache: a #GCache. - * @key: a key describing a #GCache object. - * @Returns: a pointer to a #GCache value. + * @cache: a #GCache + * @key: a key describing a #GCache object * * Gets the value corresponding to the given key, creating it if * necessary. It first checks if the value already exists in the @@ -221,7 +228,11 @@ g_cache_destroy (GCache *cache) * exist, if is created by calling the @value_new_func. The key is * duplicated by calling @key_dup_func and the duplicated key and value * are inserted into the #GCache. - **/ + * + * Returns: a pointer to a #GCache value + * + * Deprecated:2.32: Use a #GHashTable instead + */ gpointer g_cache_insert (GCache *cache, gpointer key) @@ -250,13 +261,15 @@ g_cache_insert (GCache *cache, /** * g_cache_remove: - * @cache: a #GCache. - * @value: the value to remove. + * @cache: a #GCache + * @value: the value to remove * * Decreases the reference count of the given value. If it drops to 0 * then the value and its corresponding key are destroyed, using the * @value_destroy_func and @key_destroy_func passed to g_cache_new(). - **/ + * + * Deprecated:2.32: Use a #GHashTable instead + */ void g_cache_remove (GCache *cache, gconstpointer value) @@ -285,9 +298,9 @@ g_cache_remove (GCache *cache, /** * g_cache_key_foreach: - * @cache: a #GCache. - * @func: the function to call with each #GCache key. - * @user_data: user data to pass to the function. + * @cache: a #GCache + * @func: the function to call with each #GCache key + * @user_data: user data to pass to the function * * Calls the given function for each of the keys in the #GCache. * @@ -295,7 +308,9 @@ g_cache_remove (GCache *cache, * entry and the @user_data. The order of value and key is different * from the order in which g_hash_table_foreach() passes key-value * pairs to its callback function ! - **/ + * + * Deprecated:2.32: Use a #GHashTable instead + */ void g_cache_key_foreach (GCache *cache, GHFunc func, @@ -309,16 +324,15 @@ g_cache_key_foreach (GCache *cache, /** * g_cache_value_foreach: - * @cache: a #GCache. - * @func: the function to call with each #GCache value. - * @user_data: user data to pass to the function. + * @cache: a #GCache + * @func: the function to call with each #GCache value + * @user_data: user data to pass to the function * * Calls the given function for each of the values in the #GCache. * * Deprecated:2.10: The reason is that it passes pointers to internal - * data structures to @func; use g_cache_key_foreach() - * instead - **/ + * data structures to @func; use g_cache_key_foreach() instead + */ void g_cache_value_foreach (GCache *cache, GHFunc func, diff --git a/glib/gcache.h b/glib/deprecated/gcache.h similarity index 96% rename from glib/gcache.h rename to glib/deprecated/gcache.h index ab1a33303..2e5119b2c 100644 --- a/glib/gcache.h +++ b/glib/deprecated/gcache.h @@ -43,6 +43,7 @@ typedef void (*GCacheDestroyFunc) (gpointer value); /* Caches */ +GLIB_DEPRECATED GCache* g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc value_destroy_func, GCacheDupFunc key_dup_func, @@ -50,20 +51,22 @@ GCache* g_cache_new (GCacheNewFunc value_new_func, GHashFunc hash_key_func, GHashFunc hash_value_func, GEqualFunc key_equal_func); +GLIB_DEPRECATED void g_cache_destroy (GCache *cache); +GLIB_DEPRECATED gpointer g_cache_insert (GCache *cache, gpointer key); +GLIB_DEPRECATED void g_cache_remove (GCache *cache, gconstpointer value); +GLIB_DEPRECATED void g_cache_key_foreach (GCache *cache, GHFunc func, gpointer user_data); -#ifndef G_DISABLE_DEPRECATED -GLIB_DEPRECATED_FOR(g_cache_key_foreach) +GLIB_DEPRECATED void g_cache_value_foreach (GCache *cache, GHFunc func, gpointer user_data); -#endif G_END_DECLS diff --git a/glib/glib.h b/glib/glib.h index b8607b04e..886fd8098 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -96,6 +95,7 @@ #ifndef G_DISABLE_DEPRECATED #include +#include #include #include #include