+
+class CommandIJoin : public ServerCommand
+{
+ public:
+ CommandIJoin(Module* Creator) : ServerCommand(Creator, "IJOIN", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& params);
+};
+
+class CommandResync : public ServerCommand
+{
+ public:
+ CommandResync(Module* Creator) : ServerCommand(Creator, "RESYNC", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandAway : public ServerCommand
+{
+ public:
+ CommandAway(Module* Creator) : ServerCommand(Creator, "AWAY", 0, 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandAddLine : public ServerCommand
+{
+ public:
+ CommandAddLine(Module* Creator) : ServerCommand(Creator, "ADDLINE", 6, 6) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandDelLine : public ServerCommand
+{
+ public:
+ CommandDelLine(Module* Creator) : ServerCommand(Creator, "DELLINE", 2, 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandEncap : public ServerCommand
+{
+ public:
+ CommandEncap(Module* Creator) : ServerCommand(Creator, "ENCAP", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters);
+};
+
+class CommandIdle : public ServerCommand
+{
+ public:
+ CommandIdle(Module* Creator) : ServerCommand(Creator, "IDLE", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters) { return ROUTE_UNICAST(parameters[0]); }
+};
+
+class CommandNick : public ServerCommand
+{
+ public:
+ CommandNick(Module* Creator) : ServerCommand(Creator, "NICK", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandPing : public ServerCommand
+{
+ public:
+ CommandPing(Module* Creator) : ServerCommand(Creator, "PING", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters) { return ROUTE_UNICAST(parameters[0]); }
+};
+
+class CommandPong : public ServerCommand
+{
+ public:
+ CommandPong(Module* Creator) : ServerCommand(Creator, "PONG", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters) { return ROUTE_UNICAST(parameters[0]); }
+};
+
+class CommandPush : public ServerCommand
+{
+ public:
+ CommandPush(Module* Creator) : ServerCommand(Creator, "PUSH", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters) { return ROUTE_UNICAST(parameters[0]); }
+};
+
+class CommandSave : public ServerCommand
+{
+ public:
+ CommandSave(Module* Creator) : ServerCommand(Creator, "SAVE", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandServer : public ServerCommand
+{
+ public:
+ CommandServer(Module* Creator) : ServerCommand(Creator, "SERVER", 5) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandSQuit : public ServerCommand
+{
+ public:
+ CommandSQuit(Module* Creator) : ServerCommand(Creator, "SQUIT", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandSNONotice : public ServerCommand
+{
+ public:
+ CommandSNONotice(Module* Creator) : ServerCommand(Creator, "SNONOTICE", 2) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandVersion : public ServerCommand
+{
+ public:
+ CommandVersion(Module* Creator) : ServerCommand(Creator, "VERSION", 1) { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandBurst : public ServerCommand
+{
+ public:
+ CommandBurst(Module* Creator) : ServerCommand(Creator, "BURST") { }
+ CmdResult Handle(User* user, std::vector<std::string>& parameters);
+};
+
+class CommandEndBurst : public ServerCommand