Added an abstract version of MutexManager. Deleted DefaultMutexManager, now it's NullMutexManager.

svn-id: r49556
This commit is contained in:
Alejandro Marzini 2010-06-10 03:18:16 +00:00
parent 7b63e8ae25
commit 1cebd33262
3 changed files with 23 additions and 16 deletions

View file

@ -23,8 +23,19 @@
*
*/
#include "backends/mutex/default/default-mutex.h"
#ifndef BACKENDS_MUTEX_ABSTRACT_H
#define BACKENDS_MUTEX_ABSTRACT_H
OSystem::MutexRef DefaultMutexManager::createMutex() {
return OSystem::MutexRef();
}
#include "common/system.h"
#include "common/noncopyable.h"
class MutexManager : Common::NonCopyable {
public:
virtual OSystem::MutexRef createMutex() = 0;
virtual void lockMutex(OSystem::MutexRef mutex) = 0;
virtual void unlockMutex(OSystem::MutexRef mutex) = 0;
virtual void deleteMutex(OSystem::MutexRef mutex) = 0;
};
#endif

View file

@ -23,21 +23,17 @@
*
*/
#ifndef BACKENDS_MUTEX_DEFAULT_H
#define BACKENDS_MUTEX_DEFAULT_H
#ifndef BACKENDS_MUTEX_NULL_H
#define BACKENDS_MUTEX_NULL_H
#include "common/system.h"
#include "common/noncopyable.h"
#include "backends/mutex/abstract-mutex.h"
class DefaultMutexManager : Common::NonCopyable {
class NullMutexManager : MutexManager {
public:
virtual ~DefaultMutexManager() {}
OSystem::MutexRef createMutex();
OSystem::MutexRef createMutex() { return OSystem::MutexRef(); }
void lockMutex(OSystem::MutexRef mutex) {}
void unlockMutex(OSystem::MutexRef mutex) {}
void deleteMutex(OSystem::MutexRef mutex);
void deleteMutex(OSystem::MutexRef mutex) {}
};
#endif

View file

@ -26,9 +26,9 @@
#ifndef BACKENDS_MUTEX_SDL_H
#define BACKENDS_MUTEX_SDL_H
#include "backends/mutex/default/default-mutex.h"
#include "backends/mutex/abstract-mutex.h"
class SdlMutexManager : public DefaultMutexManager {
class SdlMutexManager : public MutexManager {
public:
OSystem::MutexRef createMutex();
void lockMutex(OSystem::MutexRef mutex);