core,ui,dvb: Remove DVB plugin
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Mon, 15 Jun 2009 07:57:19 +0000 (10:57 +0300)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 17 Jun 2009 12:33:07 +0000 (15:33 +0300)
DVB Daemon will soon be implementing D-Bus MediaServer spec.

12 files changed:
configure.ac
data/rygel-preferences.ui
data/rygel.schemas
src/plugins/Makefile.am
src/plugins/dvb/Makefile.am [deleted file]
src/plugins/dvb/rygel-dvb-channel-group.vala [deleted file]
src/plugins/dvb/rygel-dvb-channel.vala [deleted file]
src/plugins/dvb/rygel-dvb-content-dir.vala [deleted file]
src/plugins/dvb/rygel-dvb-plugin-factory.vala [deleted file]
src/plugins/dvb/rygel-dvb-plugin.vala [deleted file]
src/plugins/dvb/rygel-dvb-root-container.vala [deleted file]
src/ui/rygel-preferences-dialog.vala

index 69ae244..3a09c4b 100644 (file)
@@ -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
index aef38e9..2a973dd 100644 (file)
                 <child>
                   <object class="GtkTable" id="table4">
                     <property name="visible">True</property>
-                    <property name="n_rows">10</property>
+                    <property name="n_rows">8</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">6</property>
                     <property name="row_spacing">6</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkCheckButton" id="dvb-enabled-checkbutton">
-                        <property name="label" translatable="yes">_DVB</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">8</property>
-                        <property name="bottom_attach">9</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="dvb-title-label">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="xpad">12</property>
-                        <property name="label" translatable="yes">Tit_le</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">9</property>
-                        <property name="bottom_attach">10</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="dvb-title-entry">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">Write %u for username, %n for real name of the user and %h for host name</property>
-                        <property name="invisible_char">&#x25CF;</property>
-                        <property name="width_chars">30</property>
-                        <property name="invisible_char_set">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">9</property>
-                        <property name="bottom_attach">10</property>
-                      </packing>
-                    </child>
-                    <child>
                       <object class="GtkLabel" id="uris-label">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                     <child>
                       <placeholder/>
                     </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
                 </child>
               </object>
     <property name="transient_for">preferences-dialog</property>
     <property name="has_separator">False</property>
     <property name="local_only">False</property>
-    <property name="action">select-folder</property>
     <property name="select_multiple">True</property>
+    <property name="action">select-folder</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
index 74763d7..05a7584 100644 (file)
         </locale>
       </schema>
       <schema>
-        <key>/schemas/apps/rygel/DVB/enabled</key>
-        <applyto>/apps/rygel/DVB/enabled</applyto>
-        <owner>rygel</owner>
-        <type>bool</type>
-        <default>TRUE</default>
-        <locale name="C">
-          <short>Enable DVB plugin</short>
-          <long>Enable DVB plugin</long>
-        </locale>
-      </schema>
-      <schema>
-        <key>/schemas/apps/rygel/DVB/title</key>
-        <applyto>/apps/rygel/DVB/title</applyto>
-        <owner>rygel</owner>
-        <type>string</type>
-        <default>Digital TV</default>
-        <locale name="C">
-          <short>The title of this plugin to advertise to UPnP clients.</short>
-          <long>The title of this plugin to advertise to UPnP clients.</long>
-        </locale>
-      </schema>
-      <schema>
           <key>/schemas/apps/rygel/ZDFMediathek/enabled</key>
           <applyto>/apps/rygel/ZDFMediathek/enabled</applyto>
           <owner>rygel</owner>
index 1ead891..d445987 100644 (file)
@@ -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 (file)
index 1cffc0c..0000000
+++ /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 (file)
index 77006c6..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2008 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2008 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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<DVBChannel> 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<Gee.List<MediaObject>>
-                                                (this, callback);
-        res.data = channels;
-        res.complete_in_idle ();
-    }
-
-    public override Gee.List<MediaObject>? get_children_finish (
-                                                         AsyncResult res)
-                                                         throws GLib.Error {
-        var simple_res = (Rygel.SimpleAsyncResult<Gee.List<MediaObject>>) 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<MediaObject> (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<MediaObject>) 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<DVBChannel> ();
-
-        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 (file)
index 728045b..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2008 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2008 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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 (file)
index f67b8e0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2008 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2008 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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 (file)
index aebf89a..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2009 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2009 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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 (file)
index d76df34..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2008 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2008 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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 (file)
index 5ac3b38..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2008 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>.
- * Copyright (C) 2008 Nokia Corporation.
- *
- * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
- *                               <zeeshan.ali@nokia.com>
- *
- * 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<DVBChannelGroup> groups;
-
-    public DVBRootContainer (string title) {
-        base.root (title, 0);
-
-        this.groups = new ArrayList<DVBChannelGroup> ();
-
-        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<Gee.List<MediaObject>>
-                                                (this, callback);
-        res.data = groups;
-        res.complete_in_idle ();
-    }
-
-    public override Gee.List<MediaObject>? get_children_finish (
-                                                         AsyncResult res)
-                                                         throws GLib.Error {
-        var simple_res = (Rygel.SimpleAsyncResult<Gee.List<MediaObject>>) 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<MediaObject> (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<MediaObject>) 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;
-    }
-}
-
index 0513f63..ddeba90 100644 (file)
@@ -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));
     }