00001 #ifndef ILOCKABLE_H 00002 #define ILOCKABLE_H 00003 00004 #include <exception> 00005 00006 #include "common.h" 00007 00008 BOREALIS_NAMESPACE_BEGIN; 00009 00014 class ILockable 00015 { 00016 public: 00017 virtual void lock() 00018 throw (::std::exception) = 0; 00019 00020 virtual void unlock() 00021 throw (::std::exception) = 0; 00022 00023 virtual bool try_lock() 00024 throw (::std::exception) = 0; 00025 00026 }; 00027 00028 BOREALIS_NAMESPACE_END; 00029 00030 #endif