00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackActivationCount__
00021 #define __JackActivationCount__
00022
00023 #include "JackSynchro.h"
00024 #include "JackTime.h"
00025 #include "JackTypes.h"
00026
00027 namespace Jack
00028 {
00029
00030 struct JackClientControl;
00031
00036 class JackActivationCount
00037 {
00038
00039 private:
00040
00041 SInt32 fValue;
00042 SInt32 fCount;
00043
00044 public:
00045
00046 JackActivationCount(): fValue(0), fCount(0)
00047 {}
00048 virtual ~JackActivationCount()
00049 {}
00050
00051 bool Signal(JackSynchro* synchro, JackClientControl* control);
00052
00053 inline void Reset()
00054 {
00055 fValue = fCount;
00056 }
00057
00058 inline void SetValue(int val)
00059 {
00060 fCount = val;
00061 }
00062
00063 inline void IncValue()
00064 {
00065 fCount++;
00066 }
00067
00068 inline void DecValue()
00069 {
00070 fCount--;
00071 }
00072
00073 inline int GetValue() const
00074 {
00075 return fValue;
00076 }
00077
00078 };
00079
00080 }
00081
00082
00083 #endif
00084