Author: jgomes
Date: Wed Jan 13 23:24:44 2016
New Revision: 1724527

URL: http://svn.apache.org/viewvc?rev=1724527&view=rev
Log:
Applied patch from Stephane Ramet to implement QueueBrowser.  Thanks Stephane!
Fixes [AMQNET-517]. (See https://issues.apache.org/jira/browse/AMQNET-517)

Modified:
    
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/QueueBrowser.cs

Modified: 
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/QueueBrowser.cs
URL: 
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/QueueBrowser.cs?rev=1724527&r1=1724526&r2=1724527&view=diff
==============================================================================
--- 
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/QueueBrowser.cs 
(original)
+++ 
activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/QueueBrowser.cs 
Wed Jan 13 23:24:44 2016
@@ -107,12 +107,37 @@ namespace Apache.NMS.EMS
                        get { return 
EMSConvert.ToNMSQueue(this.tibcoQueueBrowser.Queue); }
                }
 
+               internal class Enumerator : IEnumerator
+               {
+                       private IEnumerator innerEnumerator;
+
+                       public Enumerator(IEnumerator innerEnumerator)
+                       {
+                               this.innerEnumerator = innerEnumerator;
+                       }
+
+                       public object Current
+                       {
+                               get
+                               {
+                                       return 
EMSConvert.ToNMSMessage((TIBCO.EMS.Message)this.innerEnumerator.Current);
+                               }
+                       }
+
+                       public bool MoveNext()
+                       {
+                               return this.innerEnumerator.MoveNext();
+                       }
+
+                       public void Reset()
+                       {
+                               this.innerEnumerator.Reset();
+                       }
+               }
+
                public IEnumerator GetEnumerator()
                {
-                       // TODO: This enumerator will need to be adapted.  As 
it is now, the low-level EMS
-                       // objects will be enumerated.  We need to wrap these 
objects into the NMS interface
-                       // types to fit into the provider agnostic system.
-                       return this.tibcoQueueBrowser.GetEnumerator();
+                       return new 
Enumerator(this.tibcoQueueBrowser.GetEnumerator());
                }
        }
 }


Reply via email to