]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/numeric.h
Redo OnSetEndPoint logic to fix duplicate clones (#1549).
[user/henk/code/inspircd.git] / include / numeric.h
index e7438b53a326c65b822c896b1d2b1fdf2d895c2a..cc9f9cc9bbd7f7206631b9517e4c6bc6ca136224 100644 (file)
@@ -34,7 +34,11 @@ class Numeric::Numeric
 
        /** Parameters of the numeric
         */
-       std::vector<std::string> params;
+       CommandBase::Params params;
+
+       /** Source server of the numeric, if NULL (the default) then it is the local server
+        */
+       Server* sourceserver;
 
  public:
        /** Constructor
@@ -42,6 +46,7 @@ class Numeric::Numeric
         */
        Numeric(unsigned int num)
                : numeric(num)
+               , sourceserver(NULL)
        {
        }
 
@@ -55,6 +60,16 @@ class Numeric::Numeric
                return *this;
        }
 
+       /** Set the source server of the numeric. The source server defaults to the local server.
+        * @param server Server to set as source
+        */
+       void SetServer(Server* server) { sourceserver = server; }
+
+       /** Get the source server of the numeric
+        * @return Source server or NULL if the source is the local server
+        */
+       Server* GetServer() const { return sourceserver; }
+
        /** Get the number of the numeric as an unsigned integer
         * @return Numeric number as an unsigned integer
         */
@@ -63,26 +78,10 @@ class Numeric::Numeric
        /** Get the parameters of the numeric
         * @return Parameters of the numeric as a const vector of strings
         */
-       const std::vector<std::string>& GetParams() const { return params; }
+       const CommandBase::Params& GetParams() const { return params; }
 
        /** Get the parameters of the numeric
         * @return Parameters of the numeric as a vector of strings
         */
-       std::vector<std::string>& GetParams() { return params; }
+       CommandBase::Params& GetParams() { return params; }
 };
-
-namespace Numerics
-{
-       /** ERR_NOSUCHNICK numeric
-        */
-       class NoSuchNick : public Numeric::Numeric
-       {
-        public:
-               NoSuchNick(const std::string& nick)
-                       : Numeric(ERR_NOSUCHNICK)
-               {
-                       push(nick);
-                       push("No such nick/channel");
-               }
-       };
-}