class CActiveScriptSite: public IActiveScriptSite, public IActiveScriptSiteWindow
{

public:
	UINT m_RefCount ;

/*
constructor/descructor
*/

	CActiveScriptSite ( ) ;
	~CActiveScriptSite ( ) ;

/*
IUnknown methods 
*/

  STDMETHOD(QueryInterface)(REFIID riid, void** ppvObj);
  STDMETHOD_(ULONG, AddRef)(void);
  STDMETHOD_(ULONG, Release)(void);
  
  /*
  IActiveScriptSite methods
  */

  STDMETHOD(GetLCID)(LCID *plcid);
  STDMETHOD(GetItemInfo)(LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti);
  STDMETHOD(GetDocVersionString)(BSTR *pszVersion);
  STDMETHOD(RequestItems)(void);
  STDMETHOD(RequestTypeLibs)(void);
  STDMETHOD(OnScriptTerminate)(const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo);
  STDMETHOD(OnStateChange)(SCRIPTSTATE ssScriptState);
  STDMETHOD(OnScriptError)(IActiveScriptError *pscripterror);
  STDMETHOD(OnEnterScript)(void);
  STDMETHOD(OnLeaveScript)(void);

  /*
  IActiveScriptSiteWindow methods
  */

  STDMETHOD(EnableModeless)(BOOL);
  STDMETHOD(GetWindow)(HWND *);

} ;