anope

- supernets anope source code & configuration
git clone git://git.acid.vegas/anope.git
Log | Files | Refs | Archive | README

os_ignore.h (964B)

      1 /* OperServ ignore interface
      2  *
      3  * (C) 2003-2022 Anope Team
      4  * Contact us at team@anope.org
      5  *
      6  * Please read COPYING and README for further details.
      7  *
      8  * Based on the original code of Epona by Lara.
      9  * Based on the original code of Services by Andy Church.
     10  */
     11 
     12 struct IgnoreData
     13 {
     14 	Anope::string mask;
     15 	Anope::string creator;
     16 	Anope::string reason;
     17 	time_t time; /* When do we stop ignoring them? */
     18 
     19 	virtual ~IgnoreData() { }
     20  protected:
     21 	IgnoreData() : time(0) { }
     22 };
     23 
     24 class IgnoreService : public Service
     25 {
     26  protected:
     27 	IgnoreService(Module *c) : Service(c, "IgnoreService", "ignore") { }
     28 
     29  public:
     30 	virtual void AddIgnore(IgnoreData *) = 0;
     31 
     32 	virtual void DelIgnore(IgnoreData *) = 0;
     33 
     34 	virtual void ClearIgnores() = 0;
     35 
     36 	virtual IgnoreData *Create() = 0;
     37 
     38 	virtual IgnoreData *Find(const Anope::string &mask) = 0;
     39 
     40 	virtual std::vector<IgnoreData *> &GetIgnores() = 0;
     41 };
     42 
     43 static ServiceReference<IgnoreService> ignore_service("IgnoreService", "ignore");