Just make the service_name in ExternContainer public so child items can
access it directly.
public string host_ip;
- private string service_name;
+ public string service_name;
private string object_path;
private ArrayList<MediaObject> media_objects;
object_paths = this.actual_container.GetItems ();
foreach (var object_path in object_paths) {
- this.media_objects.add (new ExternalItem (this.service_name,
- (string) object_path,
+ this.media_objects.add (new ExternalItem ((string) object_path,
this));
}
private static string OBJECT_IFACE = "org.Rygel.MediaObject1";
private static string ITEM_IFACE = "org.Rygel.MediaItem1";
- public ExternalItem (string service_name,
- string object_path,
+ public ExternalItem (string object_path,
ExternalContainer parent)
throws GLib.Error {
base (object_path,
DBus.Connection connection = DBus.Bus.get (DBus.BusType.SESSION);
- dynamic DBus.Object props = connection.get_object (service_name,
+ dynamic DBus.Object props = connection.get_object (parent.service_name,
object_path,
PROPS_IFACE);