cleaned up ipmi handling
diff --git a/interfaces/openbmc_intf.h b/interfaces/openbmc_intf.h
index 23bfccc..af4d22e 100644
--- a/interfaces/openbmc_intf.h
+++ b/interfaces/openbmc_intf.h
@@ -475,17 +475,8 @@
     SensorValue *object,
     GDBusMethodInvocation *invocation);
 
-  gboolean (*handle_set_value) (
-    SensorValue *object,
-    GDBusMethodInvocation *invocation,
-    GVariant *arg_value);
-
   gint  (*get_heatbeat) (SensorValue *object);
 
-  guchar  (*get_ipmi_entity_id) (SensorValue *object);
-
-  guchar  (*get_ipmi_id) (SensorValue *object);
-
   gint  (*get_poll_interval) (SensorValue *object);
 
   gboolean  (*get_settable) (SensorValue *object);
@@ -524,10 +515,6 @@
     GDBusMethodInvocation *invocation,
     GVariant *value);
 
-void sensor_value_complete_set_value (
-    SensorValue *object,
-    GDBusMethodInvocation *invocation);
-
 
 
 /* D-Bus signal emissions functions: */
@@ -580,24 +567,6 @@
     GCancellable *cancellable,
     GError **error);
 
-void sensor_value_call_set_value (
-    SensorValue *proxy,
-    GVariant *arg_value,
-    GCancellable *cancellable,
-    GAsyncReadyCallback callback,
-    gpointer user_data);
-
-gboolean sensor_value_call_set_value_finish (
-    SensorValue *proxy,
-    GAsyncResult *res,
-    GError **error);
-
-gboolean sensor_value_call_set_value_sync (
-    SensorValue *proxy,
-    GVariant *arg_value,
-    GCancellable *cancellable,
-    GError **error);
-
 
 
 /* D-Bus property accessors: */
@@ -618,12 +587,6 @@
 gboolean sensor_value_get_settable (SensorValue *object);
 void sensor_value_set_settable (SensorValue *object, gboolean value);
 
-guchar sensor_value_get_ipmi_entity_id (SensorValue *object);
-void sensor_value_set_ipmi_entity_id (SensorValue *object, guchar value);
-
-guchar sensor_value_get_ipmi_id (SensorValue *object);
-void sensor_value_set_ipmi_id (SensorValue *object, guchar value);
-
 
 /* ---- */
 
@@ -722,6 +685,138 @@
 
 
 /* ------------------------------------------------------------------------ */
+/* Declarations for org.openbmc.SensorIpmi */
+
+#define TYPE_SENSOR_IPMI (sensor_ipmi_get_type ())
+#define SENSOR_IPMI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_SENSOR_IPMI, SensorIpmi))
+#define IS_SENSOR_IPMI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_SENSOR_IPMI))
+#define SENSOR_IPMI_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_SENSOR_IPMI, SensorIpmiIface))
+
+struct _SensorIpmi;
+typedef struct _SensorIpmi SensorIpmi;
+typedef struct _SensorIpmiIface SensorIpmiIface;
+
+struct _SensorIpmiIface
+{
+  GTypeInterface parent_iface;
+
+  guchar  (*get_entity_id) (SensorIpmi *object);
+
+  guchar  (*get_sensor_id) (SensorIpmi *object);
+
+};
+
+GType sensor_ipmi_get_type (void) G_GNUC_CONST;
+
+GDBusInterfaceInfo *sensor_ipmi_interface_info (void);
+guint sensor_ipmi_override_properties (GObjectClass *klass, guint property_id_begin);
+
+
+/* D-Bus property accessors: */
+guchar sensor_ipmi_get_sensor_id (SensorIpmi *object);
+void sensor_ipmi_set_sensor_id (SensorIpmi *object, guchar value);
+
+guchar sensor_ipmi_get_entity_id (SensorIpmi *object);
+void sensor_ipmi_set_entity_id (SensorIpmi *object, guchar value);
+
+
+/* ---- */
+
+#define TYPE_SENSOR_IPMI_PROXY (sensor_ipmi_proxy_get_type ())
+#define SENSOR_IPMI_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_SENSOR_IPMI_PROXY, SensorIpmiProxy))
+#define SENSOR_IPMI_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_SENSOR_IPMI_PROXY, SensorIpmiProxyClass))
+#define SENSOR_IPMI_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_SENSOR_IPMI_PROXY, SensorIpmiProxyClass))
+#define IS_SENSOR_IPMI_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_SENSOR_IPMI_PROXY))
+#define IS_SENSOR_IPMI_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_SENSOR_IPMI_PROXY))
+
+typedef struct _SensorIpmiProxy SensorIpmiProxy;
+typedef struct _SensorIpmiProxyClass SensorIpmiProxyClass;
+typedef struct _SensorIpmiProxyPrivate SensorIpmiProxyPrivate;
+
+struct _SensorIpmiProxy
+{
+  /*< private >*/
+  GDBusProxy parent_instance;
+  SensorIpmiProxyPrivate *priv;
+};
+
+struct _SensorIpmiProxyClass
+{
+  GDBusProxyClass parent_class;
+};
+
+GType sensor_ipmi_proxy_get_type (void) G_GNUC_CONST;
+
+void sensor_ipmi_proxy_new (
+    GDBusConnection     *connection,
+    GDBusProxyFlags      flags,
+    const gchar         *name,
+    const gchar         *object_path,
+    GCancellable        *cancellable,
+    GAsyncReadyCallback  callback,
+    gpointer             user_data);
+SensorIpmi *sensor_ipmi_proxy_new_finish (
+    GAsyncResult        *res,
+    GError             **error);
+SensorIpmi *sensor_ipmi_proxy_new_sync (
+    GDBusConnection     *connection,
+    GDBusProxyFlags      flags,
+    const gchar         *name,
+    const gchar         *object_path,
+    GCancellable        *cancellable,
+    GError             **error);
+
+void sensor_ipmi_proxy_new_for_bus (
+    GBusType             bus_type,
+    GDBusProxyFlags      flags,
+    const gchar         *name,
+    const gchar         *object_path,
+    GCancellable        *cancellable,
+    GAsyncReadyCallback  callback,
+    gpointer             user_data);
+SensorIpmi *sensor_ipmi_proxy_new_for_bus_finish (
+    GAsyncResult        *res,
+    GError             **error);
+SensorIpmi *sensor_ipmi_proxy_new_for_bus_sync (
+    GBusType             bus_type,
+    GDBusProxyFlags      flags,
+    const gchar         *name,
+    const gchar         *object_path,
+    GCancellable        *cancellable,
+    GError             **error);
+
+
+/* ---- */
+
+#define TYPE_SENSOR_IPMI_SKELETON (sensor_ipmi_skeleton_get_type ())
+#define SENSOR_IPMI_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_SENSOR_IPMI_SKELETON, SensorIpmiSkeleton))
+#define SENSOR_IPMI_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_SENSOR_IPMI_SKELETON, SensorIpmiSkeletonClass))
+#define SENSOR_IPMI_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_SENSOR_IPMI_SKELETON, SensorIpmiSkeletonClass))
+#define IS_SENSOR_IPMI_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_SENSOR_IPMI_SKELETON))
+#define IS_SENSOR_IPMI_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_SENSOR_IPMI_SKELETON))
+
+typedef struct _SensorIpmiSkeleton SensorIpmiSkeleton;
+typedef struct _SensorIpmiSkeletonClass SensorIpmiSkeletonClass;
+typedef struct _SensorIpmiSkeletonPrivate SensorIpmiSkeletonPrivate;
+
+struct _SensorIpmiSkeleton
+{
+  /*< private >*/
+  GDBusInterfaceSkeleton parent_instance;
+  SensorIpmiSkeletonPrivate *priv;
+};
+
+struct _SensorIpmiSkeletonClass
+{
+  GDBusInterfaceSkeletonClass parent_class;
+};
+
+GType sensor_ipmi_skeleton_get_type (void) G_GNUC_CONST;
+
+SensorIpmi *sensor_ipmi_skeleton_new (void);
+
+
+/* ------------------------------------------------------------------------ */
 /* Declarations for org.openbmc.SensorThreshold */
 
 #define TYPE_SENSOR_THRESHOLD (sensor_threshold_get_type ())
@@ -3228,6 +3323,7 @@
 Occ *object_get_occ (Object *object);
 Fan *object_get_fan (Object *object);
 SensorValue *object_get_sensor_value (Object *object);
+SensorIpmi *object_get_sensor_ipmi (Object *object);
 SensorThreshold *object_get_sensor_threshold (Object *object);
 SensorI2c *object_get_sensor_i2c (Object *object);
 SensorMatch *object_get_sensor_match (Object *object);
@@ -3244,6 +3340,7 @@
 Occ *object_peek_occ (Object *object);
 Fan *object_peek_fan (Object *object);
 SensorValue *object_peek_sensor_value (Object *object);
+SensorIpmi *object_peek_sensor_ipmi (Object *object);
 SensorThreshold *object_peek_sensor_threshold (Object *object);
 SensorI2c *object_peek_sensor_i2c (Object *object);
 SensorMatch *object_peek_sensor_match (Object *object);
@@ -3312,6 +3409,7 @@
 void object_skeleton_set_occ (ObjectSkeleton *object, Occ *interface_);
 void object_skeleton_set_fan (ObjectSkeleton *object, Fan *interface_);
 void object_skeleton_set_sensor_value (ObjectSkeleton *object, SensorValue *interface_);
+void object_skeleton_set_sensor_ipmi (ObjectSkeleton *object, SensorIpmi *interface_);
 void object_skeleton_set_sensor_threshold (ObjectSkeleton *object, SensorThreshold *interface_);
 void object_skeleton_set_sensor_i2c (ObjectSkeleton *object, SensorI2c *interface_);
 void object_skeleton_set_sensor_match (ObjectSkeleton *object, SensorMatch *interface_);