[rygel/config] Rygel.Configuration is now a singleton
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: svn-commits-list gnome org
- Subject: [rygel/config] Rygel.Configuration is now a singleton
- Date: Thu, 28 May 2009 09:04:17 -0400 (EDT)
commit 1d80b24784ac5556e843f4fd8743859b99537f4d
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Thu May 28 15:59:53 2009 +0300
Rygel.Configuration is now a singleton
---
.../folder/rygel-folder-root-container.vala | 2 +-
.../mediathek/rygel-mediathek-root-container.vala | 2 +-
src/rygel/rygel-configuration.vala | 11 +++++++++++
src/rygel/rygel-media-server-factory.vala | 2 +-
src/ui/rygel-preferences-dialog.vala | 2 +-
5 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/plugins/folder/rygel-folder-root-container.vala b/src/plugins/folder/rygel-folder-root-container.vala
index 533e164..5a5f6fa 100644
--- a/src/plugins/folder/rygel-folder-root-container.vala
+++ b/src/plugins/folder/rygel-folder-root-container.vala
@@ -96,7 +96,7 @@ public class Rygel.FolderRootContainer : MediaContainer {
this.items = new ArrayList<FolderContainer> ();
- var config = new Rygel.Configuration ();
+ var config = Rygel.Configuration.get_default ();
var dirs = config.get_string_list ("Folder", "folders");
// either an error occured or the gconf key is not set
diff --git a/src/plugins/mediathek/rygel-mediathek-root-container.vala b/src/plugins/mediathek/rygel-mediathek-root-container.vala
index ddca46f..ad0aa16 100644
--- a/src/plugins/mediathek/rygel-mediathek-root-container.vala
+++ b/src/plugins/mediathek/rygel-mediathek-root-container.vala
@@ -100,7 +100,7 @@ public class Rygel.MediathekRootContainer : MediaContainer {
this.session = new Soup.SessionAsync ();
this.items = new ArrayList<MediathekRssContainer> ();
- var config = new Rygel.Configuration ();
+ var config = Rygel.Configuration.get_default ();
var feeds = config.get_int_list ("ZDFMediathek", "rss");
if (feeds.size == 0) {
diff --git a/src/rygel/rygel-configuration.vala b/src/rygel/rygel-configuration.vala
index 8268e50..59ca818 100644
--- a/src/rygel/rygel-configuration.vala
+++ b/src/rygel/rygel-configuration.vala
@@ -41,6 +41,9 @@ public class Rygel.Configuration : GLib.Object {
protected static const string LPCM_TRANSCODER_KEY =
"enable-lpcm-transcoder";
+ // Our singleton
+ private static Configuration config;
+
protected GConf.Client gconf;
private string _host_ip;
@@ -103,6 +106,14 @@ public class Rygel.Configuration : GLib.Object {
}
}
+ public static Configuration get_default () {
+ if (config == null) {
+ config = new Configuration ();
+ }
+
+ return config;
+ }
+
public Configuration () {
this.gconf = GConf.Client.get_default ();
}
diff --git a/src/rygel/rygel-media-server-factory.vala b/src/rygel/rygel-media-server-factory.vala
index cd24362..9c105b1 100644
--- a/src/rygel/rygel-media-server-factory.vala
+++ b/src/rygel/rygel-media-server-factory.vala
@@ -43,7 +43,7 @@ public class Rygel.MediaServerFactory {
private GUPnP.Context context;
public MediaServerFactory () throws GLib.Error {
- this.config = new Configuration ();
+ this.config = Configuration.get_default ();
/* Set up GUPnP context */
this.context = create_upnp_context ();
diff --git a/src/ui/rygel-preferences-dialog.vala b/src/ui/rygel-preferences-dialog.vala
index c14fe9c..a96b939 100644
--- a/src/ui/rygel-preferences-dialog.vala
+++ b/src/ui/rygel-preferences-dialog.vala
@@ -33,7 +33,7 @@ public class Rygel.PreferencesDialog : GLib.Object {
ArrayList<PreferencesSection> sections;
public PreferencesDialog () throws Error {
- var config = new Configuration ();
+ var config = Configuration.get_default ();
this.builder = new Builder ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]