summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-09-21 13:27:13 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-09-21 13:27:13 +0800
commit53b7c849475d589d31500953ef4544945c824add (patch)
treec88d39452f6e4bd947601d766a78ef987df5d514
parent6789a1f6f8bb59037206f46cbeed1a5bc552b1ea (diff)
downloadibus-53b7c849475d589d31500953ef4544945c824add.tar.gz
ibus-53b7c849475d589d31500953ef4544945c824add.tar.xz
ibus-53b7c849475d589d31500953ef4544945c824add.zip
Implement org.freedesktop.DBus methods.
-rw-r--r--daemon/ibusdaemon.py47
-rw-r--r--doc/specification5
2 files changed, 46 insertions, 6 deletions
diff --git a/daemon/ibusdaemon.py b/daemon/ibusdaemon.py
index a6ca372..35e854f 100644
--- a/daemon/ibusdaemon.py
+++ b/daemon/ibusdaemon.py
@@ -41,11 +41,33 @@ class DBus(dbus.service.Object):
signal = lambda **args: \
dbus.service.signal(dbus_interface = dbus.BUS_DAEMON_IFACE, \
**args)
+ __id = 0
def __init__(self, *args, **kargs):
super(DBus, self).__init__(*args, **kargs)
- @method(in_signature = "s", out_signature = "s")
+ @method(out_signature="s")
+ def Hello(self):
+ DBus.__id += 1
+ return "%d" % DBus.__id
+
+ @method(out_signature="as")
+ def ListNames(self):
+ return []
+
+ @method(out_signature="as")
+ def ListActivatableNames(self):
+ return []
+
+ @method(in_signature="s", out_signature="as")
+ def NameHasOwner(self, name):
+ return []
+
+ @method(in_signature="si", out_signature="i")
+ def StartServiceByName(self, name, flags):
+ pass
+
+ @method(in_signature="s", out_signature="s")
def GetNameOwner(self, name):
if name == dbus.BUS_DAEMON_NAME:
return dbus.BUS_DAEMON_NAME
@@ -54,15 +76,34 @@ class DBus(dbus.service.Object):
raise dbus.DBusException(
"org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name '%s': no such name" % name)
+ @method(in_signature="s", out_signature="i")
+ def GetConnectionUnixUser(self, connection_name):
+ pass
- @method(in_signature = "s")
+ @method(in_signature="s")
def AddMatch(self, rule):
pass
- @signal(signature = "sss")
+ @method(in_signature="s")
+ def RemoveMatch(self, rule):
+ pass
+
+ @method(out_signature="s")
+ def GetId(self):
+ pass
+
+ @signal(signature="sss")
def NameOwnerChanged(self, name, old_owner, new_owner):
pass
+ @signal(signature="s")
+ def NameLost(self, name):
+ pass
+
+ @signal(signature="s")
+ def NameAcquired(self, name):
+ pass
+
class IBusServer(dbus.server.Server):
def __init__(self, *args, **kargs):
super(IBusServer, self).__init__()
diff --git a/doc/specification b/doc/specification
index 813266b..04e7703 100644
--- a/doc/specification
+++ b/doc/specification
@@ -1,9 +1,8 @@
IM Specification
-
- Huang Peng <shawn.p.huang@gmail.com>
+Huang Peng <shawn.p.huang@gmail.com>
1. Introducation
- About
+ About
Architecture