// NetPlayX.odl : type library source for ActiveX Control project.

// This file will be processed by the Make Type Library (mktyplib) tool to
// produce the type library (NetPlayX.tlb) that will become a resource in
// NetPlayX.ocx.

#include <olectl.h>
#include <idispids.h>

[ uuid(E9F2DFE5-9CDF-485E-B1F7-1864208D11FE), version(2.4),
  helpfile("NetPlayX.hlp"),
  helpstring("NetPlayX ActiveX Control module"),
  control ]
library NETPLAYXLib
{
	importlib(STDOLE_TLB);
	importlib(STDTYPE_TLB);

	//  Primary dispatch interface for CNetPlayXCtrl

	[ uuid(6528B2E8-986D-4A18-BE0A-1054E870778B),
	  helpstring("Dispatch interface for NetPlayX Control"), hidden ]
	dispinterface _DNetPlayX
	{
		properties:
			// NOTE - ClassWizard will maintain property information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_PROP(CNetPlayXCtrl)
			[id(1)] BSTR password;
			[id(2)] BSTR url;
			[id(3)] BSTR username;
			[id(4)] short wServerPort;
			[id(5)] short Islocalfile;
			//}}AFX_ODL_PROP

		methods:
			// NOTE - ClassWizard will maintain method information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_METHOD(CNetPlayXCtrl)
			[id(6)] void NetFileDownload(BSTR RemoteFile, BSTR SaveFile, boolean convertASF);
			[id(8)] void NetFileFindStop();
			[id(9)] void NetFileStopDownload();
			[id(10)] void NetStartPlay(BSTR filename, [optional] VARIANT filecreatetime);
			[id(11)] short GetFindFileNum();
			[id(12)] short ReadFindFile(short beginnumber, short number);
			[id(7)] void NetFileFindStart(BSTR sername, short channel, boolean bDateLimite, short year_start, short month_start, short day_start, short hour_start, short minute_start, short year_end, short month_end, short day_end, short hour_end, short minute_end, long filetype, long recvtype);
			[id(13)] void SetNetStayTime(short staytime);
			[id(14)] BSTR GetSaveFileName(BSTR serName, BSTR Remotefile, short isAsf);
			[id(15)] BSTR GetSaveDirectory();
			[id(16)] BSTR GetSaveFileNameEx(BSTR serName, BSTR Remotefile, short isAsf);
			[id(17)] void JumpAt(BSTR lpTime);
			[id(18)] void BtnPlay();
			[id(19)] void BtnPause();
			[id(20)] void BtnStop();
			[id(21)] void BtnStep();
			[id(22)] void BtnFast();
			[id(23)] void BtnSlow();
			[id(24)] void BtnTurn();
			[id(25)] void BtnAudio(short state);
			[id(26)] void ShowBtns(boolean bshow);
			[id(27)] void NetSchSetDiskType(short disktype);
			//}}AFX_ODL_METHOD

			[id(DISPID_ABOUTBOX)] void AboutBox();
	};

	//  Event dispatch interface for CNetPlayXCtrl

	[ uuid(7A2E4C17-2EED-4E94-A73F-5BDDF30ABDAA),
	  helpstring("Event interface for NetPlayX Control") ]
	dispinterface _DNetPlayXEvents
	{
		properties:
			//  Event interface has no properties

		methods:
			// NOTE - ClassWizard will maintain event information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_EVENT(CNetPlayXCtrl)
			[id(1)] void NetFileDownloadEvent(long proval);
			[id(2)] void NetFileFindEvent(long proval);
			[id(3)] void PlayBackEvent(long retval);
			[id(4)] void PlayBackPosEvent(long playpos);
			[id(5)] void PlayBufferPosEvent(long bufferPos);
			[id(6)] void SearchFileNotify(BSTR sername, short ch, BSTR filetime, BSTR filename, long filesize);
			[id(7)] void vv(IUnknown** CC);
			[id(8)] void BB(long* VV);
			[id(9)] void ClickSel();
			[id(10)] void LButtonDblClk();
			//}}AFX_ODL_EVENT
	};

	//  Class information for CNetPlayXCtrl

	[ uuid(359BC4F0-0C02-4FD1-AF70-BEF385F5C2BD),
	  helpstring("NetPlayX Control"), control ]
	coclass NetPlayX
	{
		[default] dispinterface _DNetPlayX;
		[default, source] dispinterface _DNetPlayXEvents;
	};


	//{{AFX_APPEND_ODL}}
	//}}AFX_APPEND_ODL}}
};
