[
	uuid(03146D22-83C6-4df5-B3E6-71953ABFAF92)
]
library HaskellPackage 
{
	import "wtypes.idl";
	import "ServProv.idl";
	import "VsTypes.idl";

	[
		uuid(098FCA58-5F42-11d3-8BDC-00C04F8EC28C),
		version(1.0),
		pointer_default(unique)
	]
	interface IVsInstalledProduct : IUnknown
	{
		[propget] HRESULT IdBmpSplash([out, retval] UINT *pIdBmp);    
		[propget] HRESULT OfficialName([out, retval] BSTR *pbstrName);
		[propget] HRESULT ProductID([out, retval] BSTR *pbstrPID);
		[propget] HRESULT ProductDetails([retval,out] BSTR *pbstrProductDetails);
		[propget] HRESULT IdIcoLogoForAboutbox([retval,out] UINT *pIdIco);
	};

	[
		uuid(D4F3F4B1-E900-4e51-ADB3-D532348F83CB),
		version(1.0),
		pointer_default(unique)
	]
	interface IVsPackage : IUnknown
	{
		HRESULT SetSite([in] IServiceProvider   *pSP);
		HRESULT QueryClose([out] BOOL   *pfCanClose);
		HRESULT Close(void);
		HRESULT GetAutomationObject([in] LPCOLESTR  pszPropName, [out] IDispatch **ppDisp);
		HRESULT CreateTool([in] REFGUID rguidPersistenceSlot);
		HRESULT ResetDefaults([in] VSPKGRESETFLAGS grfFlags);
		HRESULT GetPropertyPage([in] REFGUID rguidPage, [in, out]   VSPROPSHEETPAGE *ppage);
	}


	[ 
		uuid(E7841DCF-8C7A-487a-9B54-E1EA157C5516)
	]
	coclass HaskellPackage
	{
		[default]interface IVsPackage;
		interface IVsInstalledProduct;
	};
}

