summaryrefslogtreecommitdiff
path: root/plugins/udisks2
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/udisks2')
-rw-r--r--plugins/udisks2/Makefile.am2
-rw-r--r--plugins/udisks2/udisks2-plugin.c462
-rw-r--r--plugins/udisks2/udisks2-plugin.h2
3 files changed, 187 insertions, 279 deletions
diff --git a/plugins/udisks2/Makefile.am b/plugins/udisks2/Makefile.am
index 14e512a..9bb0f11 100644
--- a/plugins/udisks2/Makefile.am
+++ b/plugins/udisks2/Makefile.am
@@ -1,4 +1,4 @@
-# UDisks plugin
+# UDisks2 plugin
plugindir = $(libdir)/mate-sensors-applet/plugins
AM_CPPFLAGS = -DMATELOCALEDIR=\""$(datadir)/locale/"\" \
diff --git a/plugins/udisks2/udisks2-plugin.c b/plugins/udisks2/udisks2-plugin.c
index c23d09d..fcadc59 100644
--- a/plugins/udisks2/udisks2-plugin.c
+++ b/plugins/udisks2/udisks2-plugin.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Pramod Dematagoda <[email protected]>
+ * Copyright (C) 2017 info-cppsp <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,21 +19,17 @@
/*
Udisks2 plugin for the mate-sensors-applet
-written by [email protected] using the structure and code of the previous version
-from above author
+written using the structure and code of the previous version
+from Pramod Dematagoda <[email protected]>
-fd1 - from doc1 - dbus-glib documentation
+dbus-glib documentation
https://dbus.freedesktop.org/doc/dbus-glib/
-fd2 - from doc2 - GDBUS documentation
+GDBUS documentation
https://developer.gnome.org/gio/stable/index.html
-I couldn't figure out debug, so I used syslog
-syslog(LOG_ERR, "hellodd");
--> /var/log/syslog
*/
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif /* HAVE_CONFIG_H */
@@ -43,7 +39,7 @@ syslog(LOG_ERR, "hellodd");
#include "udisks2-plugin.h"
-// remove // from next line for syslog debug
+/* remove // from next line for syslog debug */
//#define UD2PD 1
#ifdef UD2PD
@@ -60,122 +56,73 @@ syslog(LOG_ERR, "hellodd");
#define UDISKS2_OBJECT_PATH "/org/freedesktop/UDisks2"
-/*
- * Info about a single sensor
- */
-typedef struct _DevInfo{
+/* Info about a single sensor */
+typedef struct _DevInfo {
gchar *path;
gchar *id;
gdouble temp;
- GDBusProxy *sensor_proxy; // dbus object
+ GDBusProxy *sensor_proxy; /* dbus object */
GError *error;
} DevInfo;
const gchar *plugin_name = "udisks2";
-// a container for the devices found to have smart enabled
+/* a container for the devices found to have smart enabled */
GHashTable *devices = NULL;
/* This is a global variable for convenience */
GDBusConnection *connection = NULL;
-static void update_device(DevInfo *info) {
+static void update_device (DevInfo *info) {
GError *error = NULL;
GVariant *tempgvar = NULL;
GVariant *tempgvar2 = NULL;
gdouble temp;
- // check valid input parameter
- g_return_if_fail(info != NULL);
+ /* check valid input parameter */
+ g_return_if_fail (info != NULL);
- // check connection too
- g_return_if_fail(connection != NULL);
+ /* check connection too */
+ g_return_if_fail (connection != NULL);
- g_clear_error(&info->error);
+ g_clear_error (&info->error);
-// for the udisks plugin a new sensor_proxy was created here, which seems stupid, as one is already stored in the DevInfo struct
-// I only create one direct connect proxy here in this function
+ /* check for sensor_proxy, which should exist at this point, make one if necessary and save it into DevInfo
+ * this is used to get the temp value the direct way */
+ if (NULL == info->sensor_proxy) {
+ info->sensor_proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE, NULL,
+ UDISKS2_BUS_NAME,
+ info->path,
+ UDISKS2_PROPERTIES_INTERFACE,
+ NULL, &error);
- // check for sensor_proxy, which should exist at this point, make one if necessary and save it into DevInfo
- // this is used to get the temp value the direct way
- if(NULL == info->sensor_proxy) {
- info->sensor_proxy = g_dbus_proxy_new_sync(connection, G_DBUS_PROXY_FLAGS_NONE, NULL,
- UDISKS2_BUS_NAME,
- info->path,
- UDISKS2_PROPERTIES_INTERFACE,
- NULL, &error );
-
- // check, just to be sure
+ /* check, just to be sure */
if (NULL == info->sensor_proxy) {
#ifdef UD2PD
syslog(LOG_ERR, "Failed to get drive temperature 1");
#endif
- g_debug("Failed to get drive temperature 1: %s", error->message);
- g_clear_error(&error);
+ g_debug ("Failed to get drive temperature 1: %s", error->message);
+ g_clear_error (&error);
return;
}
}
-// "DriveAtaSmartTimeCollected" in ud2 is "drive ata SmartUpdated"
-// fd: The point in time (seconds since the Unix Epoch) that the SMART status was updated or 0 if never updated.
-// should we bother getting this time??
-
-/*
- if (!g_dbus_proxy_call_sync(sensor_proxy, "Get", NULL,
- G_TYPE_STRING, UDISKS2_BUS_NAME,
- G_TYPE_STRING, "DriveAtaSmartTimeCollected", G_TYPE_INVALID,
- G_TYPE_VALUE, &smart_time,
- G_TYPE_INVALID) || !g_value_get_uint64(&smart_time)) {
-
- g_object_unref(sensor_proxy);
- return;
- }
-*/
+/* note on timing:
+ * it seems to me that smart updates occur automatically every 10 minutes
+ * mate-sensor-applet has a default refresh of 2 seconds...
+ * it is possible to force a smart update with udisks2: SmartUpdate (IN a{sv} options); */
-
-// reading "DriveAtaSmartBlob" doesn't make it refresh
-// it seems to me that smart updates occur automatically every 10 minutes
-// mate-sensor-applet has a default refresh of 2 seconds...
-// it is possible to force a smart update with udisks2: SmartUpdate (IN a{sv} options);
-
-// fd: A blob containing the ATA SMART data. This blob can be used with libatasmart to get more information. This property is only valid if DriveAtaSmartTimeCollected is greater than zero.
-// this smartblob was needed, bc there was no other way to get the smart temperature from udisks
-/*
-
- if (!g_dbus_proxy_call_sync(sensor_proxy, "Get", &info->error,
- G_TYPE_STRING, UDISKS2_BUS_NAME,
- G_TYPE_STRING, "DriveAtaSmartBlob", G_TYPE_INVALID,
- G_TYPE_VALUE, &smart_blob_val,
- G_TYPE_INVALID)) {
-
- g_debug("Error getting DriveAtaSmartBlob %s", info->error ? info->error->message : "NULL");
- g_object_unref(sensor_proxy);
- return;
- }
- smart_blob = g_value_get_boxed(&smart_blob_val);
-
- sk_disk_open(NULL, &sk_disk);
- sk_disk_set_blob(sk_disk, smart_blob->data, smart_blob->len);
- if (sk_disk_smart_get_temperature(sk_disk, &temperature) < 0) {
- g_debug("Error getting temperature from AtaSmartBlob");
- g_free(sk_disk);
- g_array_free(smart_blob, TRUE);
- g_object_unref(sensor_proxy);
- return;
- }
-*/
-
- // directly asking the device's DBus object for the temp
- tempgvar = g_dbus_proxy_call_sync(info->sensor_proxy, "Get",
+ /* directly asking the device's DBus object for the temp */
+ tempgvar = g_dbus_proxy_call_sync (info->sensor_proxy, "Get",
g_variant_new ("(ss)",
UDISKS2_DEVICE_INTERFACE2_NAME,
- "SmartTemperature"), // parameters
- G_DBUS_CALL_FLAGS_NONE, // flags
- -1, // timeout
- NULL, // cancellable
+ "SmartTemperature"), /* parameters */
+ G_DBUS_CALL_FLAGS_NONE, /* flags */
+ -1, /* timeout */
+ NULL, /* cancellable */
&error);
if (NULL == tempgvar) {
@@ -183,31 +130,32 @@ syslog(LOG_ERR, "Failed to get drive temperature 1");
#ifdef UD2PD
syslog(LOG_ERR, "Failed to get drive temperature 2");
#endif
- g_debug("Failed to get drive temperature 2: %s", error->message);
- g_clear_error(&error);
- // throw away proxy, maybe next time it will be better
- g_clear_object(&info->sensor_proxy);
+ g_debug ("Failed to get drive temperature 2: %s", error->message);
+ g_clear_error (&error);
+ /* throw away proxy, maybe next time it will be better */
+ g_clear_object (&info->sensor_proxy);
return;
+
} else {
#ifdef UD2PD
syslog(LOG_ERR, "tempgvar value: %s", g_variant_print(tempgvar, TRUE));
-// leaks memory!
+/* leaks memory! */
//syslog(LOG_ERR, "tempgvar value: %s", g_variant_print(g_variant_get_variant(g_variant_get_child_value(tempgvar, 0)), TRUE));
#endif
- // tempgvar comes back as sg along the lines of array(gvariant(tempasdouble))
- // hence unpacking
- // need to free up every param / return value, so can't do it like:
- //temp = g_variant_get_double(g_variant_get_variant(g_variant_get_child_value(tempgvar, 0)));
- tempgvar2 = g_variant_get_child_value(tempgvar, 0);
- g_variant_unref(tempgvar);
- tempgvar = g_variant_get_variant(tempgvar2);
- g_variant_unref(tempgvar2);
- temp = g_variant_get_double(tempgvar);
- g_variant_unref(tempgvar);
-
- // temp in K
+ /* tempgvar comes back as something along the lines of array(gvariant(tempasdouble))
+ * hence unpacking
+ * need to free up every param / return value, so can't do it like:
+ * temp = g_variant_get_double(g_variant_get_variant(g_variant_get_child_value(tempgvar, 0))); */
+ tempgvar2 = g_variant_get_child_value (tempgvar, 0);
+ g_variant_unref (tempgvar);
+ tempgvar = g_variant_get_variant (tempgvar2);
+ g_variant_unref (tempgvar2);
+ temp = g_variant_get_double (tempgvar);
+ g_variant_unref (tempgvar);
+
+ /* temp in K */
info->temp = temp - 273.15;
#ifdef UD2PD
@@ -216,32 +164,13 @@ syslog(LOG_ERR, "Refresh udisks2 device temp: '%f'\n", info->temp);
}
-
-}
-
-
-
-/* This is the handler for the Changed() signal emitted by UDisks. */
-/*
-static void udisks2_changed_signal_cb(GDBusProxy *sensor_proxy) {
- const gchar *path;
- DevInfo *info;
-
- // fd2: Gets the object path sensor_proxy is for.
- path = g_dbus_proxy_get_object_path(sensor_proxy);
- g_debug("%s changed()", path);
- info = g_hash_table_lookup(devices, path);
-
-// update_device(info);
}
-*/
-
-// in this function we would like to get a list of device (hdd/ssd) paths
-// then with each path we get the temperature
-// it is possible with udisks2 to get all the above information in one g_dbus_proxy_call_sync(), so that is how I did it
-// a better version would be to use GDBusObjectManager Server + Client ??
-static void udisks2_plugin_get_sensors(GList **sensors) {
+/* in this function we would like to get a list of device (hdd/ssd) paths
+ * then with each path we get the temperature
+ * it is possible with udisks2 to get all the above information in one g_dbus_proxy_call_sync(), so that is how I did it
+ * maybe a better version would be to use GDBusObjectManager Server + Client ?? */
+static void udisks2_plugin_get_sensors (GList **sensors) {
#ifdef UD2PD
syslog(LOG_ERR, "fstart");
@@ -252,20 +181,16 @@ syslog(LOG_ERR, "fstart");
DevInfo *info;
- /* This connection will be used for everything, including the obtaining
- * of sensor data
- */
- // fd1: Returns a connection to the given bus. The connection is a global variable shared with other callers of this function.
- // fd2: Synchronously connects to the message bus specified by bus_type . Note that the returned object may shared with other callers, e.g. if two separate parts of a process calls this function with the same bus_type , they will share the same object.
- connection = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
+ /* This connection will be used for everything, including the obtaining of sensor data */
+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
if (NULL == connection) {
#ifdef UD2PD
syslog(LOG_ERR, "dbus conn fail");
#endif
- g_debug("Failed to open connection to DBUS: %s", error->message);
- g_clear_error(&error);
+ g_debug ("Failed to open connection to DBUS: %s", error->message);
+ g_clear_error (&error);
return;
}
@@ -273,26 +198,21 @@ syslog(LOG_ERR, "dbus conn fail");
syslog(LOG_ERR, "dbus conn success");
#endif
- /* This was the proxy which is only used once during the enumeration of
- * the device object paths
- */
- // I use it to get all info of all devices at once
- // fd1: Creates a new proxy for a remote interface exported by a connection on a message bus.
- // fd2: Creates a proxy for accessing interface_name on the remote object at object_path owned by name at connection and synchronously loads D-Bus properties unless the G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used.
- proxy = g_dbus_proxy_new_sync(connection, G_DBUS_PROXY_FLAGS_NONE, NULL,
- UDISKS2_BUS_NAME,
- UDISKS2_OBJECT_PATH,
- UDISKS2_INTERFACE_NAME,
- NULL, &error );
+ /* I use this proxy to get all info of all devices at once */
+ proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE, NULL,
+ UDISKS2_BUS_NAME,
+ UDISKS2_OBJECT_PATH,
+ UDISKS2_INTERFACE_NAME,
+ NULL, &error);
if (NULL == proxy) {
#ifdef UD2PD
syslog(LOG_ERR, "dbus conn proxy fail");
#endif
- g_debug("dbus conn proxy fail: %s", error->message);
- g_clear_error(&error);
- g_clear_object(&connection);
+ g_debug ("dbus conn proxy fail: %s", error->message);
+ g_clear_error (&error);
+ g_clear_object (&connection);
return;
}
@@ -300,26 +220,20 @@ syslog(LOG_ERR, "dbus conn proxy fail");
syslog(LOG_ERR, "dbus conn proxy success");
#endif
- /* The object paths of the disks are enumerated and placed in an array
- * of object paths
- */
- // fd1: Function for synchronously invoking a method and receiving reply values.
- // fd2: Synchronously invokes the method_name method on proxy.
- // called "EnumerateDevices" method on UDisks object through dbus
- // which returned an array of objectpaths
- // "GetManagedObjects" returns dict of (objectpath, (dict of (string [ie. if. name], dict of(string [ie. property name], variant [ie. prop. value]))))
+ /* The object paths of the disks are enumerated and placed in an array of object paths
+ * "GetManagedObjects" returns dict of (objectpath, (dict of (string [ie. if. name], dict of(string [ie. property name], variant [ie. prop. value])))) */
- // g_dbus_proxy_call_sync() returns NULL on error, GVariant * otherwise
- // need second param to prevent memory leak
- GVariant *managed_objects, *managed_objects2;
+ /* g_dbus_proxy_call_sync() returns NULL on error, GVariant * otherwise
+ * need second variable to prevent memory leak */
+ GVariant *managed_objects = NULL;
+ GVariant *managed_objects2 = NULL;
-
- managed_objects2 = g_dbus_proxy_call_sync(proxy, "GetManagedObjects",
- NULL, // parameters
- G_DBUS_CALL_FLAGS_NONE, // flags
- -1, // timeout
- NULL, // cancellable
- &error);
+ managed_objects2 = g_dbus_proxy_call_sync (proxy, "GetManagedObjects",
+ NULL, /* parameters */
+ G_DBUS_CALL_FLAGS_NONE, /* flags */
+ -1, /* timeout */
+ NULL, /* cancellable */
+ &error);
if (NULL == managed_objects2) {
@@ -327,45 +241,44 @@ syslog(LOG_ERR, "dbus conn proxy success");
syslog(LOG_ERR, "Failed to enumerate disk devices");
#endif
- g_debug("Failed to enumerate disk devices: %s", error->message);
- g_clear_error(&error);
- g_clear_object(&proxy);
- g_clear_object(&connection);
+ g_debug ("Failed to enumerate disk devices: %s", error->message);
+ g_clear_error (&error);
+ g_clear_object (&proxy);
+ g_clear_object (&connection);
return;
}
- // the result dictionary is enclosed in an array, unpack
- managed_objects = g_variant_get_child_value(managed_objects2, 0);
- g_variant_unref(managed_objects2);
+ /* the result dictionary is enclosed in an array, unpack */
+ managed_objects = g_variant_get_child_value (managed_objects2, 0);
+ g_variant_unref (managed_objects2);
#ifdef UD2PD
//syslog(LOG_ERR, "managed_objects type: %s", g_variant_print(managed_objects, TRUE));
syslog(LOG_ERR, "success to enumerate disk devices");
#endif
- // iterator for the result dictionary
-
- // iterator code is based on the g_variant_iter_next() documentation
- // iter is freed if the GVariant is, when using g_variant_iter_init()
+ /* iterator for the result dictionary
+ * iterator code is based on the g_variant_iter_next() documentation
+ * iter is freed if the GVariant is, when using g_variant_iter_init() */
GVariantIter iter;
- gchar *key; // object path (like '/org/freedesktop/UDisks2/drives/Samsung_SSD_840_EVO_250GB_*insert drive serial nr.*')
- GVariant *value;
+ gchar *key = NULL; /* object path (like '/org/freedesktop/UDisks2/drives/Samsung_SSD_840_EVO_250GB_*insert drive serial nr.*') */
+ GVariant *value = NULL;
#ifdef UD2PD
-// log collection size
-syslog(LOG_ERR, "iter init count: %d", (int) g_variant_iter_init(&iter, managed_objects));
+/* log collection size */
+syslog(LOG_ERR, "iter init count: %d", (int) g_variant_iter_init (&iter, managed_objects));
#else
- g_variant_iter_init(&iter, managed_objects);
+ g_variant_iter_init (&iter, managed_objects);
#endif
- // "{sv}" is a GVariant format string
- // {} dictionary of, s string, v GVariant
- // changed to "{oa{sa{sv}}}" on error message 'the GVariant format string '{sv}' has a type of '{sv}' but the given value has a type of 'a{oa{sa{sv}}}''
- // a is array, o is object path
- // NOO!! the right format string is "{o@*}", which means get an object path into the 1st variable (key)
- // and get 'everything else' (as a GVariant) into the 2nd variable (value)
- // needs the & before the key and value params!
- while (g_variant_iter_next(&iter, "{o@*}", &key, &value)) {
+ /* "{sv}" is a GVariant format string
+ * {} dictionary of, s string, v GVariant
+ * changed to "{oa{sa{sv}}}" on error message 'the GVariant format string '{sv}' has a type of '{sv}' but the given value has a type of 'a{oa{sa{sv}}}''
+ * a is array, o is object path
+ * NOO!! the right format string is "{o@*}", which means get an object path into the 1st variable (key)
+ * and get 'everything else' (as a GVariant) into the 2nd variable (value)
+ * needs the & before the key and value params! */
+ while (g_variant_iter_next (&iter, "{o@*}", &key, &value)) {
#ifdef UD2PD
syslog(LOG_ERR, "in iter while loop");
@@ -373,42 +286,42 @@ syslog(LOG_ERR, "key value: %s", key);
//syslog(LOG_ERR, "value type: %s", g_variant_print(value, TRUE));
#endif
- // level 2
- // create a dictionary of value
- // the two interface names that we are searching for are known and defined
- // can't use GVariantDict, it only supports '{sv}' but the given value has a type of '{sa{sv}}'
- // using general lookup
+ /* level 2
+ * create a dictionary of value
+ * the two interface names that we are searching for are known and defined
+ * can't use GVariantDict, it only supports '{sv}' but the given value has a type of '{sa{sv}}'
+ * using general lookup */
- GVariant *propdict; // drive data
- GVariant *propdict2; // drive smart data
+ GVariant *propdict = NULL; /* drive data */
+ GVariant *propdict2 = NULL; /* drive smart data */
- // make two dictionaries that contain the properties of the drive interfaces
- propdict = g_variant_lookup_value(value, UDISKS2_DEVICE_INTERFACE_NAME, G_VARIANT_TYPE_DICTIONARY);
- propdict2 = g_variant_lookup_value(value, UDISKS2_DEVICE_INTERFACE2_NAME, G_VARIANT_TYPE_DICTIONARY);
+ /* make two dictionaries that contain the properties of the drive interfaces */
+ propdict = g_variant_lookup_value (value, UDISKS2_DEVICE_INTERFACE_NAME, G_VARIANT_TYPE_DICTIONARY);
+ propdict2 = g_variant_lookup_value (value, UDISKS2_DEVICE_INTERFACE2_NAME, G_VARIANT_TYPE_DICTIONARY);
- // do we have the right ifname keys?
- if((NULL != propdict) && (NULL != propdict2)) {
+ /* do we have the right ifname keys? */
+ if ((NULL != propdict) && (NULL != propdict2)) {
#ifdef UD2PD
syslog(LOG_ERR, "propdict type: %s", g_variant_print(propdict, TRUE));
syslog(LOG_ERR, "propdict2 type: %s", g_variant_print(propdict2, TRUE));
#endif
- // get data
- gchar *id;
- gchar *model;
+ /* get data */
+ gchar *id = NULL;
+ gchar *model = NULL;
gboolean smartenabled;
gdouble temp;
- // NULL, bc we don't care about the length of the string
- // typecast bc g_variant_get_string() returns const char*
- id = (gchar *) g_variant_get_string(g_variant_lookup_value(propdict, "Id", G_VARIANT_TYPE_STRING), NULL);
- model = (gchar *) g_variant_get_string(g_variant_lookup_value(propdict, "Model", G_VARIANT_TYPE_STRING), NULL);
+ /* NULL, bc we don't care about the length of the string
+ * typecast bc g_variant_get_string() returns const char* */
+ id = (gchar *) g_variant_get_string (g_variant_lookup_value (propdict, "Id", G_VARIANT_TYPE_STRING), NULL);
+ model = (gchar *) g_variant_get_string (g_variant_lookup_value (propdict, "Model", G_VARIANT_TYPE_STRING), NULL);
- smartenabled = g_variant_get_boolean(g_variant_lookup_value(propdict2, "SmartEnabled", G_VARIANT_TYPE_BOOLEAN));
- temp = g_variant_get_double(g_variant_lookup_value(propdict2, "SmartTemperature", G_VARIANT_TYPE_DOUBLE));
+ smartenabled = g_variant_get_boolean (g_variant_lookup_value (propdict2, "SmartEnabled", G_VARIANT_TYPE_BOOLEAN));
+ temp = g_variant_get_double (g_variant_lookup_value (propdict2, "SmartTemperature", G_VARIANT_TYPE_DOUBLE));
#ifdef UD2PD
syslog(LOG_ERR, "Found udisks2 device id: '%s'\n", id);
@@ -417,35 +330,34 @@ syslog(LOG_ERR, "Found udisks2 device smartenabled: '%d'\n", smartenabled);
syslog(LOG_ERR, "Found udisks2 device temp: '%f'\n", temp);
#endif
+ /* only go on if smart is enabled
+ * save data */
+ if (smartenabled) {
- // only go on if smart is enabled
- // save data
- if(smartenabled) {
-
- info = g_malloc0(sizeof(DevInfo));
+ info = g_malloc0 (sizeof (DevInfo));
if (NULL == devices) {
- devices = g_hash_table_new(g_str_hash, g_str_equal);
+ devices = g_hash_table_new (g_str_hash, g_str_equal);
}
- info->id = g_strdup(id);
- info->path = g_strdup(key);
+ info->id = g_strdup (id);
+ info->path = g_strdup (key);
- // temp in K
- // this could be left at 0.0, 2 seconds later it will be refreshed anyway
- info->temp = (gdouble)temp - 273.15;
- g_hash_table_insert(devices, info->id, info);
+ /* temp in K
+ * this could be left at 0.0, 2 seconds later it will be refreshed anyway */
+ info->temp = (gdouble) temp - 273.15;
+ g_hash_table_insert (devices, info->id, info);
- // Write the sensor data
- sensors_applet_plugin_add_sensor(sensors,
- id,
- "Disk Temperature",
- model,
- TEMP_SENSOR,
- FALSE,
- HDD_ICON,
- DEFAULT_GRAPH_COLOR);
+ /* Write the sensor data */
+ sensors_applet_plugin_add_sensor (sensors,
+ id,
+ "Disk Temperature",
+ model,
+ TEMP_SENSOR,
+ FALSE,
+ HDD_ICON,
+ DEFAULT_GRAPH_COLOR);
- g_debug("Added %s", id);
+ g_debug ("Added %s", id);
#ifdef UD2PD
syslog(LOG_ERR, "Added %s", id);
@@ -464,8 +376,8 @@ syslog(LOG_ERR, "No temp data for device: %s\n", key);
syslog(LOG_ERR, "b4 free1");
#endif
- g_free(id);
- g_free(model);
+ g_free (id);
+ g_free (model);
}
@@ -473,40 +385,40 @@ syslog(LOG_ERR, "b4 free1");
syslog(LOG_ERR, "b4 free2");
#endif
- // free propdict, propdict2
- // g_variant_dict_unref() may not work a few times, gives error
- // this one seems to do fine
- if(NULL != propdict) {g_variant_unref(propdict);}
- if(NULL != propdict2) {g_variant_unref(propdict2);}
+ /* free propdict, propdict2
+ * g_variant_dict_unref() may not work a few times, gives error
+ * this one seems to do fine */
+ if (NULL != propdict) {g_variant_unref (propdict);}
+ if (NULL != propdict2) {g_variant_unref (propdict2);}
#ifdef UD2PD
syslog(LOG_ERR, "b4 free3");
#endif
- g_free(key);
- g_variant_unref(value);
+ g_free (key);
+ g_variant_unref (value);
- } // end of while loop
+ } /* end of while loop */
- g_variant_unref(managed_objects);
- g_clear_object(&proxy);
+ g_variant_unref (managed_objects);
+ g_clear_object (&proxy);
if (NULL == devices) {
- g_clear_object(&connection);
+ g_clear_object (&connection);
}
}
-// this is the function called every refresh cycle
-static gdouble udisks2_plugin_get_sensor_value(const gchar *path,
- const gchar *id,
- SensorType type,
- GError **error) {
- DevInfo *info;
+/* this function is called every refresh cycle */
+static gdouble udisks2_plugin_get_sensor_value (const gchar *path,
+ const gchar *id,
+ SensorType type,
+ GError **error) {
+ DevInfo *info = NULL;
- // get device stuct from data store
- info = (DevInfo *) g_hash_table_lookup(devices, path);
+ /* get device stuct from data store */
+ info = (DevInfo *) g_hash_table_lookup (devices, path);
if (NULL == info) {
- g_set_error(error, SENSORS_APPLET_PLUGIN_ERROR, 0, "Error finding disk with path %s", path);
+ g_set_error (error, SENSORS_APPLET_PLUGIN_ERROR, 0, "Error finding disk with path %s", path);
return 0.0;
}
@@ -516,37 +428,33 @@ static gdouble udisks2_plugin_get_sensor_value(const gchar *path,
return 0.0;
}
- // refresh device temp
- /* update value since Changed() signal doesn't fire manually enough so
- * poll instead */
- update_device(info);
+ /* refresh device temp */
+ update_device (info);
return info->temp;
}
-// API functions
-const gchar *sensors_applet_plugin_name(void)
-{
+/* API functions */
+const gchar *sensors_applet_plugin_name (void) {
return plugin_name;
}
-static GList *udisks2_plugin_init(void) {
+static GList *udisks2_plugin_init (void) {
GList *sensors = NULL;
- udisks2_plugin_get_sensors(&sensors);
+ udisks2_plugin_get_sensors (&sensors);
return sensors;
}
-GList *sensors_applet_plugin_init(void)
-{
- return udisks2_plugin_init();
+GList *sensors_applet_plugin_init (void) {
+ return udisks2_plugin_init ();
}
-gdouble sensors_applet_plugin_get_sensor_value(const gchar *path,
- const gchar *id,
- SensorType type,
- GError **error) {
+gdouble sensors_applet_plugin_get_sensor_value (const gchar *path,
+ const gchar *id,
+ SensorType type,
+ GError **error) {
- return udisks2_plugin_get_sensor_value(path, id, type, error);
+ return udisks2_plugin_get_sensor_value (path, id, type, error);
}
diff --git a/plugins/udisks2/udisks2-plugin.h b/plugins/udisks2/udisks2-plugin.h
index 026ee8c..98664be 100644
--- a/plugins/udisks2/udisks2-plugin.h
+++ b/plugins/udisks2/udisks2-plugin.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Pramod Dematagoda <[email protected]>
+ * Copyright (C) 2017 info-cppsp <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by