[rygel] core,plugins,ui: Move from GConf to .ini file usage
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: svn-commits-list gnome org
- Subject: [rygel] core,plugins,ui: Move from GConf to .ini file usage
- Date: Sat, 4 Jul 2009 15:14:21 +0000 (UTC)
commit bacc5a6c5f8b448acf5ec41cb7c4365f0e80aa8c
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Wed Jun 24 16:49:07 2009 +0300
core,plugins,ui: Move from GConf to .ini file usage
configure.ac | 6 --
src/plugins/external/Makefile.am | 4 +-
src/plugins/media-export/Makefile.am | 2 -
src/plugins/mediathek/Makefile.am | 2 -
src/plugins/test/Makefile.am | 4 +-
src/plugins/tracker/Makefile.am | 4 +-
src/rygel/Makefile.am | 2 -
src/rygel/rygel-meta-config.vala | 7 ++-
src/rygel/rygel-user-config.vala | 111 ++++++++++------------------------
src/ui/Makefile.am | 2 -
10 files changed, 42 insertions(+), 102 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index e8c42a9..c814a1e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,6 @@ VALA_REQUIRED=0.7.4
GUPNP_REQUIRED=0.12.5
GUPNP_AV_REQUIRED=0.4
GUPNP_VALA_REQUIRED=0.5.3
-GCONF_REQUIRED=2.16
DBUS_GLIB_REQUIRED=0.74
GSTREAMER_REQUIRED=0.10.23
GIO_REQUIRED=2.16
@@ -34,7 +33,6 @@ LIBSQLITE3_REQUIRED=3.5
PKG_CHECK_MODULES(LIBGUPNP, gupnp-1.0 >= $GUPNP_REQUIRED)
PKG_CHECK_MODULES(LIBGUPNP_AV, gupnp-av-1.0 >= $GUPNP_AV_REQUIRED)
-PKG_CHECK_MODULES(LIBGCONF, gconf-2.0 >= $GCONF_REQUIRED)
PKG_CHECK_MODULES(LIBDBUS_GLIB, dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
PKG_CHECK_MODULES(LIBGSTREAMER, gstreamer-0.10 >= $GSTREAMER_REQUIRED)
PKG_CHECK_MODULES(LIBGIO, gio-2.0 >= $GIO_REQUIRED)
@@ -85,10 +83,6 @@ if test x$enable_vala = xyes ; then
true,
[AC_MSG_ERROR("Unable to find Vala bindings for dbus-glib-1")])
- AC_CHECK_FILE("${VAPIDIR}/gconf-2.0.vapi",
- true,
- [AC_MSG_ERROR("Unable to find Vala bindings for gconf-2.0")])
-
AC_CHECK_FILE("${VAPIDIR}/gstreamer-0.10.vapi",
true,
[AC_MSG_ERROR("Unable to find Vala bindings for gstreamer-0.10")])
diff --git a/src/plugins/external/Makefile.am b/src/plugins/external/Makefile.am
index 66e660a..7fac14c 100644
--- a/src/plugins/external/Makefile.am
+++ b/src/plugins/external/Makefile.am
@@ -7,7 +7,6 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
$(GEE_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
-I$(top_srcdir)/src/rygel -DDATA_DIR='"$(datadir)"'
BUILT_SOURCES = rygel-external-content-dir.c \
@@ -40,8 +39,7 @@ librygel_external_la_LIBADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS) \
$(LIBGSTREAMER_LIBS) \
- $(GEE_LIBS) \
- $(LIBGCONF_LIBS)
+ $(GEE_LIBS)
librygel_external_la_LDFLAGS = -shared -fPIC -module -avoid-version
CLEANFILES = rygel-external.stamp
diff --git a/src/plugins/media-export/Makefile.am b/src/plugins/media-export/Makefile.am
index 8765673..8bdbff0 100644
--- a/src/plugins/media-export/Makefile.am
+++ b/src/plugins/media-export/Makefile.am
@@ -6,7 +6,6 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBGUPNP_AV_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
$(GEE_CFLAGS) \
-I$(top_srcdir)/src/rygel -DDATA_DIR='"$(datadir)"'
@@ -45,7 +44,6 @@ librygel_media_export_la_LIBADD = \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS) \
$(LIBGSTREAMER_LIBS) \
- $(LIBGCONF_LIBS) \
$(GEE_LIBS)
librygel_media_export_la_LDFLAGS = -shared -fPIC -module -avoid-version
diff --git a/src/plugins/mediathek/Makefile.am b/src/plugins/mediathek/Makefile.am
index 6eec825..fb138b4 100644
--- a/src/plugins/mediathek/Makefile.am
+++ b/src/plugins/mediathek/Makefile.am
@@ -7,7 +7,6 @@ AM_CFLAGS = \
$(LIBGUPNP_AV_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
$(GEE_CFLAGS) \
-I$(top_srcdir)/src/rygel \
-DDATA_DIR='"$(datadir)"'
@@ -51,7 +50,6 @@ librygel_mediathek_la_LIBADD = \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS) \
$(LIBGSTREAMER_LIBS) \
- $(LIBGCONF_LIBS) \
$(GEE_LIBS)
librygel_mediathek_la_LDFLAGS = -shared -fPIC -module -avoid-version
diff --git a/src/plugins/test/Makefile.am b/src/plugins/test/Makefile.am
index 2b7d1cd..9fd4548 100644
--- a/src/plugins/test/Makefile.am
+++ b/src/plugins/test/Makefile.am
@@ -7,7 +7,6 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
$(GEE_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
-I$(top_srcdir)/src/rygel -DDATA_DIR='"$(datadir)"'
BUILT_SOURCES = rygel-test-content-dir.c \
@@ -43,8 +42,7 @@ librygel_test_la_LIBADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS) \
$(LIBGSTREAMER_LIBS) \
- $(GEE_LIBS) \
- $(LIBGCONF_LIBS)
+ $(GEE_LIBS)
librygel_test_la_LDFLAGS = -shared -fPIC -module -avoid-version
CLEANFILES = rygel-test.stamp
diff --git a/src/plugins/tracker/Makefile.am b/src/plugins/tracker/Makefile.am
index 3e3210a..39fa0e1 100644
--- a/src/plugins/tracker/Makefile.am
+++ b/src/plugins/tracker/Makefile.am
@@ -7,7 +7,6 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
$(GEE_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
-I$(top_srcdir)/src/rygel -DDATA_DIR='"$(datadir)"'
BUILT_SOURCES = rygel-media-tracker.c \
@@ -67,8 +66,7 @@ librygel_media_tracker_la_LIBADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS) \
$(LIBGSTREAMER_LIBS) \
- $(GEE_LIBS) \
- $(LIBGCONF_LIBS)
+ $(GEE_LIBS)
librygel_media_tracker_la_LDFLAGS = -shared -fPIC -module -avoid-version
CLEANFILES = rygel-media-tracker.stamp
diff --git a/src/rygel/Makefile.am b/src/rygel/Makefile.am
index 8178223..ad0c7de 100644
--- a/src/rygel/Makefile.am
+++ b/src/rygel/Makefile.am
@@ -14,7 +14,6 @@ endif
AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBGUPNP_AV_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
$(GIO_CFLAGS) \
$(GEE_CFLAGS) \
@@ -128,7 +127,6 @@ rygel.stamp: $(filter %.vala,$(rygel_SOURCES))
rygel_LDADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
- $(LIBGCONF_LIBS) \
$(LIBGSTREAMER_LIBS) \
$(GIO_LIBS) \
$(GEE_LIBS) \
diff --git a/src/rygel/rygel-meta-config.vala b/src/rygel/rygel-meta-config.vala
index 137e595..ac830e6 100644
--- a/src/rygel/rygel-meta-config.vala
+++ b/src/rygel/rygel-meta-config.vala
@@ -50,7 +50,12 @@ public class Rygel.MetaConfig : GLib.Object, Configuration {
this.configs = new ArrayList<Configuration> ();
this.configs.add (CmdlineConfig.get_default ());
- this.configs.add (UserConfig.get_default ());
+ try {
+ var user_config = UserConfig.get_default ();
+ this.configs.add (user_config);
+ } catch (Error err) {
+ warning ("Failed to load user configuration: %s", err.message);
+ }
}
public bool get_upnp_enabled () throws GLib.Error {
diff --git a/src/rygel/rygel-user-config.vala b/src/rygel/rygel-user-config.vala
index c7762d5..353e514 100644
--- a/src/rygel/rygel-user-config.vala
+++ b/src/rygel/rygel-user-config.vala
@@ -22,14 +22,13 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-using GConf;
using CStuff;
/**
* Manages the user configuration for Rygel.
*/
public class Rygel.UserConfig : GLib.Object, Configuration {
- protected static const string ROOT_GCONF_PATH = "/apps/rygel/";
+ protected static const string CONFIG_FILE = "rygel.conf";
protected static const string IP_KEY = "host-ip";
protected static const string PORT_KEY = "port";
protected static const string ENABLED_KEY = "enabled";
@@ -52,7 +51,7 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
// Our singleton
private static UserConfig config;
- protected GConf.Client gconf;
+ protected KeyFile key_file;
private dynamic DBus.Object dbus_obj;
private dynamic DBus.Object rygel_obj;
@@ -115,7 +114,7 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
this.set_bool ("general", LPCM_TRANSCODER_KEY, value);
}
- public static UserConfig get_default () {
+ public static UserConfig get_default () throws Error {
if (config == null) {
config = new UserConfig ();
}
@@ -123,8 +122,19 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
return config;
}
- public UserConfig () {
- this.gconf = GConf.Client.get_default ();
+ public UserConfig () throws Error {
+ this.key_file = new KeyFile ();
+
+ var dirs = new string[2];
+ dirs[0] = Environment.get_user_config_dir ();
+ dirs[1] = BuildConfig.SYS_CONFIG_DIR;
+ string full_path;
+
+ this.key_file.load_from_dirs (CONFIG_FILE,
+ dirs,
+ out full_path,
+ KeyFileFlags.NONE);
+ debug ("Loaded user configuration from file '%s'", full_path);
DBus.Connection connection = DBus.Bus.get (DBus.BusType.SESSION);
@@ -148,10 +158,7 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
public string get_string (string section,
string key) throws GLib.Error {
- string val;
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- val = this.gconf.get_string (path);
+ var val = this.key_file.get_string (section, key);
if (val == null || val == "") {
throw new ConfigurationError.NO_VALUE_SET (
@@ -165,18 +172,10 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
string key)
throws GLib.Error {
var str_list = new Gee.ArrayList<string> ();
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- unowned SList<string> strings = this.gconf.get_list (
- path,
- GConf.ValueType.STRING);
- if (strings != null) {
- foreach (var str in strings) {
- str_list.add (str);
- }
- } else {
- throw new ConfigurationError.NO_VALUE_SET (
- "No value available for '%s'", key);
+ var strings = this.key_file.get_string_list (section, key);
+
+ foreach (var str in strings) {
+ str_list.add (str);
}
return str_list;
@@ -187,10 +186,7 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
int min,
int max)
throws GLib.Error {
- int val;
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- val = this.gconf.get_int (path);
+ int val = this.key_file.get_integer (section, key);
if (val < min || val > max) {
throw new ConfigurationError.VALUE_OUT_OF_RANGE (
@@ -204,17 +200,10 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
string key)
throws GLib.Error {
var int_list = new Gee.ArrayList<int> ();
- var path = ROOT_GCONF_PATH + section + "/" + key;
+ var ints = this.key_file.get_integer_list (section, key);
- unowned SList<int> ints = this.gconf.get_list (path,
- GConf.ValueType.INT);
- if (ints != null) {
- foreach (var num in ints) {
- int_list.add (num);
- }
- } else {
- throw new ConfigurationError.NO_VALUE_SET (
- "No value available for '%s'", key);
+ foreach (var num in ints) {
+ int_list.add (num);
}
return int_list;
@@ -223,75 +212,41 @@ public class Rygel.UserConfig : GLib.Object, Configuration {
public bool get_bool (string section,
string key)
throws GLib.Error {
- bool val;
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- unowned GConf.Value value = this.gconf.get (path);
- if (value != null) {
- val = value.get_bool ();
- } else {
- throw new ConfigurationError.NO_VALUE_SET (
- "No value available for '%s'", key);
- }
-
- return val;
+ return this.key_file.get_boolean (section, key);
}
public void set_string (string section,
string key,
string value) {
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- try {
- this.gconf.set_string (path, value);
- } catch (GLib.Error error) {
- // No big deal
- }
+ this.key_file.set_string (section, key, value);
}
public void set_string_list (string section,
string key,
Gee.ArrayList<string> str_list) {
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
// GConf requires us to provide it GLib.SList
- SList<string> slist = null;
+ var strings = new string[str_list.size];
+ int i = 0;
foreach (var str in str_list) {
if (str != "") {
- slist.append (str);
+ strings[i++] = str;
}
}
- try {
- this.gconf.set_list (path, GConf.ValueType.STRING, slist);
- } catch (GLib.Error error) {
- // No big deal
- }
+ this.key_file.set_string_list (section, key, strings);
}
public void set_int (string section,
string key,
int value) {
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- try {
- this.gconf.set_int (path, value);
- } catch (GLib.Error error) {
- // No big deal
- }
+ this.key_file.set_integer (section, key, value);
}
public void set_bool (string section,
string key,
bool value) {
- var path = ROOT_GCONF_PATH + section + "/" + key;
-
- try {
- this.gconf.set_bool (path, value);
- } catch (GLib.Error error) {
- // No big deal
- }
+ this.key_file.set_boolean (section, key, value);
}
private void enable_upnp (bool enable) {
diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am
index 7f20dc8..5e4ac66 100644
--- a/src/ui/Makefile.am
+++ b/src/ui/Makefile.am
@@ -8,7 +8,6 @@ rygeldir = $(top_srcdir)/src/rygel
AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBGUPNP_AV_CFLAGS) \
- $(LIBGCONF_CFLAGS) \
$(LIBGSTREAMER_CFLAGS) \
$(GIO_CFLAGS) \
$(GTK_CFLAGS) \
@@ -51,7 +50,6 @@ rygel.stamp: $(filter %.vala,$(rygel_preferences_SOURCES))
rygel_preferences_LDADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
- $(LIBGCONF_LIBS) \
$(LIBGSTREAMER_LIBS) \
$(GIO_LIBS) \
$(GEE_LIBS) \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]