Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
debug_cmd.h
Go to the documentation of this file.
1/*
2** Command & Conquer Generals Zero Hour(tm)
3** Copyright 2025 Electronic Arts Inc.
4**
5** This program is free software: you can redistribute it and/or modify
6** it under the terms of the GNU General Public License as published by
7** the Free Software Foundation, either version 3 of the License, or
8** (at your option) any later version.
9**
10** This program is distributed in the hope that it will be useful,
11** but WITHOUT ANY WARRANTY; without even the implied warranty of
12** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13** GNU General Public License for more details.
14**
15** You should have received a copy of the GNU General Public License
16** along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
20// $File: //depot/GeneralsMD/Staging/code/Libraries/Source/debug/debug_cmd.h $
21// $Author: mhoffe $
22// $Revision: #1 $
23// $DateTime: 2003/07/03 11:55:26 $
24//
25// ©2003 Electronic Arts
26//
27// Debug command interface
29#ifdef _MSC_VER
30# pragma once
31#endif
32#ifndef DEBUG_CMD_H // Include guard
33#define DEBUG_CMD_H
34
51class DebugCmdInterface
52{
53 // no copy/assign op
54 DebugCmdInterface(const &DebugCmdInterface);
55 DebugCmdInterface& operator=(const DebugCmdInterface&);
56
57protected:
58 // nobody can call this destructor (except child classes)
59 virtual ~DebugCmdInterface() {}
60
61public:
62 // interface only so no functionality here
63 explicit DebugCmdInterface(void) {}
64
67 {
70
73
75 };
76
90 virtual bool Execute(class Debug& dbg, const char *cmd, CommandMode cmdmode,
91 unsigned argn, const char * const * argv)=0;
92
98 virtual void Delete(void)=0;
99};
100
109
110#ifdef DOXYGEN
111
120 #define DEBUG_CREATE_COMMAND_GROUP(groupname,type)
121
122#else
123
124 #define DEBUG_CREATE_COMMAND_GROUP(groupname,type) \
125 static bool __RegisterDebugCmdGroup_##type=Debug::AddCommands(#groupname,new type);
126
127#endif
128
130
131#endif // DEBUG_CMD_H
CommandMode
possible command modes
Definition debug_cmd.h:67
@ Normal
normal command mode
Definition debug_cmd.h:69
@ Structured
structured command mode
Definition debug_cmd.h:72
virtual void Delete(void)=0
Destroys the current command interface.
virtual ~DebugCmdInterface()
Definition debug_cmd.h:59
DebugCmdInterface(void)
Definition debug_cmd.h:63
virtual bool Execute(class Debug &dbg, const char *cmd, CommandMode cmdmode, unsigned argn, const char *const *argv)=0
Execute the given command.
Debug module main class (singleton).
Definition debug_debug.h:45