media-export: React to configuration changes
authorJens Georg <jensg@openismus.com>
Wed, 19 Dec 2012 21:43:08 +0000 (22:43 +0100)
committerJens Georg <jensg@openismus.com>
Wed, 19 Dec 2012 22:47:00 +0000 (23:47 +0100)
src/plugins/media-export/rygel-media-export-metadata-extractor.vala

index bf2967b..ad10d3b 100644 (file)
@@ -59,17 +59,8 @@ public class Rygel.MediaExport.MetadataExtractor: GLib.Object {
         this.file_hash = new HashMap<string, File> ();
 
         var config = MetaConfig.get_default ();
-        try {
-            this.extract_metadata = config.get_bool ("MediaExport",
-                                                     "extract-metadata");
-        } catch (Error error) {
-            this.extract_metadata = true;
-        }
-
-
-        if (this.extract_metadata) {
-
-        }
+        config.setting_changed.connect (this.on_config_changed);
+        this.on_config_changed (config, Plugin.NAME, "extract-metadata");
     }
 
     public void extract (File file, string content_type) {
@@ -153,4 +144,18 @@ public class Rygel.MediaExport.MetadataExtractor: GLib.Object {
 
     }
 
+    private void on_config_changed (Configuration config,
+                                    string section,
+                                    string key) {
+        if (section != Plugin.NAME || key != "extract-metadata") {
+            return;
+        }
+
+        try {
+            this.extract_metadata = config.get_bool (Plugin.NAME,
+                                                     "extract-metadata");
+        } catch (Error error) {
+            this.extract_metadata = true;
+        }
+    }
 }