/// <summary> /// Registers an already instantiated and configured extensibility point handler. For this handler <see cref="M:Dropcraft.Common.Package.IExtensibilityPointHandler.Initialize(Dropcraft.Common.Package.ExtensibilityPointInfo,Dropcraft.Common.Runtime.RuntimeContext)" /> will not be called. /// </summary> /// <param name="extensibilityPointId">Extensibility point ID</param> /// <param name="extensibilityPointHandler">Extensibility point handler</param> protected override void OnRegisterExtensibilityPoint(string extensibilityPointId, IExtensibilityPointHandler extensibilityPointHandler) { lock (_extensionLock) { _extensibilityPoints.Add(extensibilityPointId, extensibilityPointHandler); for (var i = _extensions.Count - 1; i >= 0; i--) { if (_extensions[i].ExtensibilityPointId == extensibilityPointId) { extensibilityPointHandler.RegisterExtension(_extensions[i]); _extensions.RemoveAt(i); } } } var e = new AfterExtensibilityPointRegisteredEvent { ExtensibilityPointId = extensibilityPointId, ExtensibilityPointHandler = extensibilityPointHandler }; RaiseRuntimeEvent(e); }
protected abstract void OnRegisterExtensibilityPoint(string extensibilityPointKey, IExtensibilityPointHandler extensibilityPoint);
public void RegisterExtensibilityPoint(string extensibilityPointKey, IExtensibilityPointHandler extensibilityPoint) => OnRegisterExtensibilityPoint(extensibilityPointKey, extensibilityPoint);
/// <summary> /// Registers an already instantiated and configured extensibility point handler. For this handler <see cref="IExtensibilityPointHandler.Initialize"/> will not be called. /// </summary> /// <param name="extensibilityPointId">Extensibility point ID</param> /// <param name="extensibilityPointHandler">Extensibility point handler</param> public void RegisterExtensibilityPoint(string extensibilityPointId, IExtensibilityPointHandler extensibilityPointHandler) => OnRegisterExtensibilityPoint(extensibilityPointId, extensibilityPointHandler);
protected override void OnRegisterExtensibilityPoint(string extensibilityPointKey, IExtensibilityPointHandler extensibilityPoint) { lock (_extensionLock) { _extensibilityPoints.Add(extensibilityPointKey, extensibilityPoint); for (var i = _extensions.Count - 1; i >= 0; i--) { if (_extensions[i].ExtensibilityPointId == extensibilityPointKey) { extensibilityPoint.RegisterExtension(_extensions[i]); _extensions.RemoveAt(i); } } } }