lots of changes
diff --git a/xml/apps.txt b/xml/apps.txt
deleted file mode 100644
index dba983b..0000000
--- a/xml/apps.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-sensor.xml
- ambient_sensor
- altitude_sensor
- apss_sensors
- power_capp
- occ
-
-fan.xml
- fan
-
-chassis_control.xml
- chassis_control
-
-button.xml
- power_button
- identify_button
-
-led_control.xml
- identify_led
- fault_led
- power_led
-
-watchdog.xml
- bmc_watchdog
- host_watchdog
-
-psu.xml
- psu
-
-ipmi.xml
- ipmid
-
-parameter.xml
- parameter_database
-
-flash.xml
- bmc_flash
- bios_flash
- cpld_flash
-
-
-(no interface)
- fan_control (uses fan and sensors)
-
-
diff --git a/xml/control.xml b/xml/control.xml
new file mode 100644
index 0000000..844cf5f
--- /dev/null
+++ b/xml/control.xml
@@ -0,0 +1,37 @@
+<node>
+ <interface name="org.openbmc.Control">
+ <method name="setPollInterval">
+ <arg name="poll_interval" type="i" direction="in"/>
+ </method>
+ <property name="poll_interval" type="i" access="read"/>
+ <property name="heatbeat" type="i" access="read"/>
+ <signal name="Heartbeat">
+ <arg name="bus_name" type="s"/>
+ </signal>
+ </interface>
+ <interface name="org.openbmc.control.Host">
+ <method name="boot"/>
+ <method name="shutdown"/>
+ <method name="reboot"/>
+ <signal name="Booted"/>
+ </interface>
+ <interface name="org.openbmc.control.Power">
+ <method name="setPowerState">
+ <arg name="state" type="i" direction="in"/>
+ </method>
+ <method name="getPowerState">
+ <arg name="state" type="i" direction="out"/>
+ </method>
+ <signal name="PowerGood">
+ </signal>
+ <signal name="PowerLost">
+ </signal>
+ <property name="pgood" type="i" access="read"/>
+ <property name="state" type="i" access="read"/>
+ </interface>
+ <interface name="org.openbmc.EventLog">
+ <signal name="EventLog">
+ <arg name="message" type="a{ss}"/>
+ </signal>
+ </interface>
+</node>
diff --git a/xml/control_host.xml b/xml/control_host.xml
deleted file mode 100644
index 5f1d3b9..0000000
--- a/xml/control_host.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<node>
- <interface name="org.openbmc.control.Host">
- <method name="boot"/>
- <method name="shutdown"/>
- <method name="reboot"/>
- <signal name="Booted"/>
- </interface>
-</node>
diff --git a/xml/fan.xml b/xml/fan.xml
deleted file mode 100644
index 17ac117..0000000
--- a/xml/fan.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<node>
- <!--
- org.openbmc.Fan:
- @short_description:
- -->
- <interface name="org.openbmc.Fan">
- <method name="setCoolingZone">
- <arg name="cooling_zone" type="i" direction="in"/>
- </method>
- <method name="getSpeed">
- <arg name="speed" type="i" direction="out"/>
- </method>
- <method name="setSpeed">
- <arg name="speed" type="i" direction="in"/>
- </method>
- <method name="setPwmConfig">
- <arg name="pwm_num" type="i" direction="in"/>
- </method>
- <property name="speed" type="i" access="read"/>
- <property name="cooling_zone" type="i" access="read"/>
- <signal name="SpeedChanged">
- <arg name="speed" type="i"/>
- </signal>
- <signal name="TachError"/>
- </interface>
-</node>
-
diff --git a/xml/fru.xml b/xml/fru.xml
index 13f34f2..8d1f881 100644
--- a/xml/fru.xml
+++ b/xml/fru.xml
@@ -1,28 +1,38 @@
<node>
- <!--
- org.openbmc.Fru:
- @short_description:
- -->
<interface name="org.openbmc.Fru">
- <method name="setState">
- <arg name="state" type="i" direction="in"/>
- </method>
- <method name="getState">
- <arg name="state" type="i" direction="out"/>
- </method>
- <method name="addEventLog">
- <arg name="entry" type="s" direction="in"/>
- </method>
- <method name="getType">
- <arg name="type" type="s" direction="out"/>
- </method>
- <method name="getLocation">
- <arg name="location" type="s" direction="out"/>
- </method>
+ <property name="label" type="s" access="readwrite"/>
+ <property name="location" type="s" access="readwrite"/>
+ <property name="state" type="y" access="readwrite"/>
+ <property name="manufacturer" type="s" access="readwrite"/>
+ <property name="part_num" type="s" access="readwrite"/>
+ <property name="serial_num" type="s" access="readwrite"/>
+ <property name="date_code" type="u" access="readwrite"/>
+ <property name="version" type="s" access="readwrite"/>
+ <property name="type" type="y" access="readwrite"/>
+ <property name="subtype" type="y" access="readwrite"/>
+ <property name="instance_num" type="y" access="readwrite"/>
<signal name="StateChanged"/>
<signal name="UnrecoverableError"/>
<signal name="RecoverableError"/>
-
+ </interface>
+ <interface name="org.openbmc.Fru.Fan">
+ <method name="setCoolingZone">
+ <arg name="cooling_zone" type="i" direction="in"/>
+ </method>
+ <method name="getSpeed">
+ <arg name="speed" type="i" direction="out"/>
+ </method>
+ <method name="setSpeed">
+ <arg name="speed" type="i" direction="in"/>
+ </method>
+ <method name="setConfigData">
+ <arg name="pwm_num" type="i" direction="in"/>
+ </method>
+ <property name="speed" type="i" access="read"/>
+ <property name="cooling_zone" type="i" access="read"/>
+ <signal name="SpeedChanged">
+ <arg name="speed" type="i"/>
+ </signal>
+ <signal name="TachError"/>
</interface>
</node>
-
diff --git a/xml/power_control.xml b/xml/power_control.xml
deleted file mode 100644
index 08cbccb..0000000
--- a/xml/power_control.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<node>
- <interface name="org.openbmc.control.Power">
- <method name="setPowerState">
- <arg name="state" type="i" direction="in"/>
- </method>
- <method name="getPowerState">
- <arg name="state" type="i" direction="out"/>
- </method>
- <signal name="PowerGood">
- </signal>
- <signal name="PowerLost">
- </signal>
- <property name="pgood" type="i" access="read"/>
- <property name="state" type="i" access="read"/>
- </interface>
-</node>
diff --git a/xml/sensor.xml b/xml/sensor.xml
deleted file mode 100644
index a0988c9..0000000
--- a/xml/sensor.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<node>
- <!-- Can I do have interfaces as children of other interfaces? -->
- <interface name="org.openbmc.SensorInteger">
- <method name="getValue">
- <arg name="value" type="i" direction="out"/>
- </method>
- <method name="getUnits">
- <arg name="units" type="s" direction="out"/>
- </method>
- <method name="setThresholds">
- <arg name="lower_critical" type="i" direction="in"/>
- <arg name="lower_warning" type="i" direction="in"/>
- <arg name="upper_warning" type="i" direction="in"/>
- <arg name="upper_critical" type="i" direction="in"/>
- </method>
- <method name="setPollInterval">
- <arg name="poll_interval" type="i" direction="in"/>
- </method>
- <method name="setConfigData">
- <arg name="config" type="as" direction="in"/>
- </method>
- <method name="getThresholdState">
- <arg name="threshold_state" type="i" direction="out"/>
- </method>
- <method name="getWatchdog">
- <arg name="watchdog" type="i" direction="out"/>
- </method>
-
- <property name="value" type="i" access="read"/>
- <property name="units" type="s" access="read"/>
-
- <property name="threshold_lower_critical" type="i" access="read"/>
- <property name="threshold_lower_warning" type="i" access="read"/>
- <property name="threshold_upper_warning" type="i" access="read"/>
- <property name="threshold_upper_critical" type="i" access="read"/>
- <property name="threshold_state" type="i" access="read"/>
-
- <property name="poll_interval" type="i" access="read"/>
- <property name="config_data" type="as" access="read"/>
-
- <property name="watchdog" type="i" access="read"/>
-
- <signal name="Changed">
- <arg name="value" type="i"/>
- </signal>
- <signal name="Warning"/>
- <signal name="Critical"/>
- </interface>
- <interface name="org.openbmc.SensorString">
- <method name="getValue">
- <arg name="value" type="s" direction="out"/>
- </method>
- <method name="getUnits">
- <arg name="units" type="s" direction="out"/>
- </method>
- <property name="value" type="i" access="read"/>
- <property name="units" type="s" access="read"/>
- <signal name="Changed">
- <arg name="value" type="s"/>
- </signal>
- </interface>
- <interface name="org.openbmc.SensorIntegerSettable">
- <method name="getValue">
- <arg name="value" type="i" direction="out"/>
- </method>
- <method name="setValue">
- <arg name="value" type="i" direction="in"/>
- </method>
- <method name="getUnits">
- <arg name="units" type="s" direction="out"/>
- </method>
- <property name="value" type="i" access="read"/>
- <property name="units" type="s" access="read"/>
- <signal name="Changed">
- <arg name="value" type="i"/>
- </signal>
- </interface>
-</node>
diff --git a/xml/sensor2.xml b/xml/sensor2.xml
index 8d2798a..1823743 100644
--- a/xml/sensor2.xml
+++ b/xml/sensor2.xml
@@ -1,5 +1,6 @@
<node>
<interface name="org.openbmc.SensorInteger">
+ <method name="init"/>
<method name="getValue">
<arg name="value" type="i" direction="out"/>
</method>
@@ -55,10 +56,10 @@
<arg name="state" type="i" direction="out"/>
</method>
- <property name="lower_critical" type="i" access="read"/>
- <property name="lower_warning" type="i" access="read"/>
- <property name="upper_warning" type="i" access="read"/>
- <property name="upper_critical" type="i" access="read"/>
+ <property name="lower_critical" type="i" access="readwrite"/>
+ <property name="lower_warning" type="i" access="readwrite"/>
+ <property name="upper_warning" type="i" access="readwrite"/>
+ <property name="upper_critical" type="i" access="readwrite"/>
<property name="state" type="i" access="read"/>
<signal name="Warning"/>
diff --git a/xml/sensor_threshold.xml b/xml/sensor_threshold.xml
deleted file mode 100644
index 022db64..0000000
--- a/xml/sensor_threshold.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<node>
- <!-- Can I do have interfaces as children of other interfaces? -->
- <interface name="org.openbmc.SensorIntegerThreshold">
- <method name="setThresholds">
- <arg name="lower_critical" type="i" direction="in"/>
- <arg name="lower_warning" type="i" direction="in"/>
- <arg name="upper_warning" type="i" direction="in"/>
- <arg name="upper_critical" type="i" direction="in"/>
- </method>
- <method name="getThresholdState">
- <arg name="threshold_state" type="i" direction="out"/>
- </method>
- <property name="threshold_lower_warning" type="i" access="read"/>
- <property name="threshold_upper_warning" type="i" access="read"/>
- <property name="threshold_upper_critical" type="i" access="read"/>
- <property name="threshold_state" type="i" access="read"/>
-
- <signal name="Warning"/>
- <signal name="Critical"/>
- </interface>
-</node>