diff options
author | Eugene Sandulenko | 2010-09-12 08:08:37 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-09-12 08:08:37 +0000 |
commit | 74118a70878f0b6efcba73f8410a7f661949bcf6 (patch) | |
tree | a4c22ffcbb86fbad22b50c5b4a6405a60920be0b /engines/testbed/testbed.h | |
parent | 6bc9340df55d05ad7aa6b14348a567304ff41cc7 (diff) | |
parent | a4a28eb16e3f2c9d1f4e79120b359821d731eecf (diff) | |
download | scummvm-rg350-74118a70878f0b6efcba73f8410a7f661949bcf6.tar.gz scummvm-rg350-74118a70878f0b6efcba73f8410a7f661949bcf6.tar.bz2 scummvm-rg350-74118a70878f0b6efcba73f8410a7f661949bcf6.zip |
TESTBED: Merge gsoc2010-testbed branch
svn-id: r52681
Diffstat (limited to 'engines/testbed/testbed.h')
-rw-r--r-- | engines/testbed/testbed.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/engines/testbed/testbed.h b/engines/testbed/testbed.h new file mode 100644 index 0000000000..3959865cfd --- /dev/null +++ b/engines/testbed/testbed.h @@ -0,0 +1,85 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + */ + +#ifndef TESTBED_H +#define TESTBED_H + +#include "engines/engine.h" + +#include "gui/options.h" + +#include "testbed/config.h" +#include "testbed/testsuite.h" + +namespace Testbed { + +class TestbedConfigManager; + +enum { + kTestbedLogOutput = 1 << 0, + kTestbedEngineDebug = 1 << 2, + kCmdRerunTestbed = 'crtb' +}; + +class TestbedEngine : public Engine { +public: + TestbedEngine(OSystem *syst); + ~TestbedEngine(); + + virtual Common::Error run(); + + /** + * Invokes configured testsuites. + */ + void invokeTestsuites(TestbedConfigManager &cfMan); + + bool hasFeature(EngineFeature f) const; + +private: + Common::Array<Testsuite *> _testsuiteList; +}; + +class TestbedExitDialog : public TestbedInteractionDialog { +public: + TestbedExitDialog(Common::Array<Testsuite *> &testsuiteList) : TestbedInteractionDialog(80, 60, 500, 320), _rerun(false), + _testsuiteList(testsuiteList) {} + ~TestbedExitDialog() {} + void init(); + void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data); + void run() { runModal(); } + bool rerunRequired() { + if (_rerun) { + _rerun = false; + return true; + } + return false; + } +private: + bool _rerun; + Common::Array<Testsuite *> &_testsuiteList; +}; + +} // End of namespace Testbed + +#endif // TESTBED_H |