summaryrefslogtreecommitdiff
path: root/ibus
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2011-07-05 10:45:20 -0400
committerPeng Huang <shawn.p.huang@gmail.com>2011-07-05 10:45:20 -0400
commitb9cfc5eb2e0b33d866301de7b6724b7f134ffae5 (patch)
tree19163ea602811a39d04fe6740b971178a3626d07 /ibus
parent0e315c18c79c02cb5ea88c8b966cee0d70bedbf0 (diff)
downloadibus-b9cfc5eb2e0b33d866301de7b6724b7f134ffae5.tar.gz
Add org.freedesktop.IBus.Config.GetValues to get all values in one RPC.
BUG=http://crosbug.com/16287 TEST=Linux desktop Review URL: http://codereview.appspot.com/4667056
Diffstat (limited to 'ibus')
-rw-r--r--ibus/config.py12
-rw-r--r--ibus/interface/iconfig.py3
2 files changed, 15 insertions, 0 deletions
diff --git a/ibus/config.py b/ibus/config.py
index 0f6e80f0..7a0557f4 100644
--- a/ibus/config.py
+++ b/ibus/config.py
@@ -43,6 +43,9 @@ class ConfigBase(object.Object):
def get_value(self, section, name):
pass
+ def get_values(self, section):
+ pass
+
def set_value(self, section, name, value):
pass
@@ -62,6 +65,9 @@ class ConfigProxy(interface.IConfig):
def GetValue(self, section, name):
return self.__config.get_value(section, name)
+ def GetValues(self, section):
+ return self.__config.get_values(section)
+
def SetValue(self, section, name, value):
return self.__config.set_value(section, name, value)
@@ -139,6 +145,12 @@ class Config(object.Object):
except:
return default_value
+ def get_values(self, section):
+ try:
+ return self.__config.GetValues(section)
+ except:
+ return None
+
def set_value(self, section, name, value):
try:
return self.__config.SetValue(section, name, value)
diff --git a/ibus/interface/iconfig.py b/ibus/interface/iconfig.py
index 8637800a..5f3f0404 100644
--- a/ibus/interface/iconfig.py
+++ b/ibus/interface/iconfig.py
@@ -46,6 +46,9 @@ class IConfig(dbus.service.Object):
@method(in_signature="ss", out_signature="v")
def GetValue(self, section, name): pass
+ @method(in_signature="s", out_signature="s{sv}")
+ def GetValues(self, section): pass
+
@method(in_signature="ssv")
def SetValue(self, section, name, value): pass