sl@0: //------------------------------------------------------------------------------ sl@0: #ifndef IDWAPI_H_INCLUDED sl@0: #define IDWAPI_H_INCLUDED sl@0: //------------------------------------------------------------------------------ sl@0: #include sl@0: #include "Mutex.h" sl@0: #include "iMONDisplayDefines.h" sl@0: #include "iMONDisplayWrapper.h" sl@0: #include "IdwThread.h" sl@2: sl@2: /** sl@2: Provide access to iMON Display API. sl@2: We have one instance of this object per process attaching our DLL. sl@2: It basically synchronize and forward API calls to our Window through our thread object. sl@2: */ sl@0: class IdwApi sl@0: { sl@0: public: sl@0: IdwApi(HINSTANCE hInstance); sl@0: ~IdwApi(); sl@0: sl@0: public: sl@0: DSPResult Init(IDW_INITRESULT* pInitResult); sl@0: DSPResult Uninit(); sl@2: DSPResult IsInitialized(); sl@0: DSPResult IsPluginModeEnabled(); sl@2: DSPResult GetStatus(IDW_STATUS* aStatus); sl@0: DSPResult SetVfdText(LPCWSTR lpszLine1, LPCWSTR lpszLine2); sl@0: DSPResult SetVfdEqData(PDSPEQDATA pEqData); sl@0: DSPResult SetLcdText(LPCWSTR lpszText); sl@0: DSPResult SetLcdEqData(PDSPEQDATA pEqDataL, PDSPEQDATA pEqDataR); sl@0: DSPResult SetLcdAllIcons(BOOL bOn); sl@0: DSPResult SetLcdOrangeIcon(BYTE btIconData1, BYTE btIconData2); sl@0: DSPResult SetLcdMediaTypeIcon(BYTE btIconData); sl@0: DSPResult SetLcdSpeakerIcon(BYTE btIconData1, BYTE btIconData2); sl@0: DSPResult SetLcdVideoCodecIcon(BYTE btIconData); sl@0: DSPResult SetLcdAudioCodecIcon(BYTE btIconData); sl@0: DSPResult SetLcdAspectRatioIcon(BYTE btIconData); sl@0: DSPResult SetLcdEtcIcon(BYTE btIconData); sl@0: DSPResult SetLcdProgress(int nCurPos, int nTotal); sl@0: sl@0: private: sl@0: IdwApi(const IdwApi& other) {} sl@0: IdwApi& operator=(const IdwApi& other) { return *this; } sl@0: sl@0: private: sl@0: HINSTANCE m_hInstance; sl@2: Mutex m_mutex; ///Used to guarantee we only have one request running at a time. sl@0: int m_nInitCount; sl@0: IdwThread* m_pIdwThread; sl@0: }; sl@0: //------------------------------------------------------------------------------ sl@0: #endif sl@0: //------------------------------------------------------------------------------