/** 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
*/
Numeric(unsigned int num)
: numeric(num)
+ , sourceserver(NULL)
{
}
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
*/
/** 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");
- }
- };
-}