rygel r380 - trunk/src/plugins/dvb
- From: zeeshanak svn gnome org
- To: svn-commits-list gnome org
- Subject: rygel r380 - trunk/src/plugins/dvb
- Date: Thu, 25 Dec 2008 12:00:49 +0000 (UTC)
Author: zeeshanak
Date: Thu Dec 25 12:00:48 2008
New Revision: 380
URL: http://svn.gnome.org/viewvc/rygel?rev=380&view=rev
Log:
Let DVBContentDir create the ChannelList proxy.
Modified:
trunk/src/plugins/dvb/rygel-dvb-channel-group.vala
trunk/src/plugins/dvb/rygel-dvb-content-dir.vala
Modified: trunk/src/plugins/dvb/rygel-dvb-channel-group.vala
==============================================================================
--- trunk/src/plugins/dvb/rygel-dvb-channel-group.vala (original)
+++ trunk/src/plugins/dvb/rygel-dvb-channel-group.vala Thu Dec 25 12:00:48 2008
@@ -35,8 +35,6 @@
public class Rygel.DVBChannelGroup : MediaContainer {
/* class-wide constants */
private const string DVB_SERVICE = "org.gnome.DVB";
- private const string CHANNEL_LIST_PATH_ROOT = "/org/gnome/DVB/ChannelList/";
- private const string CHANNEL_LIST_IFACE = "org.gnome.DVB.ChannelList";
private const string GID_PREFIX = "GroupID:";
private const string TITLE_PREFIX = "Group ";
@@ -50,15 +48,17 @@
private uint gid; /* The DVB Daemon Device Group ID */
- public DVBChannelGroup (uint gid,
- string parent_id,
- Streamer streamer) {
+ public DVBChannelGroup (uint gid,
+ string parent_id,
+ dynamic DBus.Object channel_list,
+ Streamer streamer) {
base (GID_PREFIX + gid.to_string (), // UPnP ID
parent_id,
TITLE_PREFIX + gid.to_string (),
0);
this.gid = gid;
//this.upnp_class = "object.container.channelGroup";
+ this.channel_list = channel_list;
this.streamer = streamer;
channels = new HashMap<string, DVBChannel> (str_hash, str_equal);
@@ -72,14 +72,6 @@
return;
}
- string channel_list_path = DVBChannelGroup.CHANNEL_LIST_PATH_ROOT +
- gid.to_string ();
-
- // Get a proxy to DVB ChannelList object
- this.channel_list = connection.get_object
- (DVBChannelGroup.DVB_SERVICE,
- channel_list_path,
- DVBChannelGroup.CHANNEL_LIST_IFACE);
uint[] channel_ids = null;
try {
Modified: trunk/src/plugins/dvb/rygel-dvb-content-dir.vala
==============================================================================
--- trunk/src/plugins/dvb/rygel-dvb-content-dir.vala (original)
+++ trunk/src/plugins/dvb/rygel-dvb-content-dir.vala Thu Dec 25 12:00:48 2008
@@ -36,6 +36,7 @@
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;
@@ -72,9 +73,24 @@
this.groups = new List<DVBChannelGroup> ();
foreach (uint group_id in dev_groups) {
+ string channel_list_path = null;
+ try {
+ channel_list_path = manager.GetChannelList (group_id);
+ } catch (GLib.Error error) {
+ critical ("error: %s", error.message);
+ return;
+ }
+
+ // Get a proxy to DVB ChannelList object
+ dynamic DBus.Object channel_list = connection.get_object
+ (DVBContentDir.DVB_SERVICE,
+ channel_list_path,
+ DVBContentDir.CHANNEL_LIST_IFACE);
+
// Create ChannelGroup for each registered device group
this.groups.append (new DVBChannelGroup (group_id,
this.root_container.id,
+ channel_list,
streamer));
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]