#ifndef __XLINE_H
#define __XLINE_H
-#include <string>
-#include <deque>
-#include <vector>
+//#include <string>
+//#include <deque>
+//#include <vector>
/** XLine is the base class for ban lines such as G lines and K lines.
* Modules may derive from this, and their xlines will automatically be
* type of line this is.
*/
const std::string type;
+
+ virtual bool IsBurstable();
};
/** KLine class
virtual const char* Displayable();
+ virtual bool IsBurstable();
+
/** Ident mask (ident part only)
*/
char* identmask;
* 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() { }
* 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