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 PRE_PACKED_STRUCTURE
00037 class JackActivationCount
00038 {
00039
00040 private:
00041
00042 SInt32 fValue;
00043 SInt32 fCount;
00044
00045 public:
00046
00047 JackActivationCount(): fValue(0), fCount(0)
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 } POST_PACKED_STRUCTURE;
00078
00079 }
00080
00081
00082 #endif