lots of changes
diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index 4b10739..12f93c7 100644
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -1,4 +1,5 @@
 import dbus
+import xml.etree.ElementTree as ET
 
 BUS_PREFIX = 'org.openbmc'
 GPIO_DEV = '/sys/class/gpio'
@@ -28,6 +29,19 @@
 def bus_to_object_name(bus_name):
 	return "/"+bus_name.replace('.','/')
 
+def get_methods(obj):
+	methods = {}
+	introspect_iface = dbus.Interface(obj,"org.freedesktop.DBus.Introspectable")
+ 	tree = ET.ElementTree(ET.fromstring(introspect_iface.Introspect()))
+ 	root = tree.getroot()
+	for intf in root.iter('interface'):
+ 		intf_name = intf.attrib['name']
+		if (intf_name.find(BUS_PREFIX)==0):
+			methods[intf_name] = {}
+			for method in intf.iter('method'):
+				methods[intf_name][method.attrib['name']] = True
+		
+	return methods
 
 class DbusProperty:
 	def __init__(self,name,value):