From 134d60c511bd1f81dcc4034ae7992b7d8da55db6 Mon Sep 17 00:00:00 2001 From: "Zeeshan Ali (Khattak)" Date: Mon, 16 Aug 2010 23:29:13 +0300 Subject: [PATCH] core: Equality function for list of ProtocolInfo This is to allow for easy search of a particular ProtocolInfo in the list. --- src/rygel/rygel-transcode-manager.vala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/rygel/rygel-transcode-manager.vala b/src/rygel/rygel-transcode-manager.vala index 917f83d..a8f83b8 100644 --- a/src/rygel/rygel-transcode-manager.vala +++ b/src/rygel/rygel-transcode-manager.vala @@ -33,6 +33,14 @@ using Gst; internal abstract class Rygel.TranscodeManager : GLib.Object { private ArrayList transcoders; + private static bool protocol_equal_func (void *a, void *b) { + var protocol_a = a as ProtocolInfo; + var protocol_b = b as ProtocolInfo; + + return protocol_a.dlna_profile == protocol_b.dlna_profile && + protocol_a.mime_type == protocol_b.mime_type; + } + public TranscodeManager () { transcoders = new ArrayList (); @@ -118,7 +126,7 @@ internal abstract class Rygel.TranscodeManager : GLib.Object { internal abstract string get_protocol (); internal virtual ArrayList get_protocol_info () { - var protocol_infos = new ArrayList (); + var protocol_infos = new ArrayList (protocol_equal_func); foreach (var transcoder in this.transcoders) { var protocol_info = new ProtocolInfo (); -- 2.7.4