X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fxline.h;h=7c102c8825c7df6469fb22d3e52b61ab22e880ed;hb=79892a727e323dcc4bce7e9c0cf3c99c5fe61706;hp=c2ede29dfb458c2904761fa8f0734d8d8b615a56;hpb=c0aba5b728b0a921d95ec120aa638dab1520b42f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/xline.h b/include/xline.h index c2ede29df..7c102c882 100644 --- a/include/xline.h +++ b/include/xline.h @@ -50,7 +50,12 @@ class CoreExport XLine : public classbase * @param t The line type, should be set by the derived class constructor */ XLine(time_t s_time, long d, std::string src, std::string re, const std::string &t) - : set_time(s_time), duration(d), source(src), reason(re), type(t) + : set_time(s_time) + , duration(d) + , source(src) + , reason(re) + , type(t) + , from_config(false) { expiry = set_time + duration; } @@ -140,6 +145,9 @@ class CoreExport XLine : public classbase */ const std::string type; + // Whether this XLine was loaded from the server config. + bool from_config; + virtual bool IsBurstable(); }; @@ -170,15 +178,15 @@ class CoreExport KLine : public XLine { } - virtual bool Matches(User *u); + bool Matches(User* u) CXX11_OVERRIDE; - virtual bool Matches(const std::string &str); + bool Matches(const std::string& str) CXX11_OVERRIDE; - virtual void Apply(User* u); + void Apply(User* u) CXX11_OVERRIDE; - virtual const std::string& Displayable(); + const std::string& Displayable() CXX11_OVERRIDE; - virtual bool IsBurstable(); + bool IsBurstable() CXX11_OVERRIDE; /** Ident mask (ident part only) */ @@ -216,13 +224,13 @@ class CoreExport GLine : public XLine { } - virtual bool Matches(User *u); + bool Matches(User* u) CXX11_OVERRIDE; - virtual bool Matches(const std::string &str); + bool Matches(const std::string& str) CXX11_OVERRIDE; - virtual void Apply(User* u); + void Apply(User* u) CXX11_OVERRIDE; - virtual const std::string& Displayable(); + const std::string& Displayable() CXX11_OVERRIDE; /** Ident mask (ident part only) */ @@ -258,15 +266,15 @@ class CoreExport ELine : public XLine { } - virtual bool Matches(User *u); + bool Matches(User* u) CXX11_OVERRIDE; - virtual bool Matches(const std::string &str); + bool Matches(const std::string& str) CXX11_OVERRIDE; - virtual void Unset(); + void Unset() CXX11_OVERRIDE; - virtual void OnAdd(); + void OnAdd() CXX11_OVERRIDE; - virtual const std::string& Displayable(); + const std::string& Displayable() CXX11_OVERRIDE; /** Ident mask (ident part only) */ @@ -301,13 +309,13 @@ class CoreExport ZLine : public XLine { } - virtual bool Matches(User *u); + bool Matches(User* u) CXX11_OVERRIDE; - virtual bool Matches(const std::string &str); + bool Matches(const std::string& str) CXX11_OVERRIDE; - virtual void Apply(User* u); + void Apply(User* u) CXX11_OVERRIDE; - virtual const std::string& Displayable(); + const std::string& Displayable() CXX11_OVERRIDE; /** IP mask (no ident part) */ @@ -336,13 +344,13 @@ class CoreExport QLine : public XLine ~QLine() { } - virtual bool Matches(User *u); + bool Matches(User* u) CXX11_OVERRIDE; - virtual bool Matches(const std::string &str); + bool Matches(const std::string& str) CXX11_OVERRIDE; - virtual void Apply(User* u); + void Apply(User* u) CXX11_OVERRIDE; - virtual const std::string& Displayable(); + const std::string& Displayable() CXX11_OVERRIDE; /** Nickname mask */ @@ -523,4 +531,7 @@ class CoreExport XLineManager * @param stats Stats context */ void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats); + + /** Clears any XLines which were added by the server configuration. */ + void ClearConfigLines(); };