]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_away.cpp
Annotations
[user/henk/code/inspircd.git] / src / cmd_away.cpp
index 4623dc7f78a2ca7e860a74f8b948802f278ba987..aecc711e4e329e5973ce504172b51e9fbd829018 100644 (file)
  * ---------------------------------------------------
  */
 
-using namespace std;
-
-#include "inspircd_config.h"
-#include "inspircd.h"
-#include "inspircd_io.h"
-#include <string>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
+#include "configreader.h"
 #include "users.h"
-#include "ctables.h"
-#include "globals.h"
 #include "modules.h"
-#include "message.h"
-#include "commands.h"
-#include "inspstring.h"
-#include "dnsqueue.h"
-#include "helperfuncs.h"
-#include "hashcomp.h"
-#include "typedefs.h"
-#include "cmd_away.h"
+#include "commands/cmd_away.h"
+
 
-extern ServerConfig* Config;
-extern InspIRCd* ServerInstance;
 
-void cmd_away::Handle (char **parameters, int pcnt, userrec *user)
+extern "C" command_t* init_command(InspIRCd* Instance)
 {
-       if (pcnt)
+       return new cmd_away(Instance);
+}
+
+CmdResult cmd_away::Handle (const char** parameters, int pcnt, userrec *user)
+{
+       if ((pcnt) && (*parameters[0]))
        {
                strlcpy(user->awaymsg,parameters[0],MAXAWAY);
-               WriteServ(user->fd,"306 %s :You have been marked as being away",user->nick);
+               user->WriteServ("306 %s :You have been marked as being away",user->nick);
                FOREACH_MOD(I_OnSetAway,OnSetAway(user));
        }
        else
        {
                *user->awaymsg = 0;
-               WriteServ(user->fd,"305 %s :You are no longer marked as being away",user->nick);
+               user->WriteServ("305 %s :You are no longer marked as being away",user->nick);
                FOREACH_MOD(I_OnCancelAway,OnCancelAway(user));
        }
+       return CMD_SUCCESS;
 }
-
-