]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/commands/cmd_nick.h
Properly name the windows service error constants and put proper descriptions in...
[user/henk/code/inspircd.git] / include / commands / cmd_nick.h
index 2e8b198d022738dd08df617b4d857bc7c0da1edb..18c65b5871cd96f12a3da17cc8075e39586a89fe 100644 (file)
@@ -2,14 +2,11 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2007 ChatSpike-Dev.
- *                       E-mail:
- *                <brain@chatspike.net>
- *                <Craig@chatspike.net>
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
  *
- * Written by Craig Edwards, Craig McLure, and others.
  * This program is free but copyrighted software; see
- *            the file COPYING for details.
+ *      the file COPYING for details.
  *
  * ---------------------------------------------------
  */
 #include "users.h"
 #include "channels.h"
 
-/** Handle /NICK
+/** Handle /NICK. These command handlers can be reloaded by the core,
+ * and handle basic RFC1459 commands. Commands within modules work
+ * the same way, however, they can be fully unloaded, where these
+ * may not.
  */
-class cmd_nick : public command_t
+class CommandNick : public Command
 {
+       bool allowinvalid;
  public:
-        cmd_nick (InspIRCd* Instance) : command_t(Instance,"NICK",0,1,true) { syntax = "<newnick>"; }
-        CmdResult Handle(const char** parameters, int pcnt, userrec *user);
+       /** Constructor for nick.
+        */
+       CommandNick (InspIRCd* Instance) : Command(Instance,"NICK", 0, 1, true, 3), allowinvalid(false) { syntax = "<newnick>"; }
+       /** Handle command.
+        * @param parameters The parameters to the comamnd
+        * @param pcnt The number of parameters passed to teh command
+        * @param user The user issuing the command
+        * @return A value from CmdResult to indicate command success or failure.
+        */
+       CmdResult Handle(const std::vector<std::string>& parameters, User *user);
+
+       /** Handle internal command
+        * @param id Used to indicate if invalid nick changes are allowed.
+        * Set to 1 to allow invalid nicks and 0 to deny them.
+        * @param parameters Currently unused
+        */
+       CmdResult HandleInternal(const unsigned int id, const std::deque<classbase*> &parameters);
 };
 
 #endif