5 # Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2 of the License, or (at your option) any later version.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this program; if not, write to the
19 # Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 # Boston, MA 02111-1307 USA
26 class Connection (ibus
.Object
):
29 gobject
.SIGNAL_RUN_FIRST
,
31 (gobject
.TYPE_PYOBJECT
, )
34 def __init__ (self
, dbusconn
):
35 ibus
.Object
.__init
__ (self
)
36 self
._dbusconn
= dbusconn
38 def get_object (self
, path
):
39 return self
._dbusconn
.get_object ("no.name", path
)
41 def emit_dbus_signal (self
, name
, *args
):
42 message
= dbus
.lowlevel
.SignalMessage (ibus
.IBUS_PATH
, ibus
.IBUS_IFACE
, name
)
43 message
.append (*args
)
44 self
._dbusconn
.send_message (message
)
45 self
._dbusconn
.flush ()
47 def do_destroy (self
):
50 def dispatch_dbus_signal (self
, message
):
51 self
.emit ("dbus-signal", message
)
53 gobject
.type_register (Connection
)