www.pudn.com > STBIHOST.rar > external.h
// If you did not accept the terms of the EULA, you are not authorized to use // this source code. For a copy of the EULA, please see the LICENSE.RTF on your // install media. // /*++ THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. Module Name: external.h Abstract: Defines window.external (IHostExternal), which extends the DHTML object model to allow web pages to access functionality in the host app. --*/ #ifndef _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_ #define _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_ class CHostExternal : public CComObjectRoot, public IDispatchImpl{ CMainWnd* m_pMainWnd; IUnknown* m_pUnkRCtlKeys; IUnknown* m_pUnkDbgUtils; #if 0 // STB_OSD_CODE IUnknown* m_pUnkOSD; #endif public: DECLARE_NO_REGISTRY() DECLARE_NOT_AGGREGATABLE(CHostExternal) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_CATEGORY_MAP(CHostExternal) END_CATEGORY_MAP() BEGIN_COM_MAP(CHostExternal) COM_INTERFACE_ENTRY(IHostExternal) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP() CHostExternal() : m_pMainWnd(NULL), m_pUnkRCtlKeys(NULL), m_pUnkDbgUtils(NULL) #if 0 // STB_OSD_CODE , m_pUnkOSD(NULL) #endif { } ~CHostExternal() { if (m_pUnkRCtlKeys) m_pUnkRCtlKeys->Release(); if (m_pUnkDbgUtils) m_pUnkDbgUtils->Release(); #if 0 // STB_OSD_CODE if (m_pUnkOSD) m_pUnkOSD->Release(); #endif } VOID SetInst(CMainWnd* pMainWnd) { ASSERT(pMainWnd); m_pMainWnd = pMainWnd; } // IUIBrowserExternal STDMETHOD(get_FullScreen)(/*[out, retval]*/ VARIANT_BOOL* pVal); STDMETHOD(put_FullScreen)(/*[in]*/ VARIANT_BOOL newVal); STDMETHOD(get_RemoteControlKeys)(/*[out, retval]*/ IDispatch** ppVal); STDMETHOD(get_DebugUtils)(/*[out, retval]*/ IDispatch** ppVal); #if 0 // STB_OSD_CODE STDMETHOD(get_OSD)(/*[out, retval]*/ IDispatch** ppVal); #endif }; #endif // _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_