// SwishCtl.idl : IDL source for SwishCtl.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (SwishCtl.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(9E204F2D-4F04-11D7-858F-8CA08FF5860C),
		dual,
		helpstring("ICSwishCtl Interface"),
		pointer_default(unique)
	]
	interface ICSwishCtl : IDispatch
	{
		[id(1), helpstring("method Init")] HRESULT Init([in] BSTR IndexFiles);
		[id(2), helpstring("method Error")] HRESULT Error([out,retval] int *errcode);
		[id(3), helpstring("method Query")] HRESULT Query([in] BSTR words, [out,retval] int *errcode);
		[id(4), helpstring("method ErrorString")] HRESULT ErrorString([out,retval] BSTR *errstring);
		[id(5), helpstring("method Hits")] HRESULT Hits([out,retval] int *hits);
		[id(6), helpstring("method NextResult")] HRESULT NextResult([out,retval] int *more);
		[id(7), helpstring("method ResultPropertyString")] HRESULT ResultPropertyString([in] BSTR propertyname, [out,retval] BSTR *result);
		[id(8), helpstring("method Close")] HRESULT Close();
		[id(9), helpstring("method SeekResult")] HRESULT SeekResult([in] int position, [out,retval] int *result);
		[id(10), helpstring("method SetSort")] HRESULT SetSort([in] BSTR sort);
		[id(11), helpstring("method NewSearch")] HRESULT NewSearch([in] BSTR query, [out,retval] int *errcode);
		[id(12), helpstring("method Execute")] HRESULT Execute([in] BSTR words, [out,retval] int *errcode);
		[id(13), helpstring("method SetSearchLimit")] HRESULT SetSearchLimit([in] BSTR propertyname, [in] BSTR low, [in] BSTR hi);
	};

[
	uuid(9E204F21-4F04-11D7-858F-8CA08FF5860C),
	version(1.0),
	helpstring("SwishCtl 1.0 Type Library")
]
library SWISHCTLLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(9E204F2E-4F04-11D7-858F-8CA08FF5860C),
		helpstring("CSwishCtl Class")
	]
	coclass CSwishCtl
	{
		[default] interface ICSwishCtl;
	};
};
