aboutsummaryrefslogtreecommitdiffstats
path: root/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.c')
-rw-r--r--plugin.c235
1 files changed, 230 insertions, 5 deletions
diff --git a/plugin.c b/plugin.c
index af52f21..9001935 100644
--- a/plugin.c
+++ b/plugin.c
@@ -1,9 +1,9 @@
-/* $Id: plugin.c 728 2007-01-14 11:14:38Z michael $
- * $URL: https://ssl.bulix.org/svn/lcd4linux/branches/0.10.1/plugin.c $
+/* $Id: plugin.c 1096 2010-01-28 17:19:58Z michael $
+ * $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/plugin.c $
*
* plugin handler for the Evaluator
*
- * Copyright (C) 2003 Michael Reinelt <reinelt@eunet.at>
+ * Copyright (C) 2003 Michael Reinelt <michael@reinelt.co.at>
* Copyright (C) 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
*
* This file is part of LCD4Linux.
@@ -36,12 +36,137 @@
#include "config.h"
+#include "plugin.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "debug.h"
-#include "plugin.h"
+
+
+char *Plugins[] = {
+ "cfg",
+ "math",
+ "string",
+ "test",
+ "time",
+#ifdef PLUGIN_APM
+ "apm",
+#endif
+#ifdef PLUGIN_ASTERISK
+ "asterisk",
+#endif
+#ifdef PLUGIN_BUTTON_EXEC
+ "button_exec",
+#endif
+#ifdef PLUGIN_CPUINFO
+ "cpuinfo",
+#endif
+#ifdef PLUGIN_DBUS
+ "dbus",
+#endif
+#ifdef PLUGIN_DISKSTATS
+ "diskstats",
+#endif
+#ifdef PLUGIN_DVB
+ "dvb",
+#endif
+#ifdef PLUGIN_EXEC
+ "exec",
+#endif
+#ifdef PLUGIN_EVENT
+ "event",
+#endif
+#ifdef PLUGIN_FIFO
+ "fifo",
+#endif
+#ifdef PLUGIN_FILE
+ "file",
+#endif
+#ifdef PLUGIN_GPS
+ "gps",
+#endif
+#ifdef PLUGIN_HDDTEMP
+ "hddtemp",
+#endif
+#ifdef PLUGIN_HUAWEI
+ "huawei",
+#endif
+#ifdef PLUGIN_I2C_SENSORS
+ "i2c_sensors",
+#endif
+#ifdef PLUGIN_ICONV
+ "iconv",
+#endif
+#ifdef PLUGIN_IMON
+ "imon",
+#endif
+#ifdef PLUGIN_ISDN
+ "isdn",
+#endif
+#ifdef PLUGIN_KVV
+ "kvv",
+#endif
+#ifdef PLUGIN_LOADAVG
+ "loadavg",
+#endif
+#ifdef PLUGIN_MEMINFO
+ "meminfo",
+#endif
+#ifdef PLUGIN_MPD
+ "mpd",
+#endif
+#ifdef PLUGIN_MPRIS_DBUS
+ "mpris_dbus",
+#endif
+#ifdef PLUGIN_MYSQL
+ "mysql",
+#endif
+#ifdef PLUGIN_NETDEV
+ "netdev",
+#endif
+#ifdef PLUGIN_NETINFO
+ "netinfo",
+#endif
+#ifdef PLUGIN_POP3
+ "pop3",
+#endif
+#ifdef PLUGIN_PPP
+ "ppp",
+#endif
+#ifdef PLUGIN_PROC_STAT
+ "proc_stat",
+#endif
+#ifdef PLUGIN_PYTHON
+ "python",
+#endif
+#ifdef PLUGIN_SAMPLE
+ "sample",
+#endif
+#ifdef PLUGIN_SETI
+ "seti",
+#endif
+#ifdef PLUGIN_STATFS
+ "statfs",
+#endif
+#ifdef PLUGIN_UNAME
+ "uname",
+#endif
+#ifdef PLUGIN_UPTIME
+ "uptime",
+#endif
+#ifdef PLUGIN_W1RETAP
+ "w1retap",
+#endif
+#ifdef PLUGIN_WIRELESS
+ "wireless",
+#endif
+#ifdef PLUGIN_XMMS
+ "xmms",
+#endif
+ NULL,
+};
/* Prototypes */
@@ -58,16 +183,32 @@ void plugin_exit_time(void);
int plugin_init_apm(void);
void plugin_exit_apm(void);
+int plugin_init_asterisk(void);
+void plugin_exit_asterisk(void);
+int plugin_init_button_exec(void);
+void plugin_exit_button_exec(void);
int plugin_init_cpuinfo(void);
void plugin_exit_cpuinfo(void);
+int plugin_init_dbus(void);
+void plugin_exit_dbus(void);
int plugin_init_diskstats(void);
void plugin_exit_diskstats(void);
int plugin_init_dvb(void);
void plugin_exit_dvb(void);
int plugin_init_exec(void);
void plugin_exit_exec(void);
+int plugin_init_event(void);
+void plugin_exit_event(void);
+int plugin_init_fifo(void);
+void plugin_exit_fifo(void);
int plugin_init_file(void);
void plugin_exit_file(void);
+int plugin_init_gps(void);
+void plugin_exit_gps(void);
+int plugin_init_hddtemp(void);
+void plugin_exit_hddtemp(void);
+int plugin_init_huawei(void);
+void plugin_exit_huawei(void);
int plugin_init_i2c_sensors(void);
void plugin_exit_i2c_sensors(void);
int plugin_init_imon(void);
@@ -84,10 +225,14 @@ int plugin_init_meminfo(void);
void plugin_exit_meminfo(void);
int plugin_init_mpd(void);
void plugin_exit_mpd(void);
+int plugin_init_mpris_dbus(void);
+void plugin_exit_mpris_dbus(void);
int plugin_init_mysql(void);
void plugin_exit_mysql(void);
int plugin_init_netdev(void);
void plugin_exit_netdev(void);
+int plugin_init_netinfo(void);
+void plugin_exit_netinfo(void);
int plugin_init_pop3(void);
void plugin_exit_pop3(void);
int plugin_init_ppp(void);
@@ -106,12 +251,30 @@ int plugin_init_uname(void);
void plugin_exit_uname(void);
int plugin_init_uptime(void);
void plugin_exit_uptime(void);
+int plugin_init_w1retap(void);
+void plugin_exit_w1retap(void);
int plugin_init_wireless(void);
void plugin_exit_wireless(void);
int plugin_init_xmms(void);
void plugin_exit_xmms(void);
+int plugin_list(void)
+{
+ int i;
+
+ printf("available plugins:\n ");
+
+ for (i = 0; Plugins[i]; i++) {
+ printf("%s", Plugins[i]);
+ if (Plugins[i + 1])
+ printf(", ");
+ }
+ printf("\n");
+ return 0;
+}
+
+
int plugin_init(void)
{
plugin_init_cfg();
@@ -123,9 +286,18 @@ int plugin_init(void)
#ifdef PLUGIN_APM
plugin_init_apm();
#endif
+#ifdef PLUGIN_ASTERISK
+ plugin_init_asterisk();
+#endif
+#ifdef PLUGIN_BUTTON_EXEC
+ plugin_init_button_exec();
+#endif
#ifdef PLUGIN_CPUINFO
plugin_init_cpuinfo();
#endif
+#ifdef PLUGIN_DBUS
+ plugin_init_dbus();
+#endif
#ifdef PLUGIN_DISKSTATS
plugin_init_diskstats();
#endif
@@ -135,9 +307,24 @@ int plugin_init(void)
#ifdef PLUGIN_EXEC
plugin_init_exec();
#endif
+#ifdef PLUGIN_EVENT
+ plugin_init_event();
+#endif
+#ifdef PLUGIN_FIFO
+ plugin_init_fifo();
+#endif
#ifdef PLUGIN_FILE
plugin_init_file();
#endif
+#ifdef PLUGIN_GPS
+ plugin_init_gps();
+#endif
+#ifdef PLUGIN_HDDTEMP
+ plugin_init_hddtemp();
+#endif
+#ifdef PLUGIN_HUAWEI
+ plugin_init_huawei();
+#endif
#ifdef PLUGIN_I2C_SENSORS
plugin_init_i2c_sensors();
#endif
@@ -162,13 +349,18 @@ int plugin_init(void)
#ifdef PLUGIN_MPD
plugin_init_mpd();
#endif
-
+#ifdef PLUGIN_MPRIS_DBUS
+ plugin_init_mpris_dbus();
+#endif
#ifdef PLUGIN_MYSQL
plugin_init_mysql();
#endif
#ifdef PLUGIN_NETDEV
plugin_init_netdev();
#endif
+#ifdef PLUGIN_NETINFO
+ plugin_init_netinfo();
+#endif
#ifdef PLUGIN_POP3
plugin_init_pop3();
#endif
@@ -196,6 +388,9 @@ int plugin_init(void)
#ifdef PLUGIN_UPTIME
plugin_init_uptime();
#endif
+#ifdef PLUGIN_W1RETAP
+ plugin_init_w1retap();
+#endif
#ifdef PLUGIN_WIRELESS
plugin_init_wireless();
#endif
@@ -212,9 +407,18 @@ void plugin_exit(void)
#ifdef PLUGIN_APM
plugin_exit_apm();
#endif
+#ifdef PLUGIN_ASTERISK
+ plugin_exit_asterisk();
+#endif
+#ifdef PLUGIN_BUTTON_EXEC
+ plugin_exit_button_exec();
+#endif
#ifdef PLUGIN_CPUINFO
plugin_exit_cpuinfo();
#endif
+#ifdef PLUGIN_DBUS
+ plugin_exit_dbus();
+#endif
#ifdef PLUGIN_DISKSTATS
plugin_exit_diskstats();
#endif
@@ -224,9 +428,21 @@ void plugin_exit(void)
#ifdef PLUGIN_EXEC
plugin_exit_exec();
#endif
+#ifdef PLUGIN_EVENT
+ plugin_exit_event();
+#endif
+#ifdef PLUGIN_FIFO
+ plugin_exit_fifo();
+#endif
#ifdef PLUGIN_FILE
plugin_exit_file();
#endif
+#ifdef PLUGIN_GPS
+ plugin_exit_gps();
+#endif
+#ifdef PLUGIN_HUAWEI
+ plugin_exit_huawei();
+#endif
#ifdef PLUGIN_I2C_SENSORS
plugin_exit_i2c_sensors();
#endif
@@ -251,12 +467,18 @@ void plugin_exit(void)
#ifdef PLUGIN_MPD
plugin_exit_mpd();
#endif
+#ifdef PLUGIN_MPRIS_DBUS
+ plugin_exit_mpris_dbus();
+#endif
#ifdef PLUGIN_MYSQL
plugin_exit_mysql();
#endif
#ifdef PLUGIN_NETDEV
plugin_exit_netdev();
#endif
+#ifdef PLUGIN_NETINFO
+ plugin_exit_netinfo();
+#endif
#ifdef PLUGIN_POP3
plugin_exit_pop3();
#endif
@@ -284,6 +506,9 @@ void plugin_exit(void)
#ifdef PLUGIN_UPTIME
plugin_exit_uptime();
#endif
+#ifdef PLUGIN_W1RETAP
+ plugin_exit_w1retap();
+#endif
#ifdef PLUGIN_WIRELESS
plugin_exit_wireless();
#endif