IdwApi.h
author StephaneLenclud
Mon, 28 Apr 2014 20:02:08 +0200
changeset 5 d16669f69f0d
parent 0 523a7dc3469f
permissions -rw-r--r--
IdwTest:Adding support for sending text to VFD.
     1 //------------------------------------------------------------------------------
     2 #ifndef IDWAPI_H_INCLUDED
     3 #define IDWAPI_H_INCLUDED
     4 //------------------------------------------------------------------------------
     5 #include <windows.h>
     6 #include "Mutex.h"
     7 #include "iMONDisplayDefines.h"
     8 #include "iMONDisplayWrapper.h"
     9 #include "IdwThread.h"
    10 
    11 /**
    12 Provide access to iMON Display API.
    13 We have one instance of this object per process attaching our DLL.
    14 It basically synchronize and forward API calls to our Window through our thread object.
    15 */
    16 class IdwApi
    17 {
    18 public:
    19   IdwApi(HINSTANCE hInstance);
    20   ~IdwApi();
    21 
    22 public:
    23   DSPResult Init(IDW_INITRESULT* pInitResult);
    24   DSPResult Uninit();
    25   DSPResult IsInitialized();
    26   DSPResult IsPluginModeEnabled();
    27   DSPResult GetStatus(IDW_STATUS* aStatus);
    28   DSPResult SetVfdText(LPCWSTR lpszLine1, LPCWSTR lpszLine2);
    29   DSPResult SetVfdEqData(PDSPEQDATA pEqData);
    30   DSPResult SetLcdText(LPCWSTR lpszText);
    31   DSPResult SetLcdEqData(PDSPEQDATA pEqDataL, PDSPEQDATA pEqDataR);
    32   DSPResult SetLcdAllIcons(BOOL bOn);
    33   DSPResult SetLcdOrangeIcon(BYTE btIconData1, BYTE btIconData2);
    34   DSPResult SetLcdMediaTypeIcon(BYTE btIconData);
    35   DSPResult SetLcdSpeakerIcon(BYTE btIconData1, BYTE btIconData2);
    36   DSPResult SetLcdVideoCodecIcon(BYTE btIconData);
    37   DSPResult SetLcdAudioCodecIcon(BYTE btIconData);
    38   DSPResult SetLcdAspectRatioIcon(BYTE btIconData);
    39   DSPResult SetLcdEtcIcon(BYTE btIconData);
    40   DSPResult SetLcdProgress(int nCurPos, int nTotal);
    41 
    42 private:
    43   IdwApi(const IdwApi& other) {}
    44   IdwApi& operator=(const IdwApi& other) { return *this; }
    45 
    46 private:
    47   HINSTANCE m_hInstance;
    48   Mutex m_mutex; ///Used to guarantee we only have one request running at a time.
    49   int m_nInitCount;
    50   IdwThread* m_pIdwThread;
    51 };
    52 //------------------------------------------------------------------------------
    53 #endif
    54 //------------------------------------------------------------------------------