X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fxline.h;h=7c102c8825c7df6469fb22d3e52b61ab22e880ed;hb=79892a727e323dcc4bce7e9c0cf3c99c5fe61706;hp=5403a0933f7b117cc8cffcfdc5c5ea7d4bcf0a18;hpb=e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/xline.h b/include/xline.h index 5403a0933..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 */ @@ -520,9 +528,10 @@ class CoreExport XLineManager * will be expired and removed before the list is displayed. * @param type The type of stats to show * @param numeric The numeric to give to each result line - * @param user The username making the query - * @param results The string_list to receive the results + * @param stats Stats context */ - void InvokeStats(const std::string &type, int numeric, User* user, string_list &results); -}; + void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats); + /** Clears any XLines which were added by the server configuration. */ + void ClearConfigLines(); +};