*/\r
\r
/**\r
- * @file ILockable.h\r
+ * @file Lockable.h\r
* \r
* Locking abstraction \r
*/\r
\r
-#if !defined(__xmltooling_lockable_h__)\r
+#ifndef __xmltooling_lockable_h__\r
#define __xmltooling_lockable_h__\r
\r
#include <xmltooling/base.h>\r
/**\r
* Abstract mixin interface for interfaces that support locking\r
*/\r
- struct XMLTOOL_API ILockable\r
+ struct XMLTOOL_API Lockable\r
{\r
- virtual ~ILockable() {}\r
+ virtual ~Lockable() {}\r
\r
/**\r
* Lock the associated object for exclusive access.\r
* \r
* @return a reference to the object being locked\r
*/\r
- virtual ILockable& lock()=0;\r
+ virtual Lockable& lock()=0;\r
\r
/**\r
* Unlock the associated object from exclusive access.\r
* \r
* @param lockee Pointer to an object to lock and hold\r
*/\r
- Locker(ILockable* lockee) : m_lockee(lockee->lock()) {}\r
+ Locker(Lockable* lockee) : m_lockee(lockee->lock()) {}\r
\r
/**\r
* Locks an object and stores it for later release.\r
* \r
* @param lockee Reference to an object to lock and hold\r
*/\r
- Locker(ILockable& lockee) : m_lockee(lockee.lock()) {}\r
+ Locker(Lockable& lockee) : m_lockee(lockee.lock()) {}\r
\r
/**\r
* Releases lock on held pointer, if any.\r
*/\r
~Locker() {m_lockee.unlock();}\r
private:\r
- ILockable& m_lockee;\r
+ Lockable& m_lockee;\r
};\r
\r
};\r