aboutsummaryrefslogtreecommitdiff
path: root/common/plugins.h
diff options
context:
space:
mode:
authorMax Horn2003-09-17 22:41:01 +0000
committerMax Horn2003-09-17 22:41:01 +0000
commitc1a678afeb5100a99030bb51782e5de98d771997 (patch)
treebae1b38145179bae284a14c983c9541db7644f8c /common/plugins.h
parent0b16afb067a7b3f09a97507675eaa4872a59df38 (diff)
downloadscummvm-rg350-c1a678afeb5100a99030bb51782e5de98d771997.tar.gz
scummvm-rg350-c1a678afeb5100a99030bb51782e5de98d771997.tar.bz2
scummvm-rg350-c1a678afeb5100a99030bb51782e5de98d771997.zip
new module 'base'; moved gameDetector.*, main.cpp and base/plugins.* there (this removes the need for an ugly hack in the build system, and is also conceptionally cleaner)
svn-id: r10282
Diffstat (limited to 'common/plugins.h')
-rw-r--r--common/plugins.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/common/plugins.h b/common/plugins.h
deleted file mode 100644
index 8257bf1a53..0000000000
--- a/common/plugins.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001 Ludvig Strigeus
- * Copyright (C) 2001-2003 The ScummVM project
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Header$
- *
- */
-
-#ifndef COMMON_PLUGINS_H
-#define COMMON_PLUGINS_H
-
-#include "common/list.h"
-
-class Engine;
-class GameDetector;
-class OSystem;
-struct TargetSettings;
-
-/**
- * Abstract base class for the plugin system.
- * Subclasses for this can be used to wrap both static and dynamic
- * plugins.
- */
-class Plugin {
-public:
- virtual void loadPlugin() {}
- virtual void unloadPlugin() {}
-
- virtual const char *getName() const = 0;
- virtual int getVersion() const = 0;
-
- virtual int countTargets() const;
- virtual const TargetSettings *getTargets() const = 0;
- virtual const TargetSettings *findTarget(const char *targetName) const;
-
- virtual Engine *createInstance(GameDetector *detector, OSystem *syst) const = 0;
-};
-
-
-/** List of plugins. */
-typedef ScummVM::List<Plugin *> PluginList;
-
-
-/**
- * Instances of this class manage all plugins, including loading them,
- * making wrapper objects of class Plugin available, and unloading them.
- *
- * @todo Add support for dynamic plugins (this may need additional API, e.g. for a plugin path)
- */
-class PluginManager {
-protected:
- PluginList _plugins;
-
-public:
- PluginManager();
- ~PluginManager();
-
- void loadPlugins();
- void unloadPlugins();
-
- const PluginList &getPlugins() { return _plugins; }
-};
-
-/**
- * Global, shared plugin manager.
- */
-extern PluginManager *g_pluginManager;
-
-#endif