summaryrefslogtreecommitdiff
path: root/plugins/housekeeping
diff options
context:
space:
mode:
authorrbuj <[email protected]>2021-01-22 08:40:36 +0100
committerLuke from DC <[email protected]>2021-02-13 19:39:57 +0000
commit102871cc2c42e8911c7bfe39d2a9d5d493bfc73d (patch)
tree7f6d46893402e0f64fb52dc84f94987ca4f55325 /plugins/housekeeping
parent9a39afb160c70a05eb5681e8254d6bfc7f56a1ce (diff)
downloadmate-settings-daemon-102871cc2c42e8911c7bfe39d2a9d5d493bfc73d.tar.bz2
mate-settings-daemon-102871cc2c42e8911c7bfe39d2a9d5d493bfc73d.tar.xz
housekeeping: promote MsdHousekeepingManager class to final type
Diffstat (limited to 'plugins/housekeeping')
-rw-r--r--plugins/housekeeping/msd-housekeeping-manager.c53
-rw-r--r--plugins/housekeeping/msd-housekeeping-manager.h35
2 files changed, 33 insertions, 55 deletions
diff --git a/plugins/housekeeping/msd-housekeeping-manager.c b/plugins/housekeeping/msd-housekeeping-manager.c
index 4a76241..9d5ed80 100644
--- a/plugins/housekeeping/msd-housekeeping-manager.c
+++ b/plugins/housekeeping/msd-housekeeping-manager.c
@@ -38,17 +38,18 @@
#define THUMB_CACHE_KEY_AGE "maximum-age"
#define THUMB_CACHE_KEY_SIZE "maximum-size"
-struct MsdHousekeepingManagerPrivate {
- guint long_term_cb;
- guint short_term_cb;
+struct _MsdHousekeepingManager {
+ GObject parent;
+
+ guint long_term_cb;
+ guint short_term_cb;
GSettings *settings;
};
-G_DEFINE_TYPE_WITH_PRIVATE (MsdHousekeepingManager, msd_housekeeping_manager, G_TYPE_OBJECT)
+G_DEFINE_TYPE (MsdHousekeepingManager, msd_housekeeping_manager, G_TYPE_OBJECT)
static gpointer manager_object = NULL;
-
typedef struct {
GDateTime *now;
GTimeSpan max_age;
@@ -56,7 +57,6 @@ typedef struct {
goffset max_size;
} PurgeData;
-
typedef struct {
GDateTime *mtime;
char *path;
@@ -155,8 +155,8 @@ purge_thumbnail_cache (MsdHousekeepingManager *manager)
g_debug ("housekeeping: checking thumbnail cache size and freshness");
- purge_data.max_age = g_settings_get_int (manager->priv->settings, THUMB_CACHE_KEY_AGE) * G_TIME_SPAN_DAY;
- purge_data.max_size = g_settings_get_int (manager->priv->settings, THUMB_CACHE_KEY_SIZE) * 1024 * 1024;
+ purge_data.max_age = g_settings_get_int (manager->settings, THUMB_CACHE_KEY_AGE) * G_TIME_SPAN_DAY;
+ purge_data.max_size = g_settings_get_int (manager->settings, THUMB_CACHE_KEY_SIZE) * 1024 * 1024;
/* if both are set to -1, we don't need to read anything */
if ((purge_data.max_age < 0) && (purge_data.max_size < 0))
@@ -216,16 +216,16 @@ static gboolean
do_cleanup_once (MsdHousekeepingManager *manager)
{
do_cleanup (manager);
- manager->priv->short_term_cb = 0;
+ manager->short_term_cb = 0;
return FALSE;
}
static void
do_cleanup_soon (MsdHousekeepingManager *manager)
{
- if (manager->priv->short_term_cb == 0) {
+ if (manager->short_term_cb == 0) {
g_debug ("housekeeping: will tidy up in 2 minutes");
- manager->priv->short_term_cb = g_timeout_add_seconds (INTERVAL_TWO_MINUTES,
+ manager->short_term_cb = g_timeout_add_seconds (INTERVAL_TWO_MINUTES,
(GSourceFunc) do_cleanup_once,
manager);
}
@@ -248,16 +248,16 @@ msd_housekeeping_manager_start (MsdHousekeepingManager *manager,
msd_ldsm_setup (FALSE);
- manager->priv->settings = g_settings_new (THUMB_CACHE_SCHEMA);
+ manager->settings = g_settings_new (THUMB_CACHE_SCHEMA);
- g_signal_connect (manager->priv->settings, "changed",
- G_CALLBACK (settings_changed_callback), manager);
+ g_signal_connect (manager->settings, "changed",
+ G_CALLBACK (settings_changed_callback), manager);
/* Clean once, a few minutes after start-up */
do_cleanup_soon (manager);
/* Clean periodically, on a daily basis. */
- manager->priv->long_term_cb = g_timeout_add_seconds (INTERVAL_ONCE_A_DAY,
+ manager->long_term_cb = g_timeout_add_seconds (INTERVAL_ONCE_A_DAY,
(GSourceFunc) do_cleanup,
manager);
mate_settings_profile_end (NULL);
@@ -268,30 +268,28 @@ msd_housekeeping_manager_start (MsdHousekeepingManager *manager,
void
msd_housekeeping_manager_stop (MsdHousekeepingManager *manager)
{
- MsdHousekeepingManagerPrivate *p = manager->priv;
-
g_debug ("Stopping housekeeping manager");
- if (p->short_term_cb) {
- g_source_remove (p->short_term_cb);
- p->short_term_cb = 0;
+ if (manager->short_term_cb) {
+ g_source_remove (manager->short_term_cb);
+ manager->short_term_cb = 0;
}
- if (p->long_term_cb) {
- g_source_remove (p->long_term_cb);
- p->long_term_cb = 0;
+ if (manager->long_term_cb) {
+ g_source_remove (manager->long_term_cb);
+ manager->long_term_cb = 0;
/* Do a clean-up on shutdown if and only if the size or age
* limits have been set to a paranoid level of cleaning (zero)
*/
- if ((g_settings_get_int (p->settings, THUMB_CACHE_KEY_AGE) == 0) ||
- (g_settings_get_int (p->settings, THUMB_CACHE_KEY_SIZE) == 0)) {
+ if ((g_settings_get_int (manager->settings, THUMB_CACHE_KEY_AGE) == 0) ||
+ (g_settings_get_int (manager->settings, THUMB_CACHE_KEY_SIZE) == 0)) {
do_cleanup (manager);
}
}
- g_object_unref (p->settings);
- p->settings = NULL;
+ g_object_unref (manager->settings);
+ manager->settings = NULL;
msd_ldsm_clean ();
}
@@ -304,7 +302,6 @@ msd_housekeeping_manager_class_init (MsdHousekeepingManagerClass *klass)
static void
msd_housekeeping_manager_init (MsdHousekeepingManager *manager)
{
- manager->priv = msd_housekeeping_manager_get_instance_private (manager);
}
MsdHousekeepingManager *
diff --git a/plugins/housekeeping/msd-housekeeping-manager.h b/plugins/housekeeping/msd-housekeeping-manager.h
index a336fad..5d481cc 100644
--- a/plugins/housekeeping/msd-housekeeping-manager.h
+++ b/plugins/housekeeping/msd-housekeeping-manager.h
@@ -18,42 +18,23 @@
*
*/
-#ifndef __MSD_HOUSEKEEPING_MANAGER_H
-#define __MSD_HOUSEKEEPING_MANAGER_H
+#ifndef MSD_HOUSEKEEPING_MANAGER_H
+#define MSD_HOUSEKEEPING_MANAGER_H
#include <glib-object.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
-#define MSD_TYPE_HOUSEKEEPING_MANAGER (msd_housekeeping_manager_get_type ())
-#define MSD_HOUSEKEEPING_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MSD_TYPE_HOUSEKEEPING_MANAGER, MsdHousekeepingManager))
-#define MSD_HOUSEKEEPING_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MSD_TYPE_HOUSEKEEPING_MANAGER, MsdHousekeepingManagerClass))
-#define MSD_IS_HOUSEKEEPING_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MSD_TYPE_HOUSEKEEPING_MANAGER))
-#define MSD_IS_HOUSEKEEPING_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MSD_TYPE_HOUSEKEEPING_MANAGER))
-#define MSD_HOUSEKEEPING_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MSD_TYPE_HOUSEKEEPING_MANAGER, MsdHousekeepingManagerClass))
+#define MSD_TYPE_HOUSEKEEPING_MANAGER (msd_housekeeping_manager_get_type ())
-typedef struct MsdHousekeepingManagerPrivate MsdHousekeepingManagerPrivate;
-
-typedef struct {
- GObject parent;
- MsdHousekeepingManagerPrivate *priv;
-} MsdHousekeepingManager;
-
-typedef struct {
- GObjectClass parent_class;
-} MsdHousekeepingManagerClass;
-
-GType msd_housekeeping_manager_get_type (void);
+G_DECLARE_FINAL_TYPE (MsdHousekeepingManager, msd_housekeeping_manager,
+ MSD, HOUSEKEEPING_MANAGER, GObject)
MsdHousekeepingManager * msd_housekeeping_manager_new (void);
gboolean msd_housekeeping_manager_start (MsdHousekeepingManager *manager,
GError **error);
void msd_housekeeping_manager_stop (MsdHousekeepingManager *manager);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
-#endif /* __MSD_HOUSEKEEPING_MANAGER_H */
+#endif /* MSD_HOUSEKEEPING_MANAGER_H */