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
00026 namespace Jack
00027 {
00028
00029 struct JackClientControl;
00030
00035 class JackActivationCount
00036 {
00037
00038 private:
00039
00040 long fValue;
00041 long fCount;
00042
00043 public:
00044
00045 JackActivationCount(): fValue(0), fCount(0)
00046 {}
00047 virtual ~JackActivationCount()
00048 {}
00049
00050 bool Signal(JackSynchro* synchro, JackClientControl* control);
00051
00052 inline void Reset()
00053 {
00054 fValue = fCount;
00055 }
00056
00057 inline void SetValue(int val)
00058 {
00059 fCount = val;
00060 }
00061
00062 inline void IncValue()
00063 {
00064 fCount++;
00065 }
00066
00067 inline void DecValue()
00068 {
00069 fCount--;
00070 }
00071
00072 inline int GetValue() const
00073 {
00074 return fValue;
00075 }
00076
00077 };
00078
00079 }
00080
00081
00082 #endif
00083