enhanced & corrected AtmoLight filter module
[vlc.git] / modules / video_filter / atmo / AtmoClassicConnection.h
1 /*
2  * AtmoCom.h: Class for communication with the serial hardware of Atmo Light,
3  * opens and configures the serial port
4  *
5  * See the README.txt file for copyright information and how to reach the author(s).
6  *
7  * $Id$
8  */
9 #ifndef _AtmoClassicConnection_h_
10 #define _AtmoClassicConnection_h_
11
12 #include "AtmoDefs.h"
13 #include "AtmoConnection.h"
14 #include "AtmoConfig.h"
15
16 #if defined(WIN32)
17 #   include <windows.h>
18 #endif
19
20
21 class CAtmoClassicConnection : public CAtmoConnection {
22     private:
23         HANDLE m_hComport;
24
25 #if defined(WIN32)
26         DWORD  m_dwLastWin32Error;
27     public:
28         DWORD getLastError() { return m_dwLastWin32Error; }
29 #endif
30
31     public:
32        CAtmoClassicConnection(CAtmoConfig *cfg);
33        virtual ~CAtmoClassicConnection(void);
34
35            virtual ATMO_BOOL OpenConnection();
36
37        virtual void CloseConnection();
38
39        virtual ATMO_BOOL isOpen(void);
40
41        virtual ATMO_BOOL SendData(pColorPacket data);
42
43        virtual ATMO_BOOL HardwareWhiteAdjust(int global_gamma,
44                                              int global_contrast,
45                                              int contrast_red,
46                                              int contrast_green,
47                                              int contrast_blue,
48                                              int gamma_red,
49                                              int gamma_green,
50                                              int gamma_blue,
51                                              ATMO_BOOL storeToEeprom);
52
53        virtual int getNumChannels() { return 5; }
54
55
56        virtual const char *getDevicePath() { return "atmo"; }
57
58 #if !defined(_ATMO_VLC_PLUGIN_)
59        virtual char *getChannelName(int ch);
60        virtual ATMO_BOOL ShowConfigDialog(HINSTANCE hInst, HWND parent, CAtmoConfig *cfg);
61 #endif
62
63        virtual ATMO_BOOL CreateDefaultMapping(CAtmoChannelAssignment *ca);
64 };
65
66 #endif