Applied patch from Stephane Ramet to implement QueueBrowser.  Thanks Stephane!
Fixes [AMQNET-517]. (See https://issues.apache.org/jira/browse/AMQNET-517)



Project: http://git-wip-us.apache.org/repos/asf/activemq-nms-ems/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-nms-ems/commit/6e3b1039
Tree: http://git-wip-us.apache.org/repos/asf/activemq-nms-ems/tree/6e3b1039
Diff: http://git-wip-us.apache.org/repos/asf/activemq-nms-ems/diff/6e3b1039

Branch: refs/heads/master
Commit: 6e3b1039c3cba89277e476fc05147c46a9f60d4e
Parents: 3dd2c9f
Author: Jim Gomes <[email protected]>
Authored: Wed Jan 13 23:24:44 2016 +0000
Committer: Jim Gomes <[email protected]>
Committed: Wed Jan 13 23:24:44 2016 +0000

----------------------------------------------------------------------
 src/main/csharp/QueueBrowser.cs | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-nms-ems/blob/6e3b1039/src/main/csharp/QueueBrowser.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/QueueBrowser.cs b/src/main/csharp/QueueBrowser.cs
index 37d8172..3423f20 100644
--- a/src/main/csharp/QueueBrowser.cs
+++ b/src/main/csharp/QueueBrowser.cs
@@ -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