[rygel] core: Equality function for list of ProtocolInfo
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] core: Equality function for list of ProtocolInfo
- Date: Mon, 16 Aug 2010 20:41:58 +0000 (UTC)
commit 134d60c511bd1f81dcc4034ae7992b7d8da55db6
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Mon Aug 16 23:29:13 2010 +0300
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 files changed, 9 insertions(+), 1 deletions(-)
---
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<Transcoder> 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<Transcoder> ();
@@ -118,7 +126,7 @@ internal abstract class Rygel.TranscodeManager : GLib.Object {
internal abstract string get_protocol ();
internal virtual ArrayList<ProtocolInfo> get_protocol_info () {
- var protocol_infos = new ArrayList<ProtocolInfo> ();
+ var protocol_infos = new ArrayList<ProtocolInfo> (protocol_equal_func);
foreach (var transcoder in this.transcoders) {
var protocol_info = new ProtocolInfo ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]