LWQ
2025-07-14 52d230fd0eb38adc5c6f4c6d6ed3786a3c19354d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// ExternLightControl.h: interface for the CExternLightControl class.
//
//////////////////////////////////////////////////////////////////////
 
#if !defined(AFX_EXTERNLIGHTCONTROL_H__28B165BE_71B7_4AF2_A966_BD8694FDD522__INCLUDED_)
#define AFX_EXTERNLIGHTCONTROL_H__28B165BE_71B7_4AF2_A966_BD8694FDD522__INCLUDED_
 
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
 
#include "Config.h"
 
#define MAX_LAMP_CHANNEL 8
 
//#define STATUS_RETURN_LENGTH 7
 
class CExternLightControl  
{
public:
    CExternLightControl();
    virtual ~CExternLightControl();
 
    virtual BOOL                OpenControl(int nPort) =0;
    virtual BOOL                CloseControl() =0;
    virtual BOOL                SetLightControlValue(int nChannel, int nValue) =0;
    virtual BOOL                IsOpened() =0 ;//                        { return m_hLightControl ? TRUE : FALSE; }
    
//    virtual int                    EnumLampTurnOn() = 0;
    int                            Hex2Integer(const CString strHex, const int iCount);
    virtual BOOL                IsTurnOnLamp(int iIdxChannel) = 0;
    virtual BOOL                TurnOnOffLamp(int nChannel,BOOL bOn) = 0;
    //{ if (iIdxChannel >=0 && iIdxChannel < MAX_LAMP_CHANNEL) return m_bStateTurnOn[iIdxChannel]; return FALSE; }
 
    HANDLE                        GetConnHandle() { return m_hLightControl; }
 
    int                    m_nIndex;
    HANDLE                m_hLightControl;
    int                    m_nPort;
protected:
    int                    m_nLightValue;    
};
 
#endif // !defined(AFX_EXTERNLIGHTCONTROL_H__28B165BE_71B7_4AF2_A966_BD8694FDD522__INCLUDED_)