00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _SK_RT_THREAD_ABSTRACT_MUTEX_H_
00012 #define _SK_RT_THREAD_ABSTRACT_MUTEX_H_
00013
00014 #include <sk/util/Object.h>
00015
00016 namespace sk {
00017 namespace rt {
00018 namespace thread {
00019 namespace abstract {
00020 class Mutex
00021 : public virtual sk::util::Object
00022 {
00023 public:
00024 virtual void lock() = 0;
00025 virtual void unlock() = 0;
00026 virtual bool tryLock() = 0;
00027
00028 virtual bool hasEnterCount() const = 0;
00029 virtual int getEnterCount() const = 0;
00030 };
00031 }
00032 }
00033 }
00034 }
00035
00036 #endif