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 "JackPlatformPlug.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
00049 bool Signal(JackSynchro* synchro, JackClientControl* control);
00050
00051 inline void Reset()
00052 {
00053 fValue = fCount;
00054 }
00055
00056 inline void SetValue(int val)
00057 {
00058 fCount = val;
00059 }
00060
00061 inline void IncValue()
00062 {
00063 fCount++;
00064 }
00065
00066 inline void DecValue()
00067 {
00068 fCount--;
00069 }
00070
00071 inline int GetValue() const
00072 {
00073 return fValue;
00074 }
00075
00076 };
00077
00078 }
00079
00080
00081 #endif