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