aboutsummaryrefslogtreecommitdiff
path: root/common/system.h
diff options
context:
space:
mode:
authorMax Horn2006-04-02 14:16:31 +0000
committerMax Horn2006-04-02 14:16:31 +0000
commit9217472f0e4e801659c0a448dcbf57c28fd36ee2 (patch)
treeb880dfbd4a18f93f78931749004c3a4e128f2f59 /common/system.h
parent72f4a1c76cb8aedf6f953e57090134320d7291b8 (diff)
downloadscummvm-rg350-9217472f0e4e801659c0a448dcbf57c28fd36ee2.tar.gz
scummvm-rg350-9217472f0e4e801659c0a448dcbf57c28fd36ee2.tar.bz2
scummvm-rg350-9217472f0e4e801659c0a448dcbf57c28fd36ee2.zip
With this change, backends are now responsible for instantiating their OSystem class before calling scummvm_main (Note: PalmOS and Symbian are not yet converted, and won't work currently)
svn-id: r21557
Diffstat (limited to 'common/system.h')
-rw-r--r--common/system.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/common/system.h b/common/system.h
index 115b9e7afa..2c22fb4132 100644
--- a/common/system.h
+++ b/common/system.h
@@ -27,7 +27,6 @@
#include "common/scummsys.h"
#include "common/mutex.h"
#include "common/rect.h"
-#include "common/singleton.h"
namespace Graphics {
struct Surface;
@@ -47,10 +46,15 @@ namespace Common {
* methods to create timers, to handle user input events,
* control audio CD playback, and sound output.
*/
-class OSystem : public Common::Singleton<OSystem> {
+class OSystem {
+private:
+ // Prevent copying OSystem objects by accident.
+ OSystem(const OSystem&);
+ OSystem& operator= (const OSystem&);
+
protected:
- static OSystem *makeInstance();
- friend class Common::Singleton<SingletonBaseType>;
+ OSystem() { }
+ virtual ~OSystem() { }
public:
@@ -926,8 +930,8 @@ public:
};
-/** The global OSystem instance. Inited in main(). */
-#define g_system (&OSystem::instance())
+/** The global OSystem instance. Initialised in main(). */
+extern OSystem *g_system;
#endif