public static bool Uninstall(SystemSignalHandler handler) { if (handler == null) { throw new ArgumentNullException("handler"); } return(Uninstall(handler.Signal)); }
public static bool Uninstall(Signals signum) { SystemSignalHandler handler = installedHandlers[signum] as SystemSignalHandler; if (handler == null) { return(false); } handler.Uninstall(); return(true); }
public static void Install(Type type, params object[] args) { if (type == null) { throw new ArgumentNullException("type"); } if (!typeof(SystemSignalHandler).IsAssignableFrom(type)) { throw new ArgumentException("The specified type '" + type + "' is not assignable from SystemSignalHandler."); } SystemSignalHandler handler = (SystemSignalHandler)Activator.CreateInstance(type, args); Install(handler); }
public static void Install(SystemSignalHandler handler) { if (handler == null) { throw new ArgumentNullException("handler"); } Signals signum = handler.Signal; if (installedHandlers.ContainsKey(signum)) { throw new InvalidOperationException("An handler for the system signal " + signum + " is already installed."); } handler.Install(); installedHandlers.Add(signum, handler); }