[rygel] all: Use GObject-style construction for MediaDevice
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] all: Use GObject-style construction for MediaDevice
- Date: Wed, 5 Dec 2012 23:57:31 +0000 (UTC)
commit fda283ee288caff601d9f6e68216198e4f469af7
Author: Jens Georg <jensg openismus com>
Date: Wed Dec 5 23:59:04 2012 +0100
all: Use GObject-style construction for MediaDevice
src/librygel-core/rygel-media-device.vala | 4 +++-
.../rygel-playbin-renderer.vala | 9 +++++++--
src/librygel-renderer/rygel-media-renderer.vala | 14 +++++++++++---
src/librygel-server/rygel-media-server.vala | 15 ++++++++++++---
4 files changed, 33 insertions(+), 9 deletions(-)
---
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 {
* <link linkend="implementing-renderers">Implementing Renderers</link> 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 {
* <link linkend="implementing-servers">Implementing Servers</link> 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;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]