2020-09-30 16:53:55 +02:00

64 lines
2.2 KiB
C++

#ifndef _FRNTBODY_H
#define _FRNTBODY_H
// for IBodyOptions
#include "mehost.h"
#include "hlink.h"
interface INotify;
interface IAthenaBrowser;
class COETag;
class CFrontBody :
public CMimeEditDocHost,
public IHlinkFrame,
public IServiceProvider,
public IElementBehaviorFactory
{
public:
CFrontBody(FOLDERTYPE ftType, IAthenaBrowser *pBrowser);
virtual ~CFrontBody();
// IUnknown
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID FAR *);
virtual ULONG STDMETHODCALLTYPE AddRef();
virtual ULONG STDMETHODCALLTYPE Release();
// IHlinkFrame
virtual HRESULT STDMETHODCALLTYPE SetBrowseContext(LPHLINKBROWSECONTEXT phlbc);
virtual HRESULT STDMETHODCALLTYPE GetBrowseContext(LPHLINKBROWSECONTEXT *pphlbc);
virtual HRESULT STDMETHODCALLTYPE Navigate(DWORD grfHLNF, LPBC pbc, LPBINDSTATUSCALLBACK pbsc, LPHLINK phlNavigate);
virtual HRESULT STDMETHODCALLTYPE OnNavigate(DWORD grfHLNF, LPMONIKER pmkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved);
virtual HRESULT STDMETHODCALLTYPE UpdateHlink(ULONG uHLID, LPMONIKER pmkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName);
// IServiceProvider
virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, LPVOID *ppvObject);
// IOleInPlaceFrame
virtual HRESULT STDMETHODCALLTYPE SetStatusText(LPCOLESTR pszW);
// CDocHost overrides
virtual void OnDocumentReady();
virtual HRESULT STDMETHODCALLTYPE HrClose();
// IElementBehaviorFactory
virtual HRESULT STDMETHODCALLTYPE FindBehavior(LPOLESTR pchBehavior, LPOLESTR pchBehaviorUrl, IElementBehaviorSite* pSite, IElementBehavior** ppBehavior);
virtual HRESULT STDMETHODCALLTYPE GetHostInfo(DOCHOSTUIINFO *pInfo);
HRESULT HrInit(HWND hwnd);
HRESULT HrLoadPage();
private:
IAthenaBrowser *m_pBrowser;
LPHLINKBROWSECONTEXT m_phlbc;
HWND m_hwndOwner;
DWORD m_dwAdvise;
COETag *m_pTag;
BOOL m_fOEFrontPage;
HRESULT _CreateNewAccount(BOOL fMail);
};
#endif // _FRNTBODY_H