From: Zeeshan Ali (Khattak) Date: Mon, 16 Aug 2010 20:29:13 +0000 (+0300) Subject: core: Equality function for list of ProtocolInfo X-Git-Tag: RYGEL_0_7_4~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=134d60c511bd1f81dcc4034ae7992b7d8da55db6;p=profile%2Fivi%2Frygel.git core: Equality function for list of ProtocolInfo This is to allow for easy search of a particular ProtocolInfo in the list. --- 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 ();