Add metadata file to fix some object ownership correctly
authorPeng Huang <shawn.p.huang@gmail.com>
Wed, 27 Oct 2010 05:35:36 +0000 (14:35 +0900)
committerPeng Huang <shawn.p.huang@gmail.com>
Wed, 3 Nov 2010 01:54:58 +0000 (10:54 +0900)
bindings/vala/Makefile.am
bindings/vala/ibus-1.0.vapi
bindings/vala/ibus-1.0/ibus-1.0.metadata
bindings/vala/test/config.vala

index 1311776..a7a128b 100644 (file)
@@ -29,6 +29,7 @@ dist_vapi_DATA = \
 ibus-@IBUS_API_VERSION@.vapi:
        vapigen --library ibus-@IBUS_API_VERSION@ \
                        --pkg gio-2.0 \
+                       --metadata=ibus-@IBUS_API_VERSION@/ibus-@IBUS_API_VERSION@.metadata \
                        ibus-@IBUS_API_VERSION@/ibus-@IBUS_API_VERSION@.gi \
                        ibus-@IBUS_API_VERSION@/ibus-@IBUS_API_VERSION@-custom.vala
 
index d07a719..ad534c5 100644 (file)
@@ -100,7 +100,7 @@ namespace IBus {
        public class Config : IBus.Proxy, GLib.Initable, GLib.AsyncInitable {
                [CCode (has_construct_function = false)]
                public Config (GLib.DBusConnection connection, GLib.Cancellable cancellable) throws GLib.Error;
-               public unowned GLib.Variant get_value (string section, string name);
+               public GLib.Variant get_value (string section, string name);
                public bool set_value (string section, string name, GLib.Variant value);
                public bool unset (string section, string name);
                public virtual signal void value_changed (string p0, string p1, GLib.Variant p2);
@@ -110,7 +110,7 @@ namespace IBus {
                [CCode (has_construct_function = false)]
                public ConfigService (GLib.DBusConnection connection);
                [NoWrapper]
-               public virtual unowned GLib.Variant get_value (string section, string name) throws GLib.Error;
+               public virtual GLib.Variant get_value (string section, string name) throws GLib.Error;
                [NoWrapper]
                public virtual bool set_value (string section, string name, GLib.Variant value) throws GLib.Error;
                [NoWrapper]
index 962ef0f..65c4281 100644 (file)
@@ -6,3 +6,5 @@ ibus_bus_list_names transfer_ownership="1" type_arguments="string"
 ibus_bus_get_name_owner transfer_ownership="1"
 ibus_service_get_connections transfer_ownership="1" type_arguments="unowned Connection"
 IBusProxy::destroy has_emitter="1"
+ibus_config_get_value transfer_ownership="1"
+ibus_config_service_get_value transfer_ownership="1"
index aa4ceb3..ade8cd3 100644 (file)
@@ -5,7 +5,6 @@ using IBus;
 
 class MemoryConfig : ConfigService {
     private HashMap<string, HashMap<string, Variant>> values;
-    private Variant tmp;
 
     construct {
         values = new HashMap<string, HashMap<string, Variant>> (str_hash, str_equal);
@@ -21,12 +20,11 @@ class MemoryConfig : ConfigService {
         return true;
     }
 
-    public override unowned Variant get_value (string section,
+    public override Variant get_value (string section,
                                                string name) throws GLib.Error {
         if (!values.contains (section) || !values[section].contains(name))
             throw new DBusError.FAILED("Can not get value %s", name);
-        tmp = values[section][name];
-        return tmp;
+        return values[section][name];
     }
 
     public static void main (string []argv) {