//////////////////////////////////////////////////////////////////////
//
// Module    : vs_haskell_dlg.idl
// Author    : Krasimir Angelov <kr.angelov@gmail.com>
// Copyright : (c) Krasimir Angelov, All Rights Reserved
//
// IDL source for vs_haskell_dlg.
//
//////////////////////////////////////////////////////////////////////

import "oaidl.idl";
import "ocidl.idl";

[
	uuid(96E24FFE-8C98-492A-94DF-15D88E56A45C),
	version(1.0),
	helpstring("vs_haskell_dlg 1.0 Type Library")
]
library vs_haskell_dlg
{
	importlib("stdole2.tlb");

	[
		uuid(D80C7181-5DA8-4f77-91D4-EA71384B516E),
		version(1.0),
		pointer_default(unique),
		object
	]
	interface IPropertyContainer : IUnknown
	{
		HRESULT Commit();
	}

	[
		uuid(1CC6EA13-3D1C-43b2-ABC2-ECF2A8B95C1E),
		helpstring("CCPropertyPage class")
	]
	coclass CCPropertyPage
	{
		interface IUnknown;
		interface IPropertyPage;
	};

	[
		uuid(ACF763B9-52C8-499f-B2EA-1D590593621F),
		helpstring("HCPropertyPage class")
	]
	coclass HCPropertyPage
	{
		interface IUnknown;
		interface IPropertyPage;
	};

	[
		uuid(BC4C26BA-9E25-410e-8028-180D941446C0),
		helpstring("LDPropertyPage class")
	]
	coclass LDPropertyPage
	{
		interface IUnknown;
		interface IPropertyPage;
	};


	[
		object,
		uuid(CAD50FD3-7FB7-44AF-8B24-BF4B6C5E0235),
		dual,
		nonextensible,
		helpstring("IAddReferenceDialog Interface"),
		pointer_default(unique)
	]
	interface IAddReferenceDialog : IDispatch{
		[id(1), helpstring("method OpenDialog")] HRESULT OpenDialog(IServiceProvider *provider);
		[id(2), helpstring("method AddPackage")] HRESULT AddPackage(CHAR* name);
		[id(3), helpstring("method GetPackage")] HRESULT GetPackage([in,out] PVOID * pos, [out,retval] CHAR** name);
	};

	[
		uuid(FBE9B3FE-2469-4E1C-AB36-C361D9ACD98E),
		helpstring("AddReferenceDialog Class")
	]
	coclass AddReferenceDialog
	{
		[default] interface IAddReferenceDialog;
	};
};
