add new sigc++2 directory
[ardour.git] / libs / surfaces / powermate / powermate.h
1 #ifndef ardour_powermate_h
2 #define ardour_powermate_h
3
4 #include <sys/time.h>
5 #include <pthread.h>
6
7 #include "control_protocol/control_protocol.h"
8
9 class PowermateControlProtocol : public ARDOUR::ControlProtocol
10 {
11   public:
12         PowermateControlProtocol (ARDOUR::Session&);
13         virtual ~PowermateControlProtocol();
14
15         int set_active (bool yn);
16         static bool probe ();
17
18         XMLNode& get_state ();
19         int set_state (const XMLNode&);
20
21   private:
22         
23         static void* SerialThreadEntry (void* arg);
24         void* SerialThread ();
25         
26         void    ProcessEvent(struct input_event *ev);
27         
28         int                     mPort;
29         pthread_t               mThread;
30
31 };
32
33
34 #endif