// API.h : Declaration of the CAPI

#ifndef __API_H_
#define __API_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CAPI
class ATL_NO_VTABLE CAPI : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CAPI, &CLSID_API>,
	public IDispatchImpl<IAPI, &IID_IAPI, &LIBID_WWHELP4Lib>
{
public:
	CAPI()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_API)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CAPI)
	COM_INTERFACE_ENTRY(IAPI)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

// IAPI
public:
	STDMETHOD(Startup)(BSTR BaseURL);
	STDMETHOD(Shutdown)();
	STDMETHOD(DisplayHelp)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpWithNavigation)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpWithContents)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpWithIndex)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpWithSearch)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpWithFavorites)(BSTR Context, BSTR Topic);
	STDMETHOD(DisplayHelpNavigation)();
	STDMETHOD(DisplayHelpContents)();
	STDMETHOD(DisplayHelpIndex)();
	STDMETHOD(DisplayHelpSearch)();
	STDMETHOD(DisplayHelpFavorites)();
};

#endif //__API_H_
