]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/commands/cmd_who.h
Add fixes to stop people changing the SID of a live server - certain configuration...
[user/henk/code/inspircd.git] / include / commands / cmd_who.h
index 4448ddcefdf56c5031768d11c284b80e8c1cd612..87ea44449d08dd8ad7fad7cdc534cb2406de4a2a 100644 (file)
@@ -2,14 +2,11 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2006 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 /WHO
+/** Handle /WHO. 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_who : public command_t
+class CommandWho : public Command
 {
-       bool CanView(chanrec* chan, userrec* user);
+       bool CanView(Channel* chan, User* user);
        bool opt_viewopersonly;
        bool opt_showrealhost;
        bool opt_unlimit;
        bool opt_realname;
        bool opt_mode;
+       bool opt_ident;
+       bool opt_metadata;
+       bool opt_port;
+       bool opt_away;
+       bool opt_local;
+       bool opt_far;
  public:
-       cmd_who (InspIRCd* Instance) : command_t(Instance,"WHO",0,1) { syntax = "<server>|<nickname>|<channel>|<realname>|<host>|0 [ohurm]"; }
-       void SendWhoLine(userrec* user, const std::string &initial, chanrec* ch, userrec* u, std::vector<std::string> &whoresults);
-       CmdResult Handle(const char** parameters, int pcnt, userrec *user);
+       /** Constructor for who.
+        */
+       CommandWho (InspIRCd* Instance) : Command(Instance,"WHO", 0, 1, false, 2) { syntax = "<server>|<nickname>|<channel>|<realname>|<host>|0 [ohurmMiaplf]"; }
+       void SendWhoLine(User* user, const std::string &initial, Channel* ch, User* u, std::vector<std::string> &whoresults);
+       /** 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 char* const* parameters, int pcnt, User *user);
+       bool whomatch(User* user, const char* matchtext);
 };
 
 #endif