added includes
diff --git a/includes/gpio.c b/includes/gpio.c
new file mode 100644
index 0000000..221441b
--- /dev/null
+++ b/includes/gpio.c
@@ -0,0 +1,136 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <argp.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+#include "gpio.h"
+
+
+void gpio_writec(GPIO* gpio, char value)
+{
+ char buf[1];
+ buf[0] = value;
+ if (write(gpio->fd, buf, 1) != 1)
+ {
+ //TODO: error handling
+ printf("Write error\n");
+ }
+}
+
+void gpio_write(GPIO* gpio, uint8_t value)
+{
+ char buf[1];
+ buf[0] = '0';
+ if (value==1)
+ {
+ buf[0]='1';
+ }
+ if (write(gpio->fd, buf, 1) != 1)
+ {
+ //TODO: error handling
+ printf("write error\n");
+ }
+}
+
+uint8_t gpio_read(GPIO* gpio)
+{
+ char buf[1];
+ if (read(gpio->fd,&buf,1) != 1)
+ {
+ //TODO: error hjandling
+ printf("read error\n");
+ }
+ if (buf[0]=='1') {
+ return 1;
+ }
+ return 0;
+
+}
+void gpio_clock_cycle(GPIO* gpio, int num_clks) {
+ int i=0;
+ for (i=0;i<num_clks;i++) {
+ gpio_writec(gpio,'0');
+ gpio_writec(gpio,'1');
+ }
+}
+
+// Gets the gpio device path from gpio manager object
+void gpio_init(GDBusConnection *connection, GPIO* gpio)
+{
+ GDBusProxy *proxy;
+ GError *error;
+ GVariant *result;
+
+ error = NULL;
+ g_assert_no_error (error);
+ error = NULL;
+ proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL, /* GDBusInterfaceInfo */
+ "org.openbmc.managers.Gpios", /* name */
+ "/org/openbmc/managers/Gpios", /* object path */
+ "org.openbmc.managers.Gpios", /* interface */
+ NULL, /* GCancellable */
+ &error);
+ g_assert_no_error (error);
+
+ result = g_dbus_proxy_call_sync (proxy,
+ "init",
+ g_variant_new ("(s)", gpio->name),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+
+ g_assert_no_error (error);
+ g_assert (result != NULL);
+ g_variant_get (result, "(&si&s)", &gpio->dev,&gpio->num,&gpio->direction);
+ g_print("GPIO Lookup: %s = %d,%s\n",gpio->name,gpio->num,gpio->direction);
+
+ //export and set direction
+ char dev[254];
+ char data[4];
+ sprintf(dev,"%s/export",gpio->dev);
+ int fd = open(dev, O_WRONLY);
+ sprintf(data,"%d",gpio->num);
+ write(fd,data,strlen(data));
+ close(fd);
+
+ sprintf(dev,"%s/gpio%d/direction",gpio->dev,gpio->num);
+ fd = open(dev,O_WRONLY);
+ write(fd,gpio->direction,strlen(gpio->direction));
+ close(fd);
+
+
+}
+int gpio_open(GPIO* gpio)
+{
+ // open gpio for writing or reading
+ char buf[254];
+ if (strcmp(gpio->direction,"in")==0)
+ {
+ sprintf(buf, "%s/gpio%d/value", gpio->dev, gpio->num);
+ gpio->fd = open(buf, O_RDONLY);
+ }
+ else
+ {
+ sprintf(buf, "%s/gpio%d/value", gpio->dev, gpio->num);
+ gpio->fd = open(buf, O_WRONLY);
+
+ }
+ if (gpio->fd == -1)
+ {
+ printf("error opening: %s\n",buf);
+ }
+ return gpio->fd;
+}
+
+void gpio_close(GPIO* gpio)
+{
+ close(gpio->fd);
+}
diff --git a/includes/gpio.h b/includes/gpio.h
new file mode 100644
index 0000000..68d01bd
--- /dev/null
+++ b/includes/gpio.h
@@ -0,0 +1,25 @@
+#ifndef __OBJECTS_GPIO_UTILITIES_H__
+#define __OBJECTS_GPIO_UTILITIES_H__
+
+#include <stdint.h>
+#include <gio/gio.h>
+
+typedef struct {
+ gchar* name;
+ gchar* dev;
+ uint16_t num;
+ gchar* direction;
+ int fd;
+} GPIO;
+
+
+//gpio functions
+void gpio_init(GDBusConnection*, GPIO*);
+void gpio_close(GPIO*);
+int gpio_open(GPIO*);
+void gpio_write(GPIO*, uint8_t);
+void gpio_writec(GPIO*, char);
+void gpio_clock_cycle(GPIO*, int);
+uint8_t gpio_read(GPIO*);
+
+#endif
diff --git a/includes/openbmc.h b/includes/openbmc.h
new file mode 100644
index 0000000..775e225
--- /dev/null
+++ b/includes/openbmc.h
@@ -0,0 +1,12 @@
+#ifndef __OPENBMC_H__
+#define __OPENBMC_H__
+
+#include <stdint.h>
+
+typedef struct {
+ gint argc;
+ gchar **argv;
+
+} cmdline;
+
+#endif
diff --git a/includes/sensor_threshold.c b/includes/sensor_threshold.c
new file mode 100644
index 0000000..68c7ad7
--- /dev/null
+++ b/includes/sensor_threshold.c
@@ -0,0 +1,81 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <argp.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+#include "interfaces/sensor2.h"
+#include "sensor_threshold.h"
+
+
+gboolean
+get_threshold_state (SensorIntegerThreshold *sen,
+ GDBusMethodInvocation *invocation,
+ gpointer user_data)
+{
+ guint state = sensor_integer_threshold_get_state(sen);
+ sensor_integer_threshold_complete_get_state(sen,invocation,state);
+ return TRUE;
+}
+
+
+gboolean
+set_thresholds (SensorIntegerThreshold *sen,
+ GDBusMethodInvocation *invocation,
+ guint lc,
+ guint lw,
+ guint uw,
+ guint uc,
+ gpointer user_data)
+{
+ sensor_integer_threshold_set_lower_critical(sen,lc);
+ sensor_integer_threshold_set_lower_warning(sen,lw);
+ sensor_integer_threshold_set_upper_warning(sen,uw);
+ sensor_integer_threshold_set_upper_critical(sen,uc);
+ sensor_integer_threshold_complete_set(sen,invocation);
+ sensor_integer_threshold_set_state(sen,NORMAL);
+ return TRUE;
+}
+
+
+void check_thresholds(SensorIntegerThreshold* sensor,guint value)
+{
+ threshold_states current_state = sensor_integer_threshold_get_state(sensor);
+ if (current_state != NOT_SET)
+ {
+ threshold_states state = NORMAL;
+
+ if (value < sensor_integer_threshold_get_lower_critical(sensor)) {
+ state = LOWER_CRITICAL;
+ }
+ else if(value < sensor_integer_threshold_get_lower_warning(sensor)) {
+ state = LOWER_WARNING;
+ }
+ else if(value > sensor_integer_threshold_get_upper_critical(sensor)) {
+ state = UPPER_CRITICAL;
+ }
+ else if(value > sensor_integer_threshold_get_upper_warning(sensor)) {
+ state = UPPER_WARNING;
+ }
+ // only emit signal if threshold state changes
+ if (state != sensor_integer_threshold_get_state(sensor))
+ {
+ sensor_integer_threshold_set_state(sensor,state);
+ if (state == LOWER_CRITICAL || state == UPPER_CRITICAL)
+ {
+ sensor_integer_threshold_emit_critical(sensor);
+ g_print("Critical\n");
+ }
+ else if (state == LOWER_WARNING || state == UPPER_WARNING)
+ {
+ sensor_integer_threshold_emit_warning(sensor);
+ g_print("Warning\n");
+ }
+ }
+ }
+}
+
diff --git a/includes/sensor_threshold.h b/includes/sensor_threshold.h
new file mode 100644
index 0000000..0e0991c
--- /dev/null
+++ b/includes/sensor_threshold.h
@@ -0,0 +1,16 @@
+#ifndef __SENSOR_THRESHOLDS_H__
+#define __SENSOR_THRESHOLDS_H__
+
+#include <stdint.h>
+
+typedef enum { NOT_SET,NORMAL,LOWER_CRITICAL,LOWER_WARNING,UPPER_WARNING,UPPER_CRITICAL } threshold_states;
+
+gboolean get_threshold_state(SensorIntegerThreshold*,
+ GDBusMethodInvocation*,gpointer);
+
+gboolean set_thresholds(SensorIntegerThreshold*,
+ GDBusMethodInvocation*,guint,guint,guint,guint,gpointer);
+void check_thresholds(SensorIntegerThreshold*,guint);
+
+
+#endif
diff --git a/interfaces/sensor.c b/interfaces/sensor.c
index 64aaebf..a6820ae 100644
--- a/interfaces/sensor.c
+++ b/interfaces/sensor.c
@@ -379,6 +379,36 @@
FALSE
};
+static const _ExtendedGDBusArgInfo _sensor_integer_method_info_get_watchdog_OUT_ARG_watchdog =
+{
+ {
+ -1,
+ (gchar *) "watchdog",
+ (gchar *) "i",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _sensor_integer_method_info_get_watchdog_OUT_ARG_pointers[] =
+{
+ &_sensor_integer_method_info_get_watchdog_OUT_ARG_watchdog,
+ NULL
+};
+
+static const _ExtendedGDBusMethodInfo _sensor_integer_method_info_get_watchdog =
+{
+ {
+ -1,
+ (gchar *) "getWatchdog",
+ NULL,
+ (GDBusArgInfo **) &_sensor_integer_method_info_get_watchdog_OUT_ARG_pointers,
+ NULL
+ },
+ "handle-get-watchdog",
+ FALSE
+};
+
static const _ExtendedGDBusMethodInfo * const _sensor_integer_method_info_pointers[] =
{
&_sensor_integer_method_info_get_value,
@@ -387,6 +417,7 @@
&_sensor_integer_method_info_set_poll_interval,
&_sensor_integer_method_info_set_config_data,
&_sensor_integer_method_info_get_threshold_state,
+ &_sensor_integer_method_info_get_watchdog,
NULL
};
@@ -565,16 +596,16 @@
FALSE
};
-static const _ExtendedGDBusPropertyInfo _sensor_integer_property_info_changed_tolerance =
+static const _ExtendedGDBusPropertyInfo _sensor_integer_property_info_watchdog =
{
{
-1,
- (gchar *) "changed_tolerance",
+ (gchar *) "watchdog",
(gchar *) "i",
G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
NULL
},
- "changed-tolerance",
+ "watchdog",
FALSE
};
@@ -589,7 +620,7 @@
&_sensor_integer_property_info_threshold_state,
&_sensor_integer_property_info_poll_interval,
&_sensor_integer_property_info_config_data,
- &_sensor_integer_property_info_changed_tolerance,
+ &_sensor_integer_property_info_watchdog,
NULL
};
@@ -642,7 +673,7 @@
g_object_class_override_property (klass, property_id_begin++, "threshold-state");
g_object_class_override_property (klass, property_id_begin++, "poll-interval");
g_object_class_override_property (klass, property_id_begin++, "config-data");
- g_object_class_override_property (klass, property_id_begin++, "changed-tolerance");
+ g_object_class_override_property (klass, property_id_begin++, "watchdog");
return property_id_begin - 1;
}
@@ -660,10 +691,10 @@
* @handle_get_threshold_state: Handler for the #SensorInteger::handle-get-threshold-state signal.
* @handle_get_units: Handler for the #SensorInteger::handle-get-units signal.
* @handle_get_value: Handler for the #SensorInteger::handle-get-value signal.
+ * @handle_get_watchdog: Handler for the #SensorInteger::handle-get-watchdog signal.
* @handle_set_config_data: Handler for the #SensorInteger::handle-set-config-data signal.
* @handle_set_poll_interval: Handler for the #SensorInteger::handle-set-poll-interval signal.
* @handle_set_thresholds: Handler for the #SensorInteger::handle-set-thresholds signal.
- * @get_changed_tolerance: Getter for the #SensorInteger:changed-tolerance property.
* @get_config_data: Getter for the #SensorInteger:config-data property.
* @get_poll_interval: Getter for the #SensorInteger:poll-interval property.
* @get_threshold_lower_critical: Getter for the #SensorInteger:threshold-lower-critical property.
@@ -673,6 +704,7 @@
* @get_threshold_upper_warning: Getter for the #SensorInteger:threshold-upper-warning property.
* @get_units: Getter for the #SensorInteger:units property.
* @get_value: Getter for the #SensorInteger:value property.
+ * @get_watchdog: Getter for the #SensorInteger:watchdog property.
* @changed: Handler for the #SensorInteger::changed signal.
* @critical: Handler for the #SensorInteger::critical signal.
* @warning: Handler for the #SensorInteger::warning signal.
@@ -825,6 +857,28 @@
1,
G_TYPE_DBUS_METHOD_INVOCATION);
+ /**
+ * SensorInteger::handle-get-watchdog:
+ * @object: A #SensorInteger.
+ * @invocation: A #GDBusMethodInvocation.
+ *
+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-openbmc-SensorInteger.getWatchdog">getWatchdog()</link> D-Bus method.
+ *
+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call sensor_integer_complete_get_watchdog() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
+ *
+ * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
+ */
+ g_signal_new ("handle-get-watchdog",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (SensorIntegerIface, handle_get_watchdog),
+ g_signal_accumulator_true_handled,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_BOOLEAN,
+ 1,
+ G_TYPE_DBUS_METHOD_INVOCATION);
+
/* GObject signals for received D-Bus signals: */
/**
* SensorInteger::changed:
@@ -964,14 +1018,14 @@
g_object_interface_install_property (iface,
g_param_spec_boxed ("config-data", "config_data", "config_data", G_TYPE_STRV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
/**
- * SensorInteger:changed-tolerance:
+ * SensorInteger:watchdog:
*
- * Represents the D-Bus property <link linkend="gdbus-property-org-openbmc-SensorInteger.changed_tolerance">"changed_tolerance"</link>.
+ * Represents the D-Bus property <link linkend="gdbus-property-org-openbmc-SensorInteger.watchdog">"watchdog"</link>.
*
* Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
*/
g_object_interface_install_property (iface,
- g_param_spec_int ("changed-tolerance", "changed_tolerance", "changed_tolerance", G_MININT32, G_MAXINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_param_spec_int ("watchdog", "watchdog", "watchdog", G_MININT32, G_MAXINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
/**
@@ -1294,34 +1348,34 @@
}
/**
- * sensor_integer_get_changed_tolerance: (skip)
+ * sensor_integer_get_watchdog: (skip)
* @object: A #SensorInteger.
*
- * Gets the value of the <link linkend="gdbus-property-org-openbmc-SensorInteger.changed_tolerance">"changed_tolerance"</link> D-Bus property.
+ * Gets the value of the <link linkend="gdbus-property-org-openbmc-SensorInteger.watchdog">"watchdog"</link> D-Bus property.
*
* Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
*
* Returns: The property value.
*/
gint
-sensor_integer_get_changed_tolerance (SensorInteger *object)
+sensor_integer_get_watchdog (SensorInteger *object)
{
- return SENSOR_INTEGER_GET_IFACE (object)->get_changed_tolerance (object);
+ return SENSOR_INTEGER_GET_IFACE (object)->get_watchdog (object);
}
/**
- * sensor_integer_set_changed_tolerance: (skip)
+ * sensor_integer_set_watchdog: (skip)
* @object: A #SensorInteger.
* @value: The value to set.
*
- * Sets the <link linkend="gdbus-property-org-openbmc-SensorInteger.changed_tolerance">"changed_tolerance"</link> D-Bus property to @value.
+ * Sets the <link linkend="gdbus-property-org-openbmc-SensorInteger.watchdog">"watchdog"</link> D-Bus property to @value.
*
* Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
*/
void
-sensor_integer_set_changed_tolerance (SensorInteger *object, gint value)
+sensor_integer_set_watchdog (SensorInteger *object, gint value)
{
- g_object_set (G_OBJECT (object), "changed-tolerance", value, NULL);
+ g_object_set (G_OBJECT (object), "watchdog", value, NULL);
}
/**
@@ -1972,6 +2026,104 @@
}
/**
+ * sensor_integer_call_get_watchdog:
+ * @proxy: A #SensorIntegerProxy.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
+ * @user_data: User data to pass to @callback.
+ *
+ * Asynchronously invokes the <link linkend="gdbus-method-org-openbmc-SensorInteger.getWatchdog">getWatchdog()</link> D-Bus method on @proxy.
+ * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
+ * You can then call sensor_integer_call_get_watchdog_finish() to get the result of the operation.
+ *
+ * See sensor_integer_call_get_watchdog_sync() for the synchronous, blocking version of this method.
+ */
+void
+sensor_integer_call_get_watchdog (
+ SensorInteger *proxy,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_dbus_proxy_call (G_DBUS_PROXY (proxy),
+ "getWatchdog",
+ g_variant_new ("()"),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ cancellable,
+ callback,
+ user_data);
+}
+
+/**
+ * sensor_integer_call_get_watchdog_finish:
+ * @proxy: A #SensorIntegerProxy.
+ * @out_watchdog: (out): Return location for return parameter or %NULL to ignore.
+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to sensor_integer_call_get_watchdog().
+ * @error: Return location for error or %NULL.
+ *
+ * Finishes an operation started with sensor_integer_call_get_watchdog().
+ *
+ * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
+ */
+gboolean
+sensor_integer_call_get_watchdog_finish (
+ SensorInteger *proxy,
+ gint *out_watchdog,
+ GAsyncResult *res,
+ GError **error)
+{
+ GVariant *_ret;
+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
+ if (_ret == NULL)
+ goto _out;
+ g_variant_get (_ret,
+ "(i)",
+ out_watchdog);
+ g_variant_unref (_ret);
+_out:
+ return _ret != NULL;
+}
+
+/**
+ * sensor_integer_call_get_watchdog_sync:
+ * @proxy: A #SensorIntegerProxy.
+ * @out_watchdog: (out): Return location for return parameter or %NULL to ignore.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL.
+ *
+ * Synchronously invokes the <link linkend="gdbus-method-org-openbmc-SensorInteger.getWatchdog">getWatchdog()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
+ *
+ * See sensor_integer_call_get_watchdog() for the asynchronous version of this method.
+ *
+ * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
+ */
+gboolean
+sensor_integer_call_get_watchdog_sync (
+ SensorInteger *proxy,
+ gint *out_watchdog,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GVariant *_ret;
+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
+ "getWatchdog",
+ g_variant_new ("()"),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ cancellable,
+ error);
+ if (_ret == NULL)
+ goto _out;
+ g_variant_get (_ret,
+ "(i)",
+ out_watchdog);
+ g_variant_unref (_ret);
+_out:
+ return _ret != NULL;
+}
+
+/**
* sensor_integer_complete_get_value:
* @object: A #SensorInteger.
* @invocation: (transfer full): A #GDBusMethodInvocation.
@@ -2088,6 +2240,27 @@
threshold_state));
}
+/**
+ * sensor_integer_complete_get_watchdog:
+ * @object: A #SensorInteger.
+ * @invocation: (transfer full): A #GDBusMethodInvocation.
+ * @watchdog: Parameter to return.
+ *
+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-openbmc-SensorInteger.getWatchdog">getWatchdog()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
+ *
+ * This method will free @invocation, you cannot use it afterwards.
+ */
+void
+sensor_integer_complete_get_watchdog (
+ SensorInteger *object,
+ GDBusMethodInvocation *invocation,
+ gint watchdog)
+{
+ g_dbus_method_invocation_return_value (invocation,
+ g_variant_new ("(i)",
+ watchdog));
+}
+
/* ------------------------------------------------------------------------ */
/**
@@ -2405,12 +2578,12 @@
}
static gint
-sensor_integer_proxy_get_changed_tolerance (SensorInteger *object)
+sensor_integer_proxy_get_watchdog (SensorInteger *object)
{
SensorIntegerProxy *proxy = SENSOR_INTEGER_PROXY (object);
GVariant *variant;
gint value = 0;
- variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "changed_tolerance");
+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "watchdog");
if (variant != NULL)
{
value = g_variant_get_int32 (variant);
@@ -2465,7 +2638,7 @@
iface->get_threshold_state = sensor_integer_proxy_get_threshold_state;
iface->get_poll_interval = sensor_integer_proxy_get_poll_interval;
iface->get_config_data = sensor_integer_proxy_get_config_data;
- iface->get_changed_tolerance = sensor_integer_proxy_get_changed_tolerance;
+ iface->get_watchdog = sensor_integer_proxy_get_watchdog;
}
/**
@@ -3233,7 +3406,7 @@
}
static gint
-sensor_integer_skeleton_get_changed_tolerance (SensorInteger *object)
+sensor_integer_skeleton_get_watchdog (SensorInteger *object)
{
SensorIntegerSkeleton *skeleton = SENSOR_INTEGER_SKELETON (object);
gint value;
@@ -3284,7 +3457,7 @@
iface->get_threshold_state = sensor_integer_skeleton_get_threshold_state;
iface->get_poll_interval = sensor_integer_skeleton_get_poll_interval;
iface->get_config_data = sensor_integer_skeleton_get_config_data;
- iface->get_changed_tolerance = sensor_integer_skeleton_get_changed_tolerance;
+ iface->get_watchdog = sensor_integer_skeleton_get_watchdog;
}
/**
diff --git a/interfaces/sensor.h b/interfaces/sensor.h
index 4b4be38..45c2bf6 100644
--- a/interfaces/sensor.h
+++ b/interfaces/sensor.h
@@ -42,6 +42,10 @@
SensorInteger *object,
GDBusMethodInvocation *invocation);
+ gboolean (*handle_get_watchdog) (
+ SensorInteger *object,
+ GDBusMethodInvocation *invocation);
+
gboolean (*handle_set_config_data) (
SensorInteger *object,
GDBusMethodInvocation *invocation,
@@ -60,8 +64,6 @@
gint arg_upper_warning,
gint arg_upper_critical);
- gint (*get_changed_tolerance) (SensorInteger *object);
-
const gchar *const * (*get_config_data) (SensorInteger *object);
gint (*get_poll_interval) (SensorInteger *object);
@@ -80,6 +82,8 @@
gint (*get_value) (SensorInteger *object);
+ gint (*get_watchdog) (SensorInteger *object);
+
void (*changed) (
SensorInteger *object,
gint arg_value);
@@ -126,6 +130,11 @@
GDBusMethodInvocation *invocation,
gint threshold_state);
+void sensor_integer_complete_get_watchdog (
+ SensorInteger *object,
+ GDBusMethodInvocation *invocation,
+ gint watchdog);
+
/* D-Bus signal emissions functions: */
@@ -256,6 +265,24 @@
GCancellable *cancellable,
GError **error);
+void sensor_integer_call_get_watchdog (
+ SensorInteger *proxy,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+gboolean sensor_integer_call_get_watchdog_finish (
+ SensorInteger *proxy,
+ gint *out_watchdog,
+ GAsyncResult *res,
+ GError **error);
+
+gboolean sensor_integer_call_get_watchdog_sync (
+ SensorInteger *proxy,
+ gint *out_watchdog,
+ GCancellable *cancellable,
+ GError **error);
+
/* D-Bus property accessors: */
@@ -288,8 +315,8 @@
gchar **sensor_integer_dup_config_data (SensorInteger *object);
void sensor_integer_set_config_data (SensorInteger *object, const gchar *const *value);
-gint sensor_integer_get_changed_tolerance (SensorInteger *object);
-void sensor_integer_set_changed_tolerance (SensorInteger *object, gint value);
+gint sensor_integer_get_watchdog (SensorInteger *object);
+void sensor_integer_set_watchdog (SensorInteger *object, gint value);
/* ---- */