/// <summary> /// Remove an attribute listener from the cluster. /// /// <param name="listener">callback listener implementing ZclAttributeListener to remove</param> /// </summary> public void RemoveAttributeListener(IZclAttributeListener listener) { lock (_attributeListeners) { _attributeListeners.Remove(listener); } }
/// <summary> /// Adds a ZclAttributeListener to receive reports when an attribute is updated /// /// <param name="listener">the ZclAttributeListener to add</param> /// </summary> public void AddAttributeListener(IZclAttributeListener listener) { lock (_attributeListeners) { // Don't add more than once. if (_attributeListeners.Contains(listener)) { return; } _attributeListeners.Add(listener); } }