[gnome-applets] cpufreq: remove cpufreq_selector_service_get_instance
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets] cpufreq: remove cpufreq_selector_service_get_instance
- Date: Sun, 8 Mar 2020 21:36:44 +0000 (UTC)
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]