From 2ffbdf7cabe94a79eab77ba3ddeb8fd0506a93f7 Mon Sep 17 00:00:00 2001 From: Kate Hsuan Date: Tue, 16 Apr 2024 16:53:17 +0800 Subject: [PATCH 1/4] main: remove deprecated API g_type_init() was deprecated since Glib 2.36. --- src/main.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 34715cb8..135fa3ff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -322,9 +322,6 @@ int main(int argc, char *argv[]) { g_unix_signal_add (SIGTERM, G_SOURCE_FUNC (sig_int_handler), NULL); } - // Initialize the GType/GObject system - g_type_init(); - // Create a main loop that will dispatch callbacks g_main_loop = g_main_loop_new(NULL, FALSE); if (g_main_loop == NULL) { From 4aeed1e59a2901d95aefe881673842b9785c8cfa Mon Sep 17 00:00:00 2001 From: Kate Hsuan Date: Tue, 16 Apr 2024 16:56:31 +0800 Subject: [PATCH 2/4] thd_engine_default: Drop modem support Don't new a intel_modem object. --- src/thd_engine_default.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/thd_engine_default.cpp b/src/thd_engine_default.cpp index a81ecb39..330cc51d 100644 --- a/src/thd_engine_default.cpp +++ b/src/thd_engine_default.cpp @@ -48,9 +48,6 @@ #include "thd_sensor_rapl_power.h" #include "thd_zone_rapl_power.h" -#ifdef GLIB_SUPPORT -#include "thd_cdev_modem.h" -#endif // Default CPU cooling devices, which are not part of thermal sysfs // Since non trivial initialization is not supported, we init all fields even if they are not needed @@ -622,18 +619,7 @@ int cthd_engine_default::add_replace_cdev(cooling_dev_t *config) { } if (!cdev_present) { // create new - if (config->type_string.compare("intel_modem") == 0) { -#ifdef GLIB_SUPPORT - /* - * Add Modem as cdev - * intel_modem is a modem identifier across all intel platforms. - * The differences between the modems of various intel platforms - * are to be taken care in the cdev implementation. - */ - cdev = new cthd_cdev_modem(current_cdev_index, config->path_str); -#endif - } else - cdev = new cthd_gen_sysfs_cdev(current_cdev_index, config->path_str); + cdev = new cthd_gen_sysfs_cdev(current_cdev_index, config->path_str); if (!cdev) return THD_ERROR; cdev->set_cdev_type(config->type_string); From 7fa7a2e0408d8efe570139c48c32afefc84480e9 Mon Sep 17 00:00:00 2001 From: Kate Hsuan Date: Tue, 16 Apr 2024 17:14:16 +0800 Subject: [PATCH 3/4] build: remove thd_cdev_modem and dbus-glib thd_cdev_modem.cpp and .h were dropped. Moreover, dbus-glib was dropped from the build scripts. --- Makefile.am | 12 +- configure.ac | 12 +- src/thd_cdev_modem.cpp | 521 ----------------------------------------- src/thd_cdev_modem.h | 64 ----- src/thermald.h | 3 - 5 files changed, 3 insertions(+), 609 deletions(-) delete mode 100644 src/thd_cdev_modem.cpp delete mode 100644 src/thd_cdev_modem.h diff --git a/Makefile.am b/Makefile.am index dd2ef103..996388a3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,9 +5,9 @@ SUBDIRS = . docs data ACLOCAL_AMFLAGS = # Global C Flags -AM_CFLAGS = ${DBUS_CFLAGS} +AM_CFLAGS = ${GLIB_CFLAGS} AM_CXXFLAGS = \ - ${DBUS_CFLAGS} \ + $(GLIB_CFLAGS) \ $(XML_CFLAGS) \ $(UPOWER_CFLAGS) \ $(EVDEV_CFLAGS) \ @@ -30,7 +30,6 @@ thermald_CPPFLAGS = \ thermald_includedir = @top_srcdir@ thermald_LDADD = \ - $(DBUS_LIBS) \ $(GLIB_LIBS) \ $(LIBNL_LIBS) \ $(LIBM) \ @@ -39,9 +38,6 @@ thermald_LDADD = \ $(UPOWER_LIBS) \ $(EVDEV_LIBS) -BUILT_SOURCES = \ - thd_dbus_interface.h \ - thermald-resource.c thermald_SOURCES = \ src/main.cpp \ @@ -74,7 +70,6 @@ thermald_SOURCES = \ src/thd_cdev_rapl_dram.cpp \ src/thd_cpu_default_binding.cpp \ src/thd_cdev_backlight.cpp \ - src/thd_cdev_modem.cpp \ src/thd_int3400.cpp \ src/thd_cdev_kbl_amdgpu.cpp \ src/thd_sensor_kbl_amdgpu_power.cpp \ @@ -93,9 +88,6 @@ thermald_SOURCES = \ man5_MANS = man/thermal-conf.xml.5 man8_MANS = man/thermald.8 -thd_dbus_interface.h: $(top_srcdir)/src/thd_dbus_interface.xml - $(AM_V_GEN) dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=$@ $< - thermald-resource.c: $(top_srcdir)/thermald-resource.gresource.xml $(AM_V_GEN) glib-compile-resources --generate-source thermald-resource.gresource.xml diff --git a/configure.ac b/configure.ac index 334f38fe..b72019e4 100644 --- a/configure.ac +++ b/configure.ac @@ -62,20 +62,10 @@ GETTEXT_PACKAGE=thermald AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) -dnl -dnl Checks for new dbus-glib property access function -dnl -AC_CHECK_LIB([dbus-glib-1], [dbus_glib_global_set_disable_legacy_property_access], ac_have_dg_prop="1", ac_have_dg_prop="0") -AC_DEFINE_UNQUOTED(HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS, $ac_have_dg_prop, [Define if you have a dbus-glib with dbus_glib_global_set_disable_legacy_property_access()]) - -PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.1 dbus-glib-1 >= 0.94) -AC_SUBST(DBUS_CFLAGS) -AC_SUBST(DBUS_LIBS) - GLIB_VERSION_DEFINES="-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26" DBUS_CFLAGS="$DBUS_CFLAGS $GLIB_VERSION_DEFINES" -PKG_CHECK_MODULES(GLIB, gio-unix-2.0 >= 2.22 gmodule-2.0) +PKG_CHECK_MODULES(GLIB, gio-unix-2.0 >= 2.22 gmodule-2.0 glib-2.0) GLIB_CFLAGS="$GLIB_CFLAGS $GLIB_VERSION_DEFINES" AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) diff --git a/src/thd_cdev_modem.cpp b/src/thd_cdev_modem.cpp deleted file mode 100644 index 6c3ff6cb..00000000 --- a/src/thd_cdev_modem.cpp +++ /dev/null @@ -1,521 +0,0 @@ -/* - * thd_cdev_modem.cpp: thermal modem cooling implementation - * Copyright (c) 2016, Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License - * version 2 or later as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * - * Author Name - * - */ - -/* - * Modem Throttling Levels: - * 0 - Disabled or No Throttling - * 1 - Enabled - */ - -#include -#include -#include - -#include "thd_cdev_modem.h" - -int cthd_cdev_modem::parse_ofono_property_changed_signal(DBusMessage* msg, - const char* interface, const char* signal, const char* property, - dbus_bool_t* new_value) { - DBusMessageIter iter; - DBusMessageIter var; - - char *property_name; - - dbus_message_iter_init(msg, &iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) { - thd_log_error("Invalid arguments in %s[%s]", interface, signal); - return THD_ERROR; - } - - dbus_message_iter_get_basic(&iter, &property_name); - - if (strlen(property) != strlen(property_name) - || strcmp(property, property_name)) { - thd_log_error("Unsupported property : %s", property_name); - return THD_ERROR; - } - - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) { - thd_log_error("Invalid arguments in %s[%s(%s)]", interface, signal, - property); - return THD_ERROR; - } - - dbus_message_iter_recurse(&iter, &var); - - if (dbus_message_iter_get_arg_type(&var) != DBUS_TYPE_BOOLEAN) { - thd_log_error("Invalid arguments in %s[%s(%s)]", interface, signal, - property); - return THD_ERROR; - } - - dbus_message_iter_get_basic(&var, new_value); - - return THD_SUCCESS; -} - -DBusHandlerResult cthd_cdev_modem::ofono_signal_handler(DBusConnection *conn, - DBusMessage *msg, void *user_data) { - DBusError error; - cthd_cdev_modem *cdev_modem = (cthd_cdev_modem *) user_data; - - const char *signal = "PropertyChanged"; - - dbus_error_init(&error); - - if (dbus_message_is_signal(msg, THERMAL_MANAGEMENT_INTERFACE, signal)) { - dbus_bool_t throttling; - - if (parse_ofono_property_changed_signal(msg, - THERMAL_MANAGEMENT_INTERFACE, signal, "TransmitPowerThrottling", - &throttling) != THD_SUCCESS) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (cdev_modem) { - cdev_modem->set_throttling_state(throttling ? true : false); - - cdev_modem->update_online_state(conn); - cdev_modem->update_throttling_state(conn); - thd_log_debug("TransmitPowerThrottling Initiated"); - } - - return DBUS_HANDLER_RESULT_HANDLED; - } else if (dbus_message_is_signal(msg, MODEM_INTERFACE, signal)) { - dbus_bool_t online; - - if (parse_ofono_property_changed_signal(msg, MODEM_INTERFACE, signal, - "Online", &online) != THD_SUCCESS) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (cdev_modem) { - cdev_modem->set_online_state(online ? true : false); - cdev_modem->update_online_state(conn); - cdev_modem->update_throttling_state(conn); - thd_log_debug("Modem online Initiated"); - } - - return DBUS_HANDLER_RESULT_HANDLED; - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -cthd_cdev_modem::cthd_cdev_modem(unsigned int _index, std::string control_path) : - cthd_cdev(_index, "") { - throttling = false; - online = false; - - if (control_path.length() > 0) - modem_path.assign(control_path); - else - modem_path.assign("/ril_0"); -} - -int cthd_cdev_modem::get_modem_property(DBusConnection* conn, - const char* interface, const char* property, bool* value) { - DBusError error; - DBusMessage *msg; - DBusMessage *reply; - DBusMessageIter array; - DBusMessageIter dict; - int rc = THD_ERROR; - - dbus_error_init(&error); - - msg = dbus_message_new_method_call("org.ofono", modem_path.c_str(), - interface, "GetProperties"); - if (msg == NULL) { - thd_log_error("Error creating D-Bus message for GetProperties " - "under %s : %s\n", modem_path.c_str(), error.message); - return rc; - } - - reply = dbus_connection_send_with_reply_and_block(conn, msg, 10000, &error); - if (dbus_error_is_set(&error)) { - thd_log_error("Error invoking GetProperties under %s : %s\n", - modem_path.c_str(), error.message); - dbus_error_free(&error); - dbus_message_unref(msg); - return rc; - } - - dbus_message_unref(msg); - - dbus_message_iter_init(reply, &array); - if (dbus_message_iter_get_arg_type(&array) != DBUS_TYPE_ARRAY) { - thd_log_error("GetProperties return type not array under %s!\n", - modem_path.c_str()); - dbus_message_unref(reply); - return rc; - } - - dbus_message_iter_recurse(&array, &dict); - - while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter key, var; - - char *property_name; - - dbus_message_iter_recurse(&dict, &key); - - if (dbus_message_iter_get_arg_type(&key) != DBUS_TYPE_STRING) { - thd_log_error("GetProperties dict key type not string " - "under %s!\n", modem_path.c_str()); - dbus_message_unref(reply); - return rc; - } - - dbus_message_iter_get_basic(&key, &property_name); - - /* Check if, this is the property we are interested in */ - if (strlen(property) != strlen(property_name) - || strcmp(property, property_name)) { - dbus_message_iter_next(&dict); - continue; - } - - dbus_message_iter_next(&key); - - if (dbus_message_iter_get_arg_type(&key) != DBUS_TYPE_VARIANT) { - thd_log_error("GetProperties dict value type not " - "variant under %s!\n", modem_path.c_str()); - dbus_message_unref(reply); - return rc; - } - - dbus_message_iter_recurse(&key, &var); - - if (dbus_message_iter_get_arg_type(&var) != DBUS_TYPE_BOOLEAN) { - thd_log_error("GetProperties dict value(1) type not " - "boolean under %s!\n", modem_path.c_str()); - dbus_message_unref(reply); - return rc; - } - - dbus_message_iter_get_basic(&var, value); - rc = THD_SUCCESS; - break; - } - - dbus_message_unref(reply); - - return rc; -} - -int cthd_cdev_modem::update_online_state(DBusConnection* conn) { - bool online_state; - - if (get_modem_property(conn, MODEM_INTERFACE, "Online", - &online_state) == THD_SUCCESS) { - online = online_state; - return THD_SUCCESS; - } - - return THD_ERROR; -} - -int cthd_cdev_modem::update_throttling_state(DBusConnection *conn) { - bool enabled; - - if (get_modem_property(conn, THERMAL_MANAGEMENT_INTERFACE, - "TransmitPowerThrottling", &enabled) == THD_SUCCESS) { - throttling = enabled; - return THD_SUCCESS; - } - - return THD_ERROR; -} - -int cthd_cdev_modem::update() { - DBusConnection *conn; - DBusError error; - std::string thermal_management_dbus_rule, modem_dbus_rule; - - /* Modem has only 2 throttling states, enabled or disabled */ - min_state = MODEM_THROTTLING_DISABLED; - max_state = MODEM_THROTTLING_ENABLED; - - dbus_error_init(&error); - - conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error); - if (dbus_error_is_set(&error)) { - thd_log_error("Error connecting to system bus: %s:\n", error.message); - dbus_error_free(&error); - return THD_ERROR; - } - - dbus_connection_setup_with_g_main(conn, NULL); - - /* - * Add a match rule as below ... - * Type : Signal - * From-Interface : org.ofono.Modem - * Signal Name : PropertyChanged - * Property Name : Online - */ - modem_dbus_rule.append("type='signal'"); - modem_dbus_rule.append(",path='").append(modem_path).append("'"); - modem_dbus_rule.append(",interface='" MODEM_INTERFACE "'"); - modem_dbus_rule.append(",member='PropertyChanged'"); - modem_dbus_rule.append(",arg0='Online'"); - - dbus_bus_add_match(conn, modem_dbus_rule.c_str(), &error); - if (dbus_error_is_set(&error)) { - thd_log_error("Error adding D-Bus rule \"%s\" : %s", - modem_dbus_rule.c_str(), error.message); - dbus_error_free(&error); - return THD_ERROR; - } - - /* - * Add a match rule as below ... - * Type : Signal - * From-Interface : org.ofono.sofia3gr.ThermalManagement - * Signal Name : PropertyChanged - * Property Name : TransmitPowerThrottling - */ - thermal_management_dbus_rule.append("type='signal'"); - thermal_management_dbus_rule.append(",path='").append(modem_path).append( - "'"); - thermal_management_dbus_rule.append(",interface='").append( - THERMAL_MANAGEMENT_INTERFACE).append("'"); - thermal_management_dbus_rule.append(",member='PropertyChanged'"); - thermal_management_dbus_rule.append(",arg0='TransmitPowerThrottling'"); - - dbus_bus_add_match(conn, thermal_management_dbus_rule.c_str(), &error); - if (dbus_error_is_set(&error)) { - thd_log_error("Error adding D-Bus rule \"%s\" : %s", - thermal_management_dbus_rule.c_str(), error.message); - dbus_error_free(&error); - return THD_ERROR; - } - - /* Register a handler for the above added rules */ - dbus_connection_add_filter(conn, ofono_signal_handler, this, NULL); - - return THD_SUCCESS; -} - -int cthd_cdev_modem::get_curr_state() { - - if (!online) { - update_throttling_state(); - } - - if (throttling) { - curr_state = MODEM_THROTTLING_ENABLED; - thd_log_debug("Modem currently under throttling\n"); - } else { - curr_state = MODEM_THROTTLING_DISABLED; - thd_log_debug("Modem currently not under throttling\n"); - } - - return curr_state; -} - -void cthd_cdev_modem::update_throttling_state() { - - DBusConnection *conn; - DBusError error; - - dbus_error_init(&error); - conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error); - - if (dbus_error_is_set(&error)) { - thd_log_error("Error: %s", error.message); - dbus_error_free(&error); - return; - } - - dbus_connection_setup_with_g_main(conn, NULL); - - if (is_interface_up(conn) == THD_ERROR) { - thd_log_warn("Thermal Interface not ready\n"); - return; - } - - update_online_state(conn); - update_throttling_state(conn); - -} - -int cthd_cdev_modem::is_interface_up(DBusConnection *conn) { - - DBusError error; - DBusMessage *msg; - DBusMessage *reply; - int rc = THD_ERROR; - - dbus_error_init(&error); - - msg = dbus_message_new_method_call("org.ofono", modem_path.c_str(), - THERMAL_MANAGEMENT_INTERFACE, "GetProperties"); - - if (msg == NULL) { - thd_log_error("Error creating D-Bus message for GetProperties " - "under %s : %s\n", modem_path.c_str(), error.message); - return rc; - } - - reply = dbus_connection_send_with_reply_and_block(conn, msg, 10000, &error); - - if (dbus_error_is_set(&error)) { - dbus_error_free(&error); - dbus_message_unref(msg); - return rc; - } - - dbus_message_unref(msg); - dbus_message_unref(reply); - - return THD_SUCCESS; -} - -void cthd_cdev_modem::set_curr_state(int state, int arg) { - - DBusConnection *conn; - DBusError error; - - dbus_error_init(&error); - conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error); - - if (dbus_error_is_set(&error)) { - thd_log_error("Error : %s", error.message); - dbus_error_free(&error); - return; - } - - dbus_connection_setup_with_g_main(conn, NULL); - - update_online_state(conn); - - switch (state) { - case MODEM_THROTTLING_ENABLED: - if (!online) - thd_log_debug("Modem not yet online, hence " - "ignoring throttle request\n"); - else if (throttling) - thd_log_debug("Modem already throttled, hence " - "ignoring throttle request\n"); - else { - thd_log_debug("Initiating modem throttling\n"); - throttle_modem(state); - update_throttling_state(conn); - } - break; - - case MODEM_THROTTLING_DISABLED: - if (!online) - thd_log_debug("Modem not yet online, hence " - "ignoring de-throttle request\n"); - else if (!throttling) - thd_log_debug("Modem already de-throttled, hence " - "ignoring de-throttle request\n"); - else { - thd_log_debug("Initiating modem de-throttling\n"); - throttle_modem(state); - update_throttling_state(conn); - } - break; - } -} - -int cthd_cdev_modem::get_max_state() { - return max_state; -} - -int cthd_cdev_modem::is_throttling() { - return throttling; -} - -void cthd_cdev_modem::set_throttling_state(bool enabled) { - throttling = enabled; -} - -bool cthd_cdev_modem::is_online() { - return online; -} - -void cthd_cdev_modem::set_online_state(bool on) { - online = on; -} - -void cthd_cdev_modem::throttle_modem(int state) { - DBusConnection *conn; - DBusError error; - - DBusMessage *msg; - DBusMessageIter iter; - DBusMessageIter var; - - const char *property = "TransmitPowerThrottling"; - - dbus_bool_t enable; - - char var_sig[] = { DBUS_TYPE_BOOLEAN, 0 }; - - dbus_error_init(&error); - - conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error); - if (dbus_error_is_set(&error)) { - thd_log_error("Couldn't connect to system bus: %s:\n", error.message); - dbus_error_free(&error); - return; - } - - msg = dbus_message_new_method_call("org.ofono", modem_path.c_str(), - THERMAL_MANAGEMENT_INTERFACE, "SetProperty"); - if (msg == NULL) { - thd_log_error("Couldn't create D-Bus message for SetProperty " - "under %s : %s\n", modem_path.c_str(), error.message); - return; - } - - enable = (state == MODEM_THROTTLING_ENABLED) ? true : false; - - dbus_message_iter_init_append(msg, &iter); - - if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &property)) { - thd_log_error("Error populating modem %s arguments: %s\n", - enable ? "throttle" : "de-throttle", error.message); - return; - } - - dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT, var_sig, &var); - - if (!dbus_message_iter_append_basic(&var, DBUS_TYPE_BOOLEAN, &enable)) { - thd_log_error("Error populating modem %s arguments: %s\n", - enable ? "throttle" : "de-throttle", error.message); - return; - } - - dbus_message_iter_close_container(&iter, &var); - - // send message - if (!dbus_connection_send(conn, msg, NULL)) { - thd_log_error("Error sending modem throttle message to %s !\n", - modem_path.c_str()); - return; - } - - dbus_connection_flush(conn); - dbus_message_unref(msg); -} diff --git a/src/thd_cdev_modem.h b/src/thd_cdev_modem.h deleted file mode 100644 index c88ae7e0..00000000 --- a/src/thd_cdev_modem.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * thd_cdev_modem.h: thermal modem cooling interface - * Copyright (c) 2016, Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License - * version 2 or later as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * - * Author Name - * - */ - -#ifndef THD_CDEV_MODEM_H_ -#define THD_CDEV_MODEM_H_ - -#include "thd_cdev.h" - -#define MODEM_INTERFACE "org.ofono.Modem" -#define THERMAL_MANAGEMENT_INTERFACE "org.ofono.sofia3gr.ThermalManagement" - -enum modem_throttling_state { - MODEM_THROTTLING_DISABLED = 0, MODEM_THROTTLING_ENABLED, -}; - -class cthd_cdev_modem: public cthd_cdev { -private: - std::string modem_path; - bool online; - bool throttling; - - bool is_online(void); - void set_online_state(bool); - int is_throttling(void); - void set_throttling_state(bool); - void throttle_modem(int state); - -public: - cthd_cdev_modem(unsigned int _index, std::string control_path); - int get_curr_state(void); - void set_curr_state(int state, int arg); - int get_max_state(void); - int get_modem_property(DBusConnection *conn, const char *interface, - const char *property, bool *value); - int update_online_state(DBusConnection *conn); - int update_throttling_state(DBusConnection *conn); - int update(void); - void update_throttling_state(void); - int is_interface_up(DBusConnection *conn); - - static DBusHandlerResult - ofono_signal_handler(DBusConnection *conn, DBusMessage *msg, - void *user_data); - - static int - parse_ofono_property_changed_signal(DBusMessage *msg, const char *interface, - const char *signal, const char *property, dbus_bool_t *value); -}; -#endif /* THD_CDEV_MODEM_H_ */ diff --git a/src/thermald.h b/src/thermald.h index 45ee3b10..286c659d 100644 --- a/src/thermald.h +++ b/src/thermald.h @@ -69,9 +69,6 @@ #define LOCKF_SUPPORT #ifdef GLIB_SUPPORT #include -#include -#include -#include #include #include From 9124d3645dc174709b203849ff70abf989702f17 Mon Sep 17 00:00:00 2001 From: Kate Hsuan Date: Tue, 16 Apr 2024 17:39:00 +0800 Subject: [PATCH 4/4] main: unown dbus name when thermald is terminated Unown the dbus name when thermeld is terminated. --- src/main.cpp | 4 ++-- src/thd_dbus_interface.cpp | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 135fa3ff..1ea74b76 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -87,7 +87,7 @@ gboolean exclusive_control = FALSE; static GMainLoop *g_main_loop; #ifdef GDBUS -gint watcher_id = 0; +gint own_id = 0; #endif // g_log handler. All logs will be directed here @@ -374,7 +374,7 @@ int main(int argc, char *argv[]) { thd_log_warn("Oops g main loop exit..\n"); #ifdef GDBUS - g_bus_unwatch_name (watcher_id); + g_bus_unown_name (own_id); #endif fprintf(stdout, "Exiting ..\n"); diff --git a/src/thd_dbus_interface.cpp b/src/thd_dbus_interface.cpp index cad86ba8..c75e56c2 100644 --- a/src/thd_dbus_interface.cpp +++ b/src/thd_dbus_interface.cpp @@ -588,7 +588,7 @@ gboolean thd_dbus_interface_get_sensor_temperature(PrefObject *obj, int index, #pragma GCC diagnostic push static GDBusInterfaceVTable interface_vtable; -extern gint watcher_id; +extern gint own_id; static GDBusNodeInfo * thd_dbus_load_introspection(const gchar *filename, GError **error) @@ -1230,14 +1230,14 @@ int thd_dbus_server_init(gboolean (*exit_handler)(void)) { interface_vtable.get_property = thd_dbus_handle_get_property; interface_vtable.set_property = thd_dbus_handle_set_property; - watcher_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, - "org.freedesktop.thermald", - G_BUS_NAME_OWNER_FLAGS_REPLACE, - thd_dbus_on_bus_acquired, - thd_dbus_on_name_acquired, - thd_dbus_on_name_lost, - g_object_ref(value_obj), - NULL); + own_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, + "org.freedesktop.thermald", + G_BUS_NAME_OWNER_FLAGS_REPLACE, + thd_dbus_on_bus_acquired, + thd_dbus_on_name_acquired, + thd_dbus_on_name_lost, + g_object_ref(value_obj), + NULL); return THD_SUCCESS; }