Callback interface to be called when information regarding a directory updates.
![](../icons/collapse_all.gif)
C# | Visual Basic | Visual C++ |
public interface IDirectorySubscriptionListener : ISubscriptionListener
Public Interface IDirectorySubscriptionListener _ Implements ISubscriptionListener
public interface class IDirectorySubscriptionListener : ISubscriptionListener
![](../icons/collapse_all.gif)
All Members | Methods | ||||
Icon | Member | Description |
---|---|---|
![]() | DirectoryUpdated(ISubscription, IDirectoryEvent) |
Called when the directory contents changes.
|
![]() | SubscriptionErrorReceived(ISubscription, ISubscriptionErrorEvent) |
Handles an event raised when there is an error in a subscription.
(Inherited from ISubscriptionListener.) |
![]() | SubscriptionStatusUpdated(ISubscription, ISubscriptionStatusEvent) |
Handles an event raised when there is a change in the status of a subscription.
(Inherited from ISubscriptionListener.) |
![](../icons/collapse_all.gif)
IDirectoryEvent
ISubscription
The IDirectorySubscriptionListener methods are not called on a dedicated worker thread. It is called directly from a thread
running within the StreamLink.NET library. Therefore if the API user code is likely to
perform any sort of intense execution it is recommended that the API user executes this in a separate thread.
![](../icons/collapse_all.gif)
![](../icons/CopyCode.gif)
using System; using System.Collections.Generic; using System.Text; using Caplin.StreamLink.Subscription.Directory; using Caplin.StreamLink.Subscription; namespace StreamLinkExamples.Directory { public class ExampleDirectorySubscriptionListener: IDirectorySubscriptionListener { #region IDirectorySubscriptionListener Members /// <summary> /// Called when the directory contents changes. /// </summary> /// <param name="subscription">The subscription.</param> /// <param name="ev">The event.</param> /// <remarks> /// Updated occur subjects have been added to the directory and / or existing subjects may have been removed. /// </remarks> public void DirectoryUpdated(ISubscription subscription, IDirectoryEvent ev) { Console.WriteLine("DirectoryUpdated received for \"" + ev.Subject + "\""); Console.WriteLine("Added: "); foreach (IDirectoryElement dirEl in ev.AddedElements) { Console.WriteLine("Subject: " + dirEl.Subject + ", Type: " + dirEl.SubjectType.ToString()); } } #endregion #region ISubscriptionListener Members /// <summary> /// Subscription Ended Callback. For 'not found', 'read denied' etc. /// </summary> public void SubscriptionErrorReceived(ISubscription subscription, ISubscriptionErrorEvent ev) { Console.WriteLine("Subscription Status Update " + ev.Subject + " Error: " + ev.Error.ToString()); } /// <summary> /// Status Callback /// </summary> public void SubscriptionStatusUpdated(ISubscription subscription, ISubscriptionStatusEvent ev) { Console.WriteLine("Subscription Status Update " + ev.Subject + " Status: " + ev.Status.ToString() + " " + ev.Message); } #endregion } }