/* src/client/command_db.h
*
- * The Command DB collects identifiers and verbal descriptions of all commands
- * the user can give.
+ * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
+ * or any later version. For details on its copyright, license, and warranties,
+ * see the file NOTICE in the root directory of the PlomRogue source package.
+ *
+ * The Command DB collects the commands available to the user by internal name,
+ * description and, optionally, components of a message to send to the server
+ * when calling it.
*/
#ifndef COMMAND_DB_H
struct Command
{
- char * dsc_short; /* short string name of command to be used internally */
- char * dsc_long; /* long string description of command for the user */
+ char * dsc_short; /* short name of command to be used internally */
+ char * dsc_long; /* long description of command to be shown to the user */
+ char * server_msg; /* optionally start string of message to send to server*/
+ char arg; /* defines server message suffix by try_server_commands() rules */
};
struct CommandDB
-/* Give short description of command ("dsc_short"), get long description. */
-extern char * get_command_longdsc(char * dsc_short);
+/* Return Command struct for command described by its "dsc_short" member. Return
+ * NULL if no such command is found.
+ */
+extern struct Command * get_command(char * dsc_short);
-/* Reads CommandDB from CommandDB file, line by line, until first empty line. */
+/* Read in CommandDB config file. */
extern void init_command_db();
/* Free all memory allocated with init_command_db. */