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>