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);
 
 
 /* ---- */