namespace pg
{
- class Mutex;
+ class Lock;
/// ***** Header Class *****
class Autolock
{
public:
- Autolock(Mutex& mu);
- ~Autolock();
+ Autolock(Lock* plock); // LOCKS
+ ~Autolock(); // UNLOCKS
- void Lock();
- void Unlock();
+ void lock();
+ void unlock();
// hide copying methods!
private:
const Autolock& operator ==(const Autolock&);
private:
- Mutex& m_mu;
+ Lock* m_plock;
};
} // namespace pg
*/
-#ifndef MUTEX_H
-#define MUTEX_H
+#ifndef LOCK_H
+#define LOCK_H
class SDL_mutex;
/// ***** Header Class *****
- class Mutex
+ class Lock
{
public:
- Mutex();
- ~Mutex();
+ Lock();
+ ~Lock() {}
void init();
- void deinit();
+ void fini();
- bool IsValid();
+ bool isValid();
- void Lock();
- void Unlock();
+ void lock();
+ void unlock();
// hide copying methods!
private:
- Mutex(const Mutex&);
- const Mutex& operator ==(const Mutex&);
+ Lock(const Lock&);
+ const Lock& operator ==(const Lock&);
private:
SDL_mutex* m_pSDL_mutex;
} // namespace pg
-#endif // MUTEX_H
+#endif // LOCK_H
namespace debug
{
void init();
- void deinit();
+ void fini();
}
void DASSERT(bool fAssert);
#include <assert.h>
-#include "Mutex.h"
+#include "Lock.h"
#include "Autolock.h"
using namespace pg;
/// ***** Public Methods *****
-Mutex muDPF;
+Lock muDPF;
void pg::DPF(int iLevel, const char* pstr)
{
- Autolock lock(muDPF);
+ Autolock lock(&muDPF);
cout << pstr << endl;
}
muDPF.init();
}
-void pg::debug::deinit()
+void pg::debug::fini()
{
- muDPF.deinit();
+ muDPF.fini();
}
void pg::DASSERT(bool fAssert)
#include "Autolock.h"
-#include "Mutex.h"
+#include "Lock.h"
using namespace pg;
/// ***** Constructors/Destructors *****
-Autolock::Autolock(Mutex& mu)
- : m_mu(mu)
+Autolock::Autolock(Lock* plock)
+ : m_plock(plock)
{
- Lock();
+ lock();
}
Autolock::~Autolock()
{
- Unlock();
+ unlock();
}
-void Autolock::Lock()
+void Autolock::lock()
{
- m_mu.Lock();
+ m_plock->lock();
}
-void Autolock::Unlock()
+void Autolock::unlock()
{
- m_mu.Unlock();
+ m_plock->unlock();
}
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "Mutex.h"
+#include "Lock.h"
#include "debug.h"
#include <SDL/SDL.h>
using namespace pg;
-Mutex::Mutex()
+Lock::Lock()
: m_pSDL_mutex(NULL)
{
}
-Mutex::~Mutex()
-{
-
-}
-void Mutex::init()
+void Lock::init()
{
m_pSDL_mutex = SDL_CreateMutex();
}
-void Mutex::deinit()
+void Lock::fini()
{
SDL_DestroyMutex(m_pSDL_mutex);
m_pSDL_mutex = NULL;
}
-bool Mutex::IsValid()
+bool Lock::isValid()
{
return NULL != m_pSDL_mutex;
}
-void Mutex::Lock()
+void Lock::lock()
{
- DASSERT(IsValid());
+ DASSERT(isValid());
SDL_mutexP(m_pSDL_mutex);
m_uiThreadID = SDL_ThreadID();
}
-void Mutex::Unlock()
+void Lock::unlock()
{
- DASSERT(IsValid());
+ DASSERT(isValid());
DASSERT(m_uiThreadID == SDL_ThreadID());
SDL_mutexV(m_pSDL_mutex);
NEWSRCS := # insure blank
NEWSRCS += Autolock.cpp
-NEWSRCS += Mutex.cpp
+NEWSRCS += Lock.cpp
# Post dir setup