www.pudn.com > STBIHOST.rar > osdwrapper.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:  osdwrapper.h 
 
Abstract:  Defines window.external.OSD (IOSDWrapper), which extends 
		   the DHTML object model to provide OSD (on sceen display) 
		   functionality to multimedia pages. 
 
--*/ 
 
#ifndef _OSDWRAPPER_H_8B75F989_F5CA_47C9_9365_5EA1D90E3230_ 
#define _OSDWRAPPER_H_8B75F989_F5CA_47C9_9365_5EA1D90E3230_ 
 
#include  
#include "osdwin.h" 
 
class COSDWrapper :  
	public CComObjectRoot, 
	public IDispatchImpl 
{ 
	IDispatch* m_pdispWMP; 
	IVideoWindow* m_pVideoWindow; 
	CWinOSD* m_pOSD; 
 
	void ResetInternalPointers(); 
 
public: 
 
	DECLARE_NO_REGISTRY() 
	DECLARE_NOT_AGGREGATABLE(COSDWrapper) 
	DECLARE_PROTECT_FINAL_CONSTRUCT() 
 
	BEGIN_CATEGORY_MAP(COSDWrapper) 
	END_CATEGORY_MAP() 
 
	BEGIN_COM_MAP(COSDWrapper) 
		COM_INTERFACE_ENTRY(IOSDWrapper) 
		COM_INTERFACE_ENTRY(IDispatch) 
	END_COM_MAP() 
 
	COSDWrapper() : 
		m_pdispWMP(NULL), 
		m_pVideoWindow(NULL), 
		m_pOSD(NULL) 
	{ } 
 
	~COSDWrapper() 
	{ 
		ResetInternalPointers(); 
	} 
 
	// IOSDWrapper 
	STDMETHOD(InitForMediaPlayer)(/*[in]*/ IDispatch* pVal); 
	STDMETHOD(SignalOpenState)(/*[in]*/ VARIANT_BOOL fOpen); 
	STDMETHOD(ProvideFeedback)(long cmd, long cmdResult); 
}; 
 
#endif // _OSDWRAPPER_H_8B75F989_F5CA_47C9_9365_5EA1D90E3230_