summaryrefslogtreecommitdiffstats
path: root/daemon/ibusdaemon.py
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-09-21 16:42:12 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-09-21 16:42:12 +0800
commitae0f70a239508b5be11a73dfe8747531a840836e (patch)
tree8b578a8caba3ba0628fb0614c52a2382066858c6 /daemon/ibusdaemon.py
parent53b7c849475d589d31500953ef4544945c824add (diff)
downloadibus-ae0f70a239508b5be11a73dfe8747531a840836e.tar.gz
ibus-ae0f70a239508b5be11a73dfe8747531a840836e.tar.xz
ibus-ae0f70a239508b5be11a73dfe8747531a840836e.zip
split DBus object from ibusdaemon.py
Diffstat (limited to 'daemon/ibusdaemon.py')
-rw-r--r--daemon/ibusdaemon.py77
1 files changed, 2 insertions, 75 deletions
diff --git a/daemon/ibusdaemon.py b/daemon/ibusdaemon.py
index 35e854f..1d670f8 100644
--- a/daemon/ibusdaemon.py
+++ b/daemon/ibusdaemon.py
@@ -24,85 +24,12 @@ import sys
import getopt
import getpass
import gobject
-import dbus
import dbus.server
-import dbus.service
-import dbus.lowlevel
import dbus.mainloop.glib
import ibus
+from _dbus import DBus
from bus import IBus
-class DBus(dbus.service.Object):
-
- method = lambda **args: \
- dbus.service.method(dbus_interface = dbus.BUS_DAEMON_IFACE, \
- **args)
-
- 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(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
- elif name == ibus.IBUS_NAME:
- return ibus.IBUS_NAME
-
- 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")
- def AddMatch(self, rule):
- pass
-
- @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):
@@ -128,7 +55,7 @@ class IBusServer(dbus.server.Server):
def connection_added(self, dbusconn):
self.__ibus.new_connection(dbusconn)
- DBus(dbusconn, dbus.BUS_DAEMON_PATH)
+ DBus(dbusconn)
def connection_removed(self, dbusconn):
# do nothing.