first commit
diff --git a/bin/rest_server.py b/bin/rest_server.py
deleted file mode 100644
index 5a36e9e..0000000
--- a/bin/rest_server.py
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env python
-
-from BaseHTTPServer import BaseHTTPRequestHandler
-import urlparse
-import dbus
-import json
-import re
-import xml.etree.ElementTree as ET
-
-def parseIntrospection(obj,interface,method=None):
- introspect_iface = dbus.Interface(obj,"org.freedesktop.DBus.Introspectable")
- tree = ET.ElementTree(ET.fromstring(introspect_iface.Introspect()))
- root = tree.getroot()
- r = []
- for intf in root.iter('interface'):
- if (intf.attrib['name'] == interface):
- for methd in intf.iter('method'):
- if (method == None):
- r.append(methd.attrib['name'])
- elif (method == methd.attrib['name']):
- for arg in methd.iter('arg'):
- a = [arg.attrib['name'],arg.attrib['type'],arg.attrib['direction']]
- r.append(a)
- return r
-
-def getArgFromSignature(args,signature):
- if (signature == 'i'):
- return int(args[0])
- elif (signature == 's'):
- return args[0];
-
- raise Exception("Inavlid signature: "+signature)
-
-
-class GetHandler(BaseHTTPRequestHandler):
- def do_GET(self):
- url_data = urlparse.urlparse(self.path)
- parms = urlparse.parse_qs(url_data.query)
- self.objmap = {
- 'chassis' : ['org.openbmc.ChassisControl','/org/openbmc/ChassisControl','org.openbmc.ChassisControl'],
- 'flash' : ['org.openbmc.Flash.BIOS','/org/openbmc/Flash/BIOS/0','org.openbmc.Flash'],
- 'power' : ['org.openbmc.PowerControl','/org/openbmc/PowerControl/0','org.openbmc.PowerControl']
- }
- self.sensors = {
- '/org/openbmc/Sensors/HostStatus/0' : ['org.openbmc.Sensors.HostStatus','org.openbmc.SensorIntegerSettable',0,""],
- '/org/openbmc/Sensors/Temperature/Ambient/0': ['org.openbmc.Sensors.Temperature.Ambient','org.openbmc.SensorInteger',0,""]
- }
-
-
- parts = url_data.path.split('/');
- item = parts[1]
-
- method = ''
- if (len(parts) > 2):
- method = parts[2]
-
- code = 403
- payload = {'status': 'error'}
- bus = dbus.SessionBus()
-
- if (item == 'sensors'):
- try:
- for s in self.sensors.keys():
- obj = bus.get_object(self.sensors[s][0],s)
- iface = dbus.Interface(obj,self.sensors[s][1])
- self.sensors[s][2] = iface.getValue()
- self.sensors[s][3] = iface.getUnits()
-
- payload['status'] = 'ok'
- payload['sensors'] = self.sensors
- code = 200
- except dbus.exceptions.DBusException as e:
- payload['error-message'] = e.get_dbus_name()
-
- elif (self.objmap.has_key(item)):
- bus_name = self.objmap[item][0]
- obj_name = self.objmap[item][1]
- interface = self.objmap[item][2]
- try:
- obj = bus.get_object(bus_name,obj_name)
-
- if (method == ''):
- payload['available-methods'] = parseIntrospection(obj,interface)
- else:
- args = parseIntrospection(obj,interface,method)
- arg_array = []
- signature_in = ''
- signature_out = ''
- for a in args:
- if (a[2] == 'in'):
- if (parms.has_key(a[0]) == False):
- raise Exception("Method '"+method+"' requires argument '"+a[0]+"'")
- arg_array.append(getArgFromSignature(parms[a[0]],a[1]))
- signature_in = signature_in + a[1]
- else:
- signature_out = a[1]
-
- rtn = bus.call_blocking(bus_name,obj_name,interface,method,signature_in,arg_array)
-
- code = 200
- payload['status'] = 'ok'
-
- except dbus.exceptions.DBusException as e:
- payload['error-message'] = str(e)
- except Exception as ex:
- payload['error-message'] = str(ex)
-
- else:
- payload['status'] = 'ok'
- payload['available-commands'] = self.objmap.keys()
-
- self.send_response(code)
- self.send_header('Content-Type', 'application/json')
- self.end_headers()
- self.wfile.write(json.dumps(payload))
- return
-
-if __name__ == '__main__':
- from BaseHTTPServer import HTTPServer
- server = HTTPServer(('', 3000), GetHandler)
- print 'Starting server, use <Ctrl-C> to stop'
- server.serve_forever()
-
diff --git a/objects/power_control_obj.c b/objects/power_control_obj.c
index e2560c4..03eab40 100644
--- a/objects/power_control_obj.c
+++ b/objects/power_control_obj.c
@@ -5,11 +5,6 @@
static GDBusObjectManagerServer *manager = NULL;
static PowerControl *power_control = NULL;
-static guint gpio_power = 26;
-static guint gpio_fsiclk = 27;
-static guint gpio_fsidat = 28;
-static guint gpio_pgood = 21;
-
static guint tmp_pgood = 0;
static gboolean
diff --git a/xml/fan.xml b/xml/fan.xml
index f4aeeb2..17ac117 100644
--- a/xml/fan.xml
+++ b/xml/fan.xml
@@ -16,6 +16,8 @@
<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>
diff --git a/xml/fru.xml b/xml/fru.xml
index 17b59a1..13f34f2 100644
--- a/xml/fru.xml
+++ b/xml/fru.xml
@@ -13,7 +13,16 @@
<method name="addEventLog">
<arg name="entry" type="s" direction="in"/>
</method>
- <signal name="Changed"/>
+ <method name="getType">
+ <arg name="type" type="s" direction="out"/>
+ </method>
+ <method name="getLocation">
+ <arg name="location" type="s" direction="out"/>
+ </method>
+ <signal name="StateChanged"/>
+ <signal name="UnrecoverableError"/>
+ <signal name="RecoverableError"/>
+
</interface>
</node>
diff --git a/xml/host_control.xml b/xml/host_control.xml
index 30fa990..d9d5b23 100644
--- a/xml/host_control.xml
+++ b/xml/host_control.xml
@@ -2,6 +2,7 @@
<interface name="org.openbmc.HostControl">
<method name="boot"/>
<method name="shutdown"/>
- <signal name="booted"/>
+ <method name="reboot"/>
+ <signal name="Booted"/>
</interface>
</node>
diff --git a/xml/power_control.xml b/xml/power_control.xml
index 480d83b..a382f11 100644
--- a/xml/power_control.xml
+++ b/xml/power_control.xml
@@ -1,18 +1,14 @@
<node>
<interface name="org.openbmc.PowerControl">
<method name="setPowerState">
- <arg name="trans_id" type="i" direction="in"/>
<arg name="state" type="i" direction="in"/>
</method>
<method name="getPowerState">
- <arg name="trans_id" type="i" direction="in"/>
<arg name="state" type="i" direction="out"/>
</method>
<signal name="PowerGood">
- <arg name="trans_id" type="i"/>
</signal>
<signal name="PowerLost"/>
- <arg name="trans_id" type="i"/>
</signal>
<property name="pgood" type="i" access="read"/>
<property name="state" type="i" access="read"/>
diff --git a/xml/sensor.xml b/xml/sensor.xml
index 38ea7cc..c4b8c00 100644
--- a/xml/sensor.xml
+++ b/xml/sensor.xml
@@ -1,4 +1,5 @@
<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"/>
diff --git a/xml/tmp b/xml/tmp
deleted file mode 100644
index e69de29..0000000
--- a/xml/tmp
+++ /dev/null