//********************************************************************* //* Microsoft Windows ** //* Copyright(c) Microsoft Corp., 1999 ** //********************************************************************* // // IOSITE.H - Header for the implementation of IOleSite // // HISTORY: // // 1/27/99 a-jaswed Created. // // Class which will provide the an IOleSite to the WebOC #ifndef _IOSITE_H_ #define _IOSITE_H_ #include #include #include "iocsite.h" #include "ioipsite.h" #include "ioipfram.h" class COleSite : public IServiceProvider, public IDocHostUIHandler, public DWebBrowserEvents2, public IInternetSecurityManager { private: IDispatch* m_pExternalInterface; BOOL m_fScrolling; BOOL m_bIsOEMDebug; public: COleSite(); ~COleSite(); ULONG m_cRef; HWND m_hWnd; HWND m_hwndIPObj; LPSTORAGE m_lpStorage; LPOLEOBJECT m_lpOleObject; LPOLEINPLACEOBJECT m_lpInPlaceObject; BOOL m_fInPlaceActive; COleClientSite* m_pOleClientSite; COleInPlaceSite* m_pOleInPlaceSite; COleInPlaceFrame* m_pOleInPlaceFrame; // IUnknown Interfaces STDMETHODIMP QueryInterface (REFIID riid, LPVOID* ppvObj); STDMETHODIMP_(ULONG) AddRef (); STDMETHODIMP_(ULONG) Release (); // IServiceProvider STDMETHODIMP QueryService (REFGUID guidService, REFIID riid, void** ppvService); // IDocHostUIHandler HRESULT STDMETHODCALLTYPE ShowContextMenu (DWORD dwID, POINT* ppt, IUnknown* pcmdtReserved, IDispatch* pdispReserved); HRESULT STDMETHODCALLTYPE GetHostInfo (DOCHOSTUIINFO* pInfo); HRESULT STDMETHODCALLTYPE ShowUI (DWORD dwID, IOleInPlaceActiveObject* pActiveObject, IOleCommandTarget* pCommandTarget, IOleInPlaceFrame* pFrame, IOleInPlaceUIWindow* pDoc); HRESULT STDMETHODCALLTYPE HideUI (void); HRESULT STDMETHODCALLTYPE UpdateUI (void); HRESULT STDMETHODCALLTYPE EnableModeless (BOOL fEnable); HRESULT STDMETHODCALLTYPE OnDocWindowActivate (BOOL fActivate); HRESULT STDMETHODCALLTYPE OnFrameWindowActivate (BOOL fActivate); HRESULT STDMETHODCALLTYPE ResizeBorder (LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fRameWindow); HRESULT STDMETHODCALLTYPE TranslateAccelerator (LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID); HRESULT STDMETHODCALLTYPE GetOptionKeyPath (BSTR* pbstrKey, DWORD dw); HRESULT STDMETHODCALLTYPE GetDropTarget (IDropTarget* pDropTarget, IDropTarget** ppDropTarget); HRESULT STDMETHODCALLTYPE GetExternal (IDispatch** ppDisp); HRESULT STDMETHODCALLTYPE TranslateUrl (DWORD dwTranslate, OLECHAR* pchURLIn, OLECHAR** ppchURLOut); HRESULT STDMETHODCALLTYPE FilterDataObject (IDataObject* pDO, IDataObject** ppDORet); HRESULT STDMETHODCALLTYPE SetExternalInterface (IDispatch* pUnk); // DWebBrowserEvents2 STDMETHOD (GetTypeInfoCount) (UINT* pcInfo); STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo**); STDMETHOD (GetIDsOfNames) (REFIID, OLECHAR**, UINT, LCID, DISPID* ); STDMETHOD (Invoke) (DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexcepinfo, UINT* puArgErr); // IInternetSecurityManager HRESULT STDMETHODCALLTYPE SetSecuritySite(IInternetSecurityMgrSite __RPC_FAR *pSite); HRESULT STDMETHODCALLTYPE GetSecuritySite(IInternetSecurityMgrSite __RPC_FAR *__RPC_FAR *ppSite); HRESULT STDMETHODCALLTYPE MapUrlToZone(LPCWSTR pwszUrl, DWORD __RPC_FAR *pdwZone, DWORD dwFlags); HRESULT STDMETHODCALLTYPE GetSecurityId(LPCWSTR pwszUrl, BYTE __RPC_FAR *pbSecurityId, DWORD __RPC_FAR *pcbSecurityId, DWORD_PTR dwReserved); HRESULT STDMETHODCALLTYPE ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE __RPC_FAR *pPolicy, DWORD cbPolicy, BYTE __RPC_FAR *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved); HRESULT STDMETHODCALLTYPE QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE __RPC_FAR *__RPC_FAR *ppPolicy, DWORD __RPC_FAR *pcbPolicy, BYTE __RPC_FAR *pContext, DWORD cbContext, DWORD dwReserved); HRESULT STDMETHODCALLTYPE SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags); HRESULT STDMETHODCALLTYPE GetZoneMappings(DWORD dwZone, IEnumString __RPC_FAR *__RPC_FAR *ppenumString, DWORD dwFlags); }; #endif