Vision Touch Surface Library
 All Classes Files Functions Variables Pages
gesturemanager.h
Go to the documentation of this file.
1 #ifndef GESTUREMANAGER_H
2 #define GESTUREMANAGER_H
3 
4 #include<boost/thread/mutex.hpp>
5 //#include<boost/thread/lock_guard.hpp>
6 #include <boost/thread/shared_lock_guard.hpp>
7 
8 
9 #include "framedata.h"
10 #include "ioeventmanager.h"
11 
25 {
26 private:
27 
28  int state;
29 protected:
32 
33 
34 //proably this should be protected and above private...
35 
38 
39  static const int STATUS_ACTIVE=0;
40  static const int STATUS_INACTIVE=-2;
41  static const int STATUS_INIT=-1;
42  static const int STATUS_FINISH=1;
43 
46 
47  boost::mutex iomanagerMutex;
48 
49  virtual void resetInitCounter();
50  virtual void resetEndCounter();
51 private:
52 
53 
54  virtual void decreaseInitCounter();
55  virtual void decreaseEndCounter();
56 
57  //EventData eventData;
58 public:
61  if( iomanager!=NULL ){
62  delete iomanager;
63  }
64  }
65 
74  virtual void updateStatus( FrameData & params );
75 
81  virtual bool isGestureDetected( FrameData & params ) = 0;
82 
89  virtual void generateGestureData( FrameData & params ) = 0;
90 
100  virtual void onStatusInit( FrameData & params ) = 0;
101 
108  virtual void onStatusActive( FrameData & params ) = 0;
109 
117  virtual void onStatusFinish( FrameData & params ) = 0;
118 
125  virtual void onStatusInactive( FrameData & params ) = 0;
126 
133  virtual void setIOManager(IOEventManager *eventManager );
134 
135  virtual IOEventManager * getIOManager();
136 
137  virtual bool isActive() const;
138 
139  int getCounterInitMax() const;
140  void setCounterInitMax(int value);
141  int getCounterEndMax() const;
142  void setCounterEndMax(int value);
143 
144 
145 };
146 
147 #endif // GESTUREMANAGER_H
148