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_