public static void DurringOverrideAddSecondary(PLCLimitChangedEvent Handl) { lock (eventLock) { LimitEvent += Handl; handles.Add(Handl); } }
/// <summary> /// override all exsisting limit events and replace them with Handl /// </summary> /// <param name="Handl"></param> public static void OverrideLimitHandlers(PLCLimitChangedEvent Handl) { lock (eventLock) { overriden = true; LimitEvent = Handl; } }
/// <summary> /// set the default event handler for limit switch events, idealy this should only be called once /// </summary> /// <param name="_defa"></param> public static void setDefaultLimitHandler(PLCLimitChangedEvent _defa) { lock (eventLock) { defaultHandler = _defa; LimitEvent = defaultHandler; } }
/// <summary> /// add a limit handle for limit events /// </summary> /// <param name="Handl"></param> public static void addLimitHandler(PLCLimitChangedEvent Handl) { lock (eventLock) { if (!overriden) { LimitEvent += Handl; } handles.Add(Handl); } }
public static void DuringOverrideRemoveSecondary(PLCLimitChangedEvent Handl) { lock (eventLock) { try { LimitEvent -= Handl; } catch { } try { handles.Remove(Handl); } catch { } } }
/// <summary> /// remove the passed event Handle /// </summary> /// <param name="Handl"></param> public static void RemoveLimitHandler(PLCLimitChangedEvent Handl) { lock (eventLock) { try { if (!overriden) { LimitEvent -= Handl; } } catch { } try { handles.Remove(Handl); } catch { } } }