1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2012 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
25 #include "nel/misc/types_nl.h"
28 /// Function to release all things allocated for commands.
29 void releaseCommands();
32 * User command class. This NeL command is binded to an action handler with the commands.xml file.
34 class CUserCommand
: public NLMISC::ICommand
43 std::vector
<std::string
> Keywords
;
46 CUserCommand (const std::string
&commandName
, const std::string
&help
, const std::string
&argsHelp
);
48 void addMode (const std::string
&action
, uint numArg
, bool infiniteAgr
, const std::vector
<std::string
> &keywords
);
51 virtual bool execute(const std::string
&rawCommandString
, const std::vector
<std::string
> &args
, NLMISC::CLog
&log
, bool quiet
, bool human
);
54 static void createCommand (const char *name
, const char *action
, const char *params
);
57 static void release();
60 static std::map
<std::string
, CUserCommand
*> CommandMap
;
64 std::map
<uint
, CMode
> FixedArgModes
;
65 std::string CommandName
;
69 #endif // CL_COMMANDS_H
71 /* End of console.h */