public BeckhoffPollingTagListener(ILogger logger, IGlobalLock globalLock) { _logger = logger ?? new NullLogger(); _globalLock = globalLock; _tagsSnapshot = _tagsList.ToReadOnly(); Initialize(); }
/// <summary> /// Initializes a new instance of the <see cref="PollingManagerForTagListener"/> class. /// </summary> /// <param name="tagListener">The tag listener.</param> /// <param name="twinCatClient">The twin cat client.</param> /// <param name="pollingRate">The polling rate.</param> /// <param name="globalLock">A class managing locking globally within the application.</param> /// <param name="logger">A logger for standard message logging</param> public PollingManagerForTagListener(BeckhoffPollingTagListener tagListener, TcAdsClient twinCatClient, int pollingRate, IGlobalLock globalLock, ILogger logger = null) { _tagListener = tagListener; _twinCatClient = twinCatClient; _globalLock = globalLock; _logger = logger ?? new NullLogger(); PollingRate = pollingRate; }
/// <summary> /// Initializes a new instance of the <see cref="BeckhoffTagListener" /> class. /// </summary> /// <param name="adsAddress">The ads address.</param> /// <param name="adsPort">The ads port.</param> /// <param name="globalLock">The global lock is a singleton and hold a global semaphor needed for TagListener synchronization.</param> /// <param name="logger">The logger.</param> public BeckhoffPollingTagListener(string adsAddress, int adsPort, IGlobalLock globalLock, ILogger logger = null) { _adsAddress = adsAddress; _adsPort = adsPort; _globalLock = globalLock; _logger = logger ?? new NullLogger(); _tagsSnapshot = _tagsList.ToReadOnly(); Initialize(); }
/// <summary> /// Initializes a new <see cref="BeckhoffOnlineAlarmsImporter" /> instance. /// </summary> /// <param name="adsAddress">The ads address the tag listener should communicate with.</param> /// <param name="adsPort">The ads port the tag listener should communicate with.</param> /// <param name="globalLock">The global lock is a singleton and hold a global semaphor needed for TagListener synchronization.</param> /// <remarks> /// This constructor mainly exists because of backwards compatibility. It will not create an own /// <see cref="ITagListener" /> instance which means, that the initialize method must get called. /// </remarks> public BeckhoffOnlineAlarmsImporter(string adsAddress, int adsPort, IGlobalLock globalLock) : this() { _tagListener = new BeckhoffPollingTagListener(adsAddress, adsPort, globalLock); }
public GlobalLockMiddleware(IGlobalLock globalLock) { _globalLock = globalLock; }