X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fxline.h;h=8ac21f98841f61aebbb802148f492f94b07165fb;hb=c71db5cbdece1b5ce878c68f162acb52eff8becd;hp=2670f4babbb9457b5fc8454ebc6371727aa5b077;hpb=4f946291b7fd022b50fe5aacb9b851cebfbb2278;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/xline.h b/include/xline.h index 2670f4bab..8ac21f988 100644 --- a/include/xline.h +++ b/include/xline.h @@ -2,8 +2,8 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. @@ -121,15 +121,15 @@ class CoreExport XLine : public classbase /** The time the line was added. */ time_t set_time; - + /** The duration of the ban, or 0 if permenant */ long duration; - + /** Source of the ban. This can be a servername or an oper nickname */ char* source; - + /** Reason for the ban */ char* reason; @@ -378,7 +378,7 @@ class CoreExport QLine : public XLine */ typedef std::pair IdentHostPair; -/** XLineFactory is used to generate an XLine pointer, given just the +/** XLineFactory is used to generate an XLine pointer, given just the * pattern, timing information and type of line to create. This is used * for example in the spanningtree module which will call an XLineFactory * to create a new XLine when it is inbound on a server link, so that it @@ -399,7 +399,7 @@ class CoreExport XLineFactory : public classbase * @param t Type of XLine this factory generates */ XLineFactory(InspIRCd* Instance, const std::string &t) : ServerInstance(Instance), type(t) { } - + /** Return the type of XLine this factory generates * @return The type of XLine this factory generates */ @@ -415,6 +415,8 @@ class CoreExport XLineFactory : public classbase */ virtual XLine* Generate(time_t set_time, long duration, const char* source, const char* reason, const char* xline_specific_mask) = 0; + virtual bool AutoApplyToUserList(XLine* x) { return true; } + /** Destructor */ virtual ~XLineFactory() { } @@ -437,7 +439,7 @@ typedef std::map XLineFactMap; /** A map of XLines indexed by string */ -typedef std::map XLineLookup; +typedef std::map XLineLookup; /** A map of XLineLookup maps indexed by string */ @@ -515,6 +517,10 @@ class CoreExport XLineManager : public classbase */ XLineLookup* GetAll(const std::string &type); + /** Remove all lines of a certain type. + */ + void DelAll(const std::string &type); + /** Return all known types of line currently stored by the XLineManager. * @return A vector containing all known line types currently stored in the main list. */ @@ -541,7 +547,7 @@ class CoreExport XLineManager : public classbase * will generate a new XLine specialized to that type. For example if you * pass the XLineFactory that handles glines some data it will return a * pointer to a GLine, polymorphically represented as XLine. This is used where - * you do not know the full details of the item you wish to create, e.g. in a + * you do not know the full details of the item you wish to create, e.g. in a * server protocol module like m_spanningtree, when you receive xlines from other * servers. * @param xlf XLineFactory pointer to register @@ -675,4 +681,3 @@ class CoreExport ZLineFactory : public XLineFactory }; #endif -