ScummVM API documentation
command.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
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 General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef MUTATIONOFJB_COMMAND_H
23#define MUTATIONOFJB_COMMAND_H
24
25namespace Common {
26class String;
27}
28
29namespace MutationOfJB {
30
31class Command;
32class ScriptExecutionContext;
33class ScriptParseContext;
34
41public:
42 virtual ~CommandParser();
43
54 virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command) = 0;
55
70 virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser);
71
79 virtual void finish(ScriptParseContext &parseCtx);
80};
81
85class Command {
86public:
87 enum ExecuteResult {
88 None,
89 Finished,
90 InProgress
91 };
92
93 virtual ~Command();
94
95 virtual ExecuteResult execute(ScriptExecutionContext &scriptExecCtx) = 0;
96 virtual Command *next() const = 0;
97
98 virtual Common::String debugString() const = 0;
99};
100
101}
102
103#endif
Definition: str.h:59
Definition: command.h:85
Definition: command.h:40
virtual bool parse(const Common::String &line, ScriptParseContext &parseCtx, Command *&command)=0
virtual void transition(ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser)
virtual void finish(ScriptParseContext &parseCtx)
Definition: script.h:106
Definition: script.h:71
Definition: algorithm.h:29