[gnome-applets] cpufreq: remove cpufreq_selector_service_get_instance



commit 4484af4f7d85dc9efb1b3519a4140734c5e0c7e6
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Mar 8 18:33:06 2020 +0200

    cpufreq: remove cpufreq_selector_service_get_instance

 .../cpufreq-selector/cpufreq-selector-service.c    | 49 ++++++++++------------
 .../cpufreq-selector/cpufreq-selector-service.h    |  3 --
 cpufreq/src/cpufreq-selector/main.c                |  7 +++-
 3 files changed, 28 insertions(+), 31 deletions(-)
---
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c 
b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c
index ea004ea3a..11a64f22b 100644
--- a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c
@@ -35,6 +35,8 @@ struct _CPUFreqSelectorService {
        
        /* PolicyKit */
        PolkitAuthority   *authority;
+
+       guint              timer_id;
 };
 
 struct _CPUFreqSelectorServiceClass {
@@ -84,7 +86,12 @@ cpufreq_selector_service_finalize (GObject *object)
        gint i;
 
        service->system_bus = NULL;
-       
+
+       if (service->timer_id != 0) {
+               g_source_remove (service->timer_id);
+               service->timer_id = 0;
+       }
+
        if (service->selectors_max >= 0) {
                for (i = 0; i < service->selectors_max; i++) {
                        if (service->selectors[i]) {
@@ -118,36 +125,26 @@ cpufreq_selector_service_init (CPUFreqSelectorService *service)
        service->selectors_max = -1;
 }
 
-CPUFreqSelectorService *
-cpufreq_selector_service_get_instance (void)
-{
-       static CPUFreqSelectorService *service = NULL;
-
-       if (!service)
-               service = CPUFREQ_SELECTOR_SERVICE (g_object_new (CPUFREQ_TYPE_SELECTOR_SERVICE, NULL));
-
-       return service;
-}
-
 static gboolean
 service_shutdown (gpointer user_data)
 {
-       g_object_unref (SELECTOR_SERVICE);
+       CPUFreqSelectorService *service;
 
-       return FALSE;
+       service = CPUFREQ_SELECTOR_SERVICE (user_data);
+       service->timer_id = 0;
+
+       g_object_unref (service);
+
+       return G_SOURCE_REMOVE;
 }
 
 static void
-reset_killtimer (void)
+reset_killtimer (CPUFreqSelectorService *service)
 {
-       static guint timer_id = 0;
-
-       if (timer_id > 0)
-               g_source_remove (timer_id);
+       if (service->timer_id != 0)
+               g_source_remove (service->timer_id);
 
-       timer_id = g_timeout_add_seconds (30,
-                                         (GSourceFunc) service_shutdown,
-                                         NULL);
+       service->timer_id = g_timeout_add_seconds (30, service_shutdown, service);
 }
 
 gboolean
@@ -243,7 +240,7 @@ cpufreq_selector_service_register (CPUFreqSelectorService *service,
        dbus_g_error_domain_register (CPUFREQ_SELECTOR_SERVICE_ERROR, NULL,
                                      CPUFREQ_TYPE_SELECTOR_SERVICE_ERROR);
 
-       reset_killtimer ();
+       reset_killtimer (service);
 
        return TRUE;
 }
@@ -317,7 +314,7 @@ cpufreq_selector_service_set_frequency (CPUFreqSelectorService *service,
        CPUFreqSelector *selector;
        GError          *error = NULL;
 
-       reset_killtimer ();
+       reset_killtimer (service);
 
        if (!cpufreq_selector_service_check_policy (service, context, &error)) {
                dbus_g_method_return_error (context, error);
@@ -382,7 +379,7 @@ cpufreq_selector_service_set_governor (CPUFreqSelectorService *service,
        CPUFreqSelector *selector;
        GError          *error = NULL;
 
-       reset_killtimer ();
+       reset_killtimer (service);
 
        if (!cpufreq_selector_service_check_policy (service, context, &error)) {
                dbus_g_method_return_error (context, error);
@@ -449,7 +446,7 @@ cpufreq_selector_service_can_set (CPUFreqSelectorService *service,
        gboolean                   ret;
         GError                    *error = NULL;
 
-       reset_killtimer ();
+       reset_killtimer (service);
 
        sender = dbus_g_method_get_sender (context);
        subject = polkit_system_bus_name_new (sender);
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h 
b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h
index e303f825a..785bce6e8 100644
--- a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h
@@ -31,8 +31,6 @@ G_BEGIN_DECLS
 #define CPUFREQ_IS_SELECTOR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
CPUFREQ_TYPE_SELECTOR_SERVICE))
 #define CPUFREQ_SELECTOR_SERVICE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
CPUFREQ_TYPE_SELECTOR_SERVICE, CPUFreqSelectorServiceClass))
 
-#define SELECTOR_SERVICE                         (cpufreq_selector_service_get_instance ())
-
 #define CPUFREQ_SELECTOR_SERVICE_ERROR           (cpufreq_selector_service_error_quark ())
 #define CPUFREQ_TYPE_SELECTOR_SERVICE_ERROR      (cpufreq_selector_service_error_get_type ())
 
@@ -49,7 +47,6 @@ typedef struct _CPUFreqSelectorServiceClass   CPUFreqSelectorServiceClass;
 GType                   cpufreq_selector_service_get_type       (void) G_GNUC_CONST;
 GType                   cpufreq_selector_service_error_get_type (void) G_GNUC_CONST;
 GQuark                  cpufreq_selector_service_error_quark    (void) G_GNUC_CONST;
-CPUFreqSelectorService *cpufreq_selector_service_get_instance   (void);
 gboolean                cpufreq_selector_service_register       (CPUFreqSelectorService *service,
                                                                 GError                **error);
 
diff --git a/cpufreq/src/cpufreq-selector/main.c b/cpufreq/src/cpufreq-selector/main.c
index e469a7922..394278fbd 100644
--- a/cpufreq/src/cpufreq-selector/main.c
+++ b/cpufreq/src/cpufreq-selector/main.c
@@ -157,6 +157,7 @@ main (gint argc, gchar **argv)
        GMainLoop      *loop;
        GOptionContext *context;
        GError         *error = NULL;
+       CPUFreqSelectorService *selector_service;
 
        context = g_option_context_new ("- CPUFreq Selector");
        g_option_context_add_main_entries (context, options, NULL);
@@ -174,7 +175,9 @@ main (gint argc, gchar **argv)
        
        g_option_context_free (context);
 
-       if (!cpufreq_selector_service_register (SELECTOR_SERVICE, &error)) {
+       selector_service = g_object_new (CPUFREQ_TYPE_SELECTOR_SERVICE, NULL);
+
+       if (!cpufreq_selector_service_register (selector_service, &error)) {
                if (governor || frequency != 0) {
                        cpufreq_selector_set_values_dbus ();
 
@@ -190,7 +193,7 @@ main (gint argc, gchar **argv)
        cpufreq_selector_set_values ();
 
        loop = g_main_loop_new (NULL, FALSE);
-       g_object_weak_ref (G_OBJECT (SELECTOR_SERVICE),
+       g_object_weak_ref (G_OBJECT (selector_service),
                           (GWeakNotify) do_exit,
                           loop);
                


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]