4 class AccessibleTree(dbus.service.Object):
6 The Accessible tree provides the interface,
7 for accessing all the accessible objects
8 available on a particular application.
11 def __init__(self, bus, path):
15 bus - The D-Bus bus object to use
16 path - The object path this interface should use
18 dbus.service.Object.__init__(self, bus, path)
24 @dbus.service.method(dbus_interface='org.freedesktop.atspi.Tree',
29 @dbus.service.method(dbus_interface='org.freedesktop.atspi.Tree',
30 out_signature='a(ooaoassus)')
32 return self._objects.values()
34 @dbus.service.signal(dbus_interface='org.freedesktop.atspi.Tree',
35 signature=('a(ooaoassus)ao'))
36 def updateTree(self, objects, paths):
37 #There are some locking issues here.
38 #Need to make sure that updates are not missed.
39 oldSend = self._toSend.values()
41 oldRemove = self._toRemove
43 return (oldSend, oldRemove)
45 def updateObject(self, path, object):
46 self._objects[path] = object
47 self._toSend[path] = object
49 def removeObject(self, path):
50 if path in self._objects:
51 self._toRemove.append(path)
52 del(self._objects[path])
54 def setRoot(self, root):