summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinfo-cppsp <[email protected]>2018-03-03 10:20:48 +0100
committerlukefromdc <[email protected]>2018-03-08 22:58:37 -0500
commit34bc99e0565e5a87af2fc3f7e6ca4b823e29209f (patch)
tree7d3956ee11b93ff9565a9ce82302e8cd0195138d
parent78ab99a59de7db82ee1eb3814974075a71b44fa5 (diff)
downloadmate-sensors-applet-34bc99e0565e5a87af2fc3f7e6ca4b823e29209f.tar.bz2
mate-sensors-applet-34bc99e0565e5a87af2fc3f7e6ca4b823e29209f.tar.xz
Add dummy plugin
Allows testing in a virtual machine.
-rw-r--r--configure.ac16
-rw-r--r--plugins/Makefile.am5
-rw-r--r--plugins/dummy/Makefile.am23
-rw-r--r--plugins/dummy/dummy-plugin.c124
-rw-r--r--plugins/dummy/dummy-plugin.h24
5 files changed, 191 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index abf9177..9ea48dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,6 +70,19 @@ AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(CAIRO_LIBS)
+# enable dummy plugin for debug
+AC_ARG_ENABLE(dummyplugin,
+ AS_HELP_STRING([--enable-dummyplugin],
+ [Enable dummy plugin for debug.]),
+ enable_dummyplugin=$enableval, enable_dummyplugin="no")
+
+if test "x$enable_dummyplugin" = "xyes" ; then
+ echo "Enabling dummy plugin support"
+fi
+
+# use same test as above, because AM_CONDITIONAL may not be in if/else
+AM_CONDITIONAL(DUMMYPLUGIN, test "x$enable_dummyplugin" = "xyes")
+
# enable support for udisks2 (via dbus) by default if its available
AC_ARG_ENABLE(udisks2,
AS_HELP_STRING([--disable-udisks2],
@@ -80,7 +93,7 @@ if test "x$enable_udisks2" = "xno" ; then
echo "Disabling udisks2 support"
fi
-# use same test as above, bc AM_CONDITIONAL may not be in if/else
+# use same test as above, because AM_CONDITIONAL may not be in if/else
AM_CONDITIONAL(UDISKS2, test "x$enable_udisks2" = "xyes")
# support for libnotify
@@ -257,6 +270,7 @@ AC_CONFIG_FILES([
lib/Makefile
plugins/Makefile
plugins/acpi/Makefile
+ plugins/dummy/Makefile
plugins/udisks2/Makefile
plugins/hddtemp/Makefile
plugins/i2c-proc/Makefile
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 619faf3..3e0f9e2 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -1,5 +1,6 @@
DIST_SUBDIRS = \
acpi \
+ dummy \
udisks2 \
hddtemp \
i2c-proc \
@@ -26,6 +27,10 @@ SUBDIRS = \
smu-sys \
sonypi
+if DUMMYPLUGIN
+SUBDIRS += dummy
+endif
+
if UDISKS2
SUBDIRS += udisks2
endif
diff --git a/plugins/dummy/Makefile.am b/plugins/dummy/Makefile.am
new file mode 100644
index 0000000..287b4cf
--- /dev/null
+++ b/plugins/dummy/Makefile.am
@@ -0,0 +1,23 @@
+# Dummy plugin
+plugindir = $(libdir)/mate-sensors-applet/plugins
+
+AM_CPPFLAGS = -DMATELOCALEDIR=\""$(datadir)/locale/"\" \
+ -DG_LOG_DOMAIN=\""Sensors Applet"\" \
+ -DPIXMAPS_DIR=\""$(datadir)/pixmaps/$(PACKAGE)/"\" \
+ -DDATADIR=\""$(datadir)"\" \
+ -DLIBDIR=\""$(libdir)"\" \
+ -DSYSCONFDIR=\""$(sysconfdir)"\" \
+ -DPREFIX=\""$(prefix)"\" \
+ -I$(top_srcdir) \
+ $(GLIB_CFLAGS)
+
+
+plugin_LTLIBRARIES = libdummy.la
+
+libdummy_la_SOURCES = \
+ dummy-plugin.h \
+ dummy-plugin.c
+
+libdummy_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS) $(GLIB_LIBS)
+
+libdummy_la_LIBADD = $(top_builddir)/lib/libmate-sensors-applet-plugin.la
diff --git a/plugins/dummy/dummy-plugin.c b/plugins/dummy/dummy-plugin.c
new file mode 100644
index 0000000..2ddad8a
--- /dev/null
+++ b/plugins/dummy/dummy-plugin.c
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2018 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* Dummy plugin to be able to test msa in a VM */
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <time.h>
+#include <stdlib.h>
+#include "dummy-plugin.h"
+
+
+// remove // from next line for syslog debug
+//#define DPDBG 1
+
+#ifdef DPDBG
+#include <syslog.h>
+#endif
+
+
+const gchar *plugin_name = "dummy";
+
+
+static void dummy_plugin_get_sensors(GList **sensors) {
+
+ /* dummy HDD temp sensor */
+ sensors_applet_plugin_add_sensor(sensors,
+ "/sys/devices/platform/it87.656/hwmon/hwmon1/temp2_input",
+ "temp2",
+ "CPU",
+ TEMP_SENSOR,
+ TRUE,
+ CPU_ICON,
+ DEFAULT_GRAPH_COLOR);
+
+ /* dummy HDD temp sensor */
+ sensors_applet_plugin_add_sensor(sensors,
+ "/sys/devices/platform/it87.656/hwmon/hwmon1/fan1_input",
+ "fan1",
+ "fan1",
+ FAN_SENSOR,
+ TRUE,
+ FAN_ICON,
+ DEFAULT_GRAPH_COLOR);
+
+ /* dummy HDD temp sensor */
+ sensors_applet_plugin_add_sensor(sensors,
+ "HDD 2154884654-5648HG-546821",
+ "Disk Temperature",
+ "HDD 2154884654",
+ TEMP_SENSOR,
+ TRUE,
+ HDD_ICON,
+ DEFAULT_GRAPH_COLOR);
+
+}
+
+/* this is the function called every refresh cycle */
+static gdouble dummy_plugin_get_sensor_value(const gchar *path,
+ const gchar *id,
+ SensorType type,
+ GError **error) {
+
+ switch (type) {
+ case TEMP_SENSOR:
+ return (gdouble) (rand() % 40 + 20);
+ break;
+
+ case FAN_SENSOR:
+ return (gdouble) (rand() % 3000);
+ break;
+
+ default:
+ g_assert_not_reached();
+ }
+
+}
+
+
+/* API functions */
+const gchar *sensors_applet_plugin_name(void) {
+ return plugin_name;
+}
+
+static GList *dummy_plugin_init(void) {
+ GList *sensors = NULL;
+
+ /* init random number generation */
+ srand(time(NULL));
+
+ dummy_plugin_get_sensors(&sensors);
+
+ return sensors;
+}
+
+GList *sensors_applet_plugin_init(void) {
+ return dummy_plugin_init();
+}
+
+gdouble sensors_applet_plugin_get_sensor_value(const gchar *path,
+ const gchar *id,
+ SensorType type,
+ GError **error) {
+
+ return dummy_plugin_get_sensor_value(path, id, type, error);
+}
diff --git a/plugins/dummy/dummy-plugin.h b/plugins/dummy/dummy-plugin.h
new file mode 100644
index 0000000..79eb617
--- /dev/null
+++ b/plugins/dummy/dummy-plugin.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2018 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef DUMMY_PLUGIN_H
+#define DUMMY_PLUGIN_H
+
+#include <sensors-applet/sensors-applet-plugin.h>
+
+#endif /* DUMMY_PLUGIN_H */