From: Zeeshan Ali (Khattak) Date: Mon, 15 Jun 2009 07:57:19 +0000 (+0300) Subject: core,ui,dvb: Remove DVB plugin X-Git-Tag: RYGEL_0_4~319 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2cb5d37f13977ddde666054f313a40ff0a4051f5;p=profile%2Fivi%2Frygel.git core,ui,dvb: Remove DVB plugin DVB Daemon will soon be implementing D-Bus MediaServer spec. --- diff --git a/configure.ac b/configure.ac index 69ae244..3a09c4b 100644 --- a/configure.ac +++ b/configure.ac @@ -187,11 +187,6 @@ AC_ARG_ENABLE(tracker-plugin, [ --enable-tracker-plugin build tracker plugin],, enable_tracker_plugin=yes) -# Build DVB plugin -AC_ARG_ENABLE(dvb-plugin, - [ --enable-dvb-plugin build DVB plugin],, - enable_dvb_plugin=yes) - # Build MediaExport plugin AC_ARG_ENABLE(media-export-plugin, [ --enable-media-export-plugin build MediaExport plugin],, @@ -215,7 +210,6 @@ AM_CONDITIONAL([ENABLE_MAEMO], [test "x$enable_maemo" = "xyes"]) AM_CONDITIONAL([BUILD_TEST_PLUGIN], [test "x$enable_test_plugin" = "xyes"]) AM_CONDITIONAL([BUILD_TRACKER_PLUGIN], [test "x$enable_tracker_plugin" = "xyes"]) -AM_CONDITIONAL([BUILD_DVB_PLUGIN], [test "x$enable_dvb_plugin" = "xyes"]) AM_CONDITIONAL([BUILD_MEDIATHEK_PLUGIN], [test "x$enable_mediathek_plugin" = "xyes"]) AM_CONDITIONAL([BUILD_MEDIA_EXPORT_PLUGIN], [test "x$enable_media_export_plugin" = "xyes"]) AM_CONDITIONAL([BUILD_EXTERNAL_PLUGIN], [test "x$enable_external_plugin" = "xyes"]) @@ -236,7 +230,6 @@ src/Makefile src/rygel/Makefile src/ui/Makefile src/plugins/Makefile -src/plugins/dvb/Makefile src/plugins/media-export/Makefile src/plugins/external/Makefile src/plugins/mediathek/Makefile diff --git a/data/rygel-preferences.ui b/data/rygel-preferences.ui index aef38e9..2a973dd 100644 --- a/data/rygel-preferences.ui +++ b/data/rygel-preferences.ui @@ -240,7 +240,7 @@ True - 10 + 8 2 6 6 @@ -327,49 +327,6 @@ - - _DVB - True - True - False - True - True - - - 8 - 9 - - - - - True - 0 - 12 - Tit_le - True - - - 9 - 10 - - - - - True - True - Write %u for username, %n for real name of the user and %h for host name - - 30 - True - - - 1 - 2 - 9 - 10 - - - True 0 @@ -523,9 +480,6 @@ - - - @@ -599,8 +553,8 @@ preferences-dialog False False - select-folder True + select-folder True diff --git a/data/rygel.schemas b/data/rygel.schemas index 74763d7..05a7584 100644 --- a/data/rygel.schemas +++ b/data/rygel.schemas @@ -167,28 +167,6 @@ - /schemas/apps/rygel/DVB/enabled - /apps/rygel/DVB/enabled - rygel - bool - TRUE - - Enable DVB plugin - Enable DVB plugin - - - - /schemas/apps/rygel/DVB/title - /apps/rygel/DVB/title - rygel - string - Digital TV - - The title of this plugin to advertise to UPnP clients. - The title of this plugin to advertise to UPnP clients. - - - /schemas/apps/rygel/ZDFMediathek/enabled /apps/rygel/ZDFMediathek/enabled rygel diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index 1ead891..d445987 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -6,10 +6,6 @@ if BUILD_TRACKER_PLUGIN TRACKER_PLUGIN = tracker endif -if BUILD_DVB_PLUGIN -DVB_PLUGIN = dvb -endif - if BUILD_MEDIATHEK_PLUGIN MEDIATHEK_PLUGIN = mediathek endif @@ -24,7 +20,6 @@ endif SUBDIRS = $(TEST_PLUGIN) \ $(TRACKER_PLUGIN) \ - $(DVB_PLUGIN) \ $(MEDIATHEK_PLUGIN) \ $(MEDIA_EXPORT_PLUGIN) \ $(EXTERNAL_PLUGIN) diff --git a/src/plugins/dvb/Makefile.am b/src/plugins/dvb/Makefile.am deleted file mode 100644 index 1cffc0c..0000000 --- a/src/plugins/dvb/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -plugindir = $(libdir)/rygel-1.0 - -plugin_LTLIBRARIES = librygel-dvb.la - -AM_CFLAGS = $(LIBGUPNP_CFLAGS) \ - $(LIBGUPNP_AV_CFLAGS) \ - $(LIBDBUS_GLIB_CFLAGS) \ - $(GEE_CFLAGS) \ - $(LIBGSTREAMER_CFLAGS) \ - $(LIBGCONF_CFLAGS) \ - -I$(top_srcdir)/src/rygel -DDATA_DIR='"$(datadir)"' - -BUILT_SOURCES = rygel-dvb-content-dir.c \ - rygel-dvb-root-container.c \ - rygel-dvb-channel-group.c \ - rygel-dvb-channel.c \ - rygel-dvb-plugin.c \ - rygel-dvb-plugin-factory.c - -$(BUILT_SOURCES) : rygel-dvb.stamp - -librygel_dvb_la_SOURCES = rygel-dvb-content-dir.c \ - rygel-dvb-content-dir.vala \ - rygel-dvb-root-container.c \ - rygel-dvb-root-container.vala \ - rygel-dvb-channel-group.c \ - rygel-dvb-channel-group.vala \ - rygel-dvb-channel.c \ - rygel-dvb-channel.vala \ - rygel-dvb-plugin.c \ - rygel-dvb-plugin.vala \ - rygel-dvb-plugin-factory.c \ - rygel-dvb-plugin-factory.vala - -rygel-dvb.stamp: $(filter %.vala,$(librygel_dvb_la_SOURCES)) - $(VALAC) -C --vapidir=$(top_srcdir)/src/rygel \ - --pkg rygel-1.0 --pkg cstuff --pkg gupnp-1.0 --pkg gupnp-av-1.0 \ - --pkg dbus-glib-1 --pkg gee-1.0 --pkg gstreamer-0.10 --pkg gconf-2.0 \ - $^ - touch $@ - -librygel_dvb_la_LIBADD = $(LIBGUPNP_LIBS) \ - $(LIBGUPNP_AV_LIBS) \ - $(LIBDBUS_GLIB_LIBS) \ - $(LIBGSTREAMER_LIBS) \ - $(GEE_LIBS) \ - $(LIBGCONF_LIBS) -librygel_dvb_la_LDFLAGS = -shared -fPIC -module -avoid-version - -CLEANFILES = rygel-dvb.stamp -MAINTAINERCLEANFILES = Makefile.in $(BUILT_SOURCES) -EXTRA_DIST = $(BUILT_SOURCES) rygel-dvb.stamp diff --git a/src/plugins/dvb/rygel-dvb-channel-group.vala b/src/plugins/dvb/rygel-dvb-channel-group.vala deleted file mode 100644 index 77006c6..0000000 --- a/src/plugins/dvb/rygel-dvb-channel-group.vala +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2008 Zeeshan Ali (Khattak) . - * Copyright (C) 2008 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -using Rygel; -using GUPnP; -using DBus; -using Gee; - -/** - * Represents DVB channel group. - */ -public class Rygel.DVBChannelGroup : MediaContainer { - /* class-wide constants */ - private const string GID_PREFIX = "GroupID:"; - - public static dynamic DBus.Object channel_list; - - /* List of channels */ - private ArrayList channels; - - private uint gid; /* The DVB Daemon Device Group ID */ - - public DVBChannelGroup (uint gid, - string title, - MediaContainer parent, - dynamic DBus.Object channel_list) { - base (GID_PREFIX + gid.to_string (), // UPnP ID - parent, - title, - 0); - this.gid = gid; - //this.upnp_class = "object.container.channelGroup"; - this.channel_list = channel_list; - - this.fetch_channels (); - } - - public override void get_children (uint offset, - uint max_count, - Cancellable? cancellable, - AsyncReadyCallback callback) { - uint stop = offset + max_count; - stop = stop.clamp (0, this.child_count); - - var channels = this.channels.slice ((int) offset, (int) stop); - - var res = new Rygel.SimpleAsyncResult> - (this, callback); - res.data = channels; - res.complete_in_idle (); - } - - public override Gee.List? get_children_finish ( - AsyncResult res) - throws GLib.Error { - var simple_res = (Rygel.SimpleAsyncResult>) res; - return simple_res.data; - } - - public override void find_object (string id, - Cancellable? cancellable, - AsyncReadyCallback callback) { - MediaObject channel = null; - foreach (var tmp in this.channels) { - if (tmp.id == id) { - channel = tmp; - break; - } - } - - var res = new Rygel.SimpleAsyncResult (this, callback); - - res.data = channel; - res.complete_in_idle (); - } - - public override MediaObject? find_object_finish (AsyncResult res) - throws GLib.Error { - var simple_res = (Rygel.SimpleAsyncResult) res; - return simple_res.data; - } - - public MediaObject? find_object_sync (string id) { - MediaObject channel = null; - foreach (var tmp in this.channels) { - if (tmp.id == id) { - channel = tmp; - break; - } - } - - return channel; - } - - private void fetch_channels () { - this.channels = new ArrayList (); - - DBus.Connection connection; - try { - connection = DBus.Bus.get (DBus.BusType.SESSION); - } catch (DBus.Error error) { - critical ("Failed to connect to Session bus: %s\n", - error.message); - return; - } - - uint[] channel_ids = null; - - try { - channel_ids = this.channel_list.GetChannels (); - } catch (GLib.Error error) { - critical ("error: %s", error.message); - return; - } - - foreach (uint channel_id in channel_ids) { - // Create Channels - try { - var channel = new DVBChannel (channel_id, - this, - channel_list); - this.channels.add (channel); - } catch (GLib.Error error) { - critical ("Failed to create DVB Channel object: %s", - error.message); - } - } - - this.child_count = this.channels.size; - } -} - diff --git a/src/plugins/dvb/rygel-dvb-channel.vala b/src/plugins/dvb/rygel-dvb-channel.vala deleted file mode 100644 index 728045b..0000000 --- a/src/plugins/dvb/rygel-dvb-channel.vala +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2008 Zeeshan Ali (Khattak) . - * Copyright (C) 2008 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -using Rygel; -using GUPnP; -using DBus; - -/** - * Represents DVB item. - */ -public class Rygel.DVBChannel : MediaItem { - public static dynamic DBus.Object channel_list; - - private uint cid; /* The DVB Daemon Channel ID */ - - public DVBChannel (uint cid, - MediaContainer parent, - dynamic DBus.Object channel_list) throws GLib.Error { - string id = parent.id + ":" + cid.to_string (); /* UPnP ID */ - - base (id, - parent, - "Unknown", /* Title Unknown at this point */ - "Unknown"); /* UPnP Class Unknown at this point */ - - this.cid = cid; - this.channel_list = channel_list; - - this.fetch_metadata (); - } - - public void fetch_metadata () throws GLib.Error { - /* TODO: make this async */ - this.title = this.channel_list.GetChannelName (cid); - - bool is_radio = this.channel_list.IsRadioChannel (cid); - if (is_radio) { - this.upnp_class = "object.item.audioItem.audioBroadcast"; - } else { - this.upnp_class = "object.item.videoItem.videoBroadcast"; - } - - this.mime_type = "video/mpeg"; - string uri = this.channel_list.GetChannelURL (cid); - this.uris.add (uri); - } -} - diff --git a/src/plugins/dvb/rygel-dvb-content-dir.vala b/src/plugins/dvb/rygel-dvb-content-dir.vala deleted file mode 100644 index f67b8e0..0000000 --- a/src/plugins/dvb/rygel-dvb-content-dir.vala +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2008 Zeeshan Ali (Khattak) . - * Copyright (C) 2008 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -using Rygel; -using GUPnP; -using DBus; -using Gee; - -/** - * Implementation of DVB ContentDirectory service. - */ -public class Rygel.DVBContentDir : ContentDirectory { - // Pubic methods - public override MediaContainer? create_root_container () { - string friendly_name = this.root_device.get_friendly_name (); - return new DVBRootContainer (friendly_name); - } -} - diff --git a/src/plugins/dvb/rygel-dvb-plugin-factory.vala b/src/plugins/dvb/rygel-dvb-plugin-factory.vala deleted file mode 100644 index aebf89a..0000000 --- a/src/plugins/dvb/rygel-dvb-plugin-factory.vala +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2009 Zeeshan Ali (Khattak) . - * Copyright (C) 2009 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -using Rygel; -using Gee; -using CStuff; - -private DVBPluginFactory plugin_factory; - -[ModuleInit] -public void module_init (PluginLoader loader) { - try { - plugin_factory = new DVBPluginFactory (loader); - } catch (DBus.Error error) { - critical ("Failed to fetch list of external services: %s\n", - error.message); - } -} - -public class DVBPluginFactory { - private const string DBUS_SERVICE = "org.freedesktop.DBus"; - private const string DBUS_OBJECT = "/org/freedesktop/DBus"; - private const string DBUS_IFACE = "org.freedesktop.DBus"; - - private const string TRACKER_SERVICE = "org.gnome.DVB"; - - dynamic DBus.Object dbus_obj; - PluginLoader loader; - - public DVBPluginFactory (PluginLoader loader) throws DBus.Error { - var connection = DBus.Bus.get (DBus.BusType.SESSION); - - this.dbus_obj = connection.get_object (DBUS_SERVICE, - DBUS_OBJECT, - DBUS_IFACE); - this.loader = loader; - - dbus_obj.StartServiceByName (TRACKER_SERVICE, - (uint32) 0, - this.start_service_cb); - } - - private void start_service_cb (uint32 status, GLib.Error err) { - if (err != null) { - warning ("Failed to start DVB service: %s\n", - err.message); - warning ("DVB plugin disabled.\n"); - - return; - } - - this.loader.add_plugin (new DVBPlugin ()); - } -} - diff --git a/src/plugins/dvb/rygel-dvb-plugin.vala b/src/plugins/dvb/rygel-dvb-plugin.vala deleted file mode 100644 index d76df34..0000000 --- a/src/plugins/dvb/rygel-dvb-plugin.vala +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2008 Zeeshan Ali (Khattak) . - * Copyright (C) 2008 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -/* Implementation of DVB related services, based on DVBDaemon. */ - -using Rygel; -using Gee; -using CStuff; - -public class DVBPlugin : Plugin { - public DVBPlugin () { - base.MediaServer ("DVB", "Digital TV"); - - // We only implement a ContentDirectory service - var resource_info = new ResourceInfo (ContentDirectory.UPNP_ID, - ContentDirectory.UPNP_TYPE, - ContentDirectory.DESCRIPTION_PATH, - typeof (DVBContentDir)); - - this.add_resource (resource_info); - } -} - diff --git a/src/plugins/dvb/rygel-dvb-root-container.vala b/src/plugins/dvb/rygel-dvb-root-container.vala deleted file mode 100644 index 5ac3b38..0000000 --- a/src/plugins/dvb/rygel-dvb-root-container.vala +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2008 Zeeshan Ali (Khattak) . - * Copyright (C) 2008 Nokia Corporation. - * - * Author: Zeeshan Ali (Khattak) - * - * - * This file is part of Rygel. - * - * Rygel is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Rygel is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -using Rygel; -using GUPnP; -using DBus; -using Gee; - -/** - * Represents the root container for DVB media content hierarchy. - */ -public class Rygel.DVBRootContainer : MediaContainer { - // class-wide constants - private const string DVB_SERVICE = "org.gnome.DVB"; - private const string MANAGER_PATH = "/org/gnome/DVB/Manager"; - private const string MANAGER_IFACE = "org.gnome.DVB.Manager"; - private const string CHANNEL_LIST_IFACE = "org.gnome.DVB.ChannelList"; - - public dynamic DBus.Object manager; - - private ArrayList groups; - - public DVBRootContainer (string title) { - base.root (title, 0); - - this.groups = new ArrayList (); - - try { - DBus.Connection connection = DBus.Bus.get (DBus.BusType.SESSION); - - // Get a proxy to DVB Manager object - this.manager = connection.get_object ( - DVBRootContainer.DVB_SERVICE, - DVBRootContainer.MANAGER_PATH, - DVBRootContainer.MANAGER_IFACE); - - this.fetch_device_groups (connection); - } catch (DBus.Error error) { - critical ("Failed to fetch device groups: %s\n", error.message); - } - } - - public override void get_children (uint offset, - uint max_count, - Cancellable? cancellable, - AsyncReadyCallback callback) { - uint stop = offset + max_count; - - stop = stop.clamp (0, this.child_count); - var groups = this.groups.slice ((int) offset, (int) stop); - - var res = new Rygel.SimpleAsyncResult> - (this, callback); - res.data = groups; - res.complete_in_idle (); - } - - public override Gee.List? get_children_finish ( - AsyncResult res) - throws GLib.Error { - var simple_res = (Rygel.SimpleAsyncResult>) res; - return simple_res.data; - } - - public override void find_object (string id, - Cancellable? cancellable, - AsyncReadyCallback callback) { - // First try groups - MediaObject media_object = find_group_by_id (id); - - if (media_object == null) { - media_object = find_channel_by_id (id); - } - - var res = new Rygel.SimpleAsyncResult (this, callback); - - res.data = media_object; - res.complete_in_idle (); - } - - public override MediaObject? find_object_finish (AsyncResult res) - throws GLib.Error { - var simple_res = (Rygel.SimpleAsyncResult) res; - return simple_res.data; - } - - // Private methods - private void fetch_device_groups (DBus.Connection connection) - throws GLib.Error { - uint[] dev_groups = null; - - dev_groups = this.manager.GetRegisteredDeviceGroups (); - - foreach (uint group_id in dev_groups) { - string channel_list_path = null; - string group_name = null; - - channel_list_path = manager.GetChannelList (group_id); - - // Get the name of the group - group_name = manager.GetDeviceGroupName (group_id); - - // Get a proxy to DVB ChannelList object - dynamic DBus.Object channel_list = connection.get_object - (DVBRootContainer.DVB_SERVICE, - channel_list_path, - DVBRootContainer.CHANNEL_LIST_IFACE); - - // Create ChannelGroup for each registered device group - this.groups.add (new DVBChannelGroup (group_id, - group_name, - this, - channel_list)); - } - - this.child_count = this.groups.size; - } - - private DVBChannelGroup? find_group_by_id (string id) { - DVBChannelGroup group = null; - - foreach (DVBChannelGroup tmp in this.groups) { - if (id == tmp.id) { - group = tmp; - - break; - } - } - - return group; - } - - private MediaObject find_channel_by_id (string id) throws GLib.Error { - MediaObject channel = null; - - foreach (DVBChannelGroup group in this.groups) { - channel = group.find_object_sync (id); - if (channel != null) { - break; - } - } - - return channel; - } -} - diff --git a/src/ui/rygel-preferences-dialog.vala b/src/ui/rygel-preferences-dialog.vala index 0513f63..ddeba90 100644 --- a/src/ui/rygel-preferences-dialog.vala +++ b/src/ui/rygel-preferences-dialog.vala @@ -46,9 +46,6 @@ public class Rygel.PreferencesDialog : GLib.Object { this.sections.add (new GeneralPrefSection (this.builder, config)); this.sections.add (new TrackerPrefSection (this.builder, config)); - this.sections.add (new PluginPrefSection (this.builder, - config, - "DVB")); this.sections.add (new MediaExportPrefSection (this.builder, config)); }