From: Jens Georg Date: Wed, 5 Dec 2012 22:59:04 +0000 (+0100) Subject: all: Use GObject-style construction for MediaDevice X-Git-Tag: RYGEL_0_17_5~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fda283ee288caff601d9f6e68216198e4f469af7;p=profile%2Fivi%2Frygel.git all: Use GObject-style construction for MediaDevice --- diff --git a/src/librygel-core/rygel-media-device.vala b/src/librygel-core/rygel-media-device.vala index e0d3b98..3ac71d7 100644 --- a/src/librygel-core/rygel-media-device.vala +++ b/src/librygel-core/rygel-media-device.vala @@ -41,8 +41,10 @@ public abstract class Rygel.MediaDevice : Object { private ContextManager manager; protected Rygel.Plugin plugin { get; protected set; } + public string title { construct; protected get; } + public PluginCapabilities capabilities { construct; protected get; } - public MediaDevice () { + public override void constructed () { this.manager = ContextManager.create (0); this.manager.context_available.connect (this.on_context_available); this.manager.context_unavailable.connect (this.on_context_unavailable); diff --git a/src/librygel-renderer-gst/rygel-playbin-renderer.vala b/src/librygel-renderer-gst/rygel-playbin-renderer.vala index 2f4a9af..a417b07 100644 --- a/src/librygel-renderer-gst/rygel-playbin-renderer.vala +++ b/src/librygel-renderer-gst/rygel-playbin-renderer.vala @@ -68,9 +68,14 @@ public class Rygel.Playbin.Renderer : Rygel.MediaDevice { * @param title Friendly name of the new UPnP renderer on the network. */ public Renderer (string title) { - base (); + Object (title: title); + } + + public override void constructed () { + base.constructed (); + this.plugin = new Plugin (); - this.prepare_upnp (title); + this.prepare_upnp (this.title); } /** diff --git a/src/librygel-renderer/rygel-media-renderer.vala b/src/librygel-renderer/rygel-media-renderer.vala index f61a106..8fb02ec 100644 --- a/src/librygel-renderer/rygel-media-renderer.vala +++ b/src/librygel-renderer/rygel-media-renderer.vala @@ -43,6 +43,7 @@ internal class Plugin : Rygel.MediaRendererPlugin { * Implementing Renderers section. */ public class Rygel.MediaRenderer : MediaDevice { + public unowned MediaPlayer player { construct; private get; } /** * Create a RygelMediaRenderer to render content via a RygelMediaPlayer. @@ -51,8 +52,15 @@ public class Rygel.MediaRenderer : MediaDevice { MediaPlayer player, PluginCapabilities capabilities = PluginCapabilities.NONE) { - base (); - this.plugin = new global::Plugin (player, capabilities); - this.plugin.title = title; + Object (title: title, + player: player, + capabilities: capabilities); + } + + public override void constructed () { + base.constructed (); + + this.plugin = new global::Plugin (this.player, this.capabilities); + this.plugin.title = this.title; } } diff --git a/src/librygel-server/rygel-media-server.vala b/src/librygel-server/rygel-media-server.vala index abc2d7f..42ad8ce 100644 --- a/src/librygel-server/rygel-media-server.vala +++ b/src/librygel-server/rygel-media-server.vala @@ -36,6 +36,7 @@ internal class Plugin : Rygel.MediaServerPlugin { * Implementing Servers section. */ public class Rygel.MediaServer : MediaDevice { + public unowned MediaContainer root_container { construct; private get; } /** * Create a MediaServer to serve the media in the RygelMediaContainer. @@ -50,8 +51,16 @@ public class Rygel.MediaServer : MediaDevice { MediaContainer root_container, PluginCapabilities capabilities = PluginCapabilities.NONE) { - base (); - this.plugin = new global::Plugin (root_container, capabilities); - this.plugin.title = title; + Object (title: title, + root_container : root_container, + capabilities: capabilities); + } + + public override void constructed () { + base.constructed (); + + this.plugin = new global::Plugin (this.root_container, + this.capabilities); + this.plugin.title = this.title; } }