* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
* See: http://www.inspircd.org/wiki/index.php/Credits
*
* This program is free but copyrighted software; see
* does not have to know the specifics of the internals of an XLine class
* and/or how to call its constructor.
*/
-class CoreExport XLineFactory
+class CoreExport XLineFactory : public classbase
{
protected:
*/
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() { }
/** A map of XLines indexed by string
*/
-typedef std::map<std::string, XLine *> XLineLookup;
+typedef std::map<irc::string, XLine *> XLineLookup;
/** A map of XLineLookup maps indexed by string
*/
* or any other line created by a module. It also manages XLineFactory classes which
* can generate a specialized XLine for use by another module.
*/
-class CoreExport XLineManager
+class CoreExport XLineManager : public classbase
{
protected:
/** The owner/creator of this class
*/
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.
*/