Ejemplo n.º 1
0
 /// <summary> Adds a new IP Ban. </summary>
 /// <param name="ban"> Ban information </param>
 /// <param name="raiseEvent"> Whether AddingIPBan and AddedIPBan events should be raised. </param>
 /// <returns> True if ban was added, false if it was already on the list or if it has been canceled by a plugin. </returns>
 public static bool Add([NotNull] IPBanInfo ban, bool raiseEvent)
 {
     if (ban == null)
     {
         throw new ArgumentNullException("ban");
     }
     lock ( BanListLock ) {
         if (Bans.ContainsKey(ban.Address.ToString()))
         {
             return(false);
         }
         if (raiseEvent)
         {
             if (!RaiseAddingIPBanEvent(ban))
             {
                 return(false);
             }
             Bans.Add(ban.Address.ToString(), ban);
             AddedIPBanEvent.Raise(new IPBanEventArgs(ban));
         }
         else
         {
             Bans.Add(ban.Address.ToString(), ban);
         }
         Save();
         return(true);
     }
 }
Ejemplo n.º 2
0
 public static void AddedIPBanPriority([NotNull] EventHandler <IPBanEventArgs> callback, Priority priority)
 {
     if (callback == null)
     {
         throw new ArgumentNullException("callback");
     }
     AddedIPBanEvent.Add(callback, priority);
 }