// NetViewX.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 (NetViewX.tlb) that will become a resource in
// NetViewX.ocx.

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

[ uuid(D5F0BC04-0AAC-49D3-85BF-A0EAECEEBA76), version(8.2),
  helpfile("NetViewX.hlp"),
  helpstring("NetViewX ActiveX Control module"),
  control ]
library NETVIEWXLib
{
	importlib(STDOLE_TLB);
	importlib(STDTYPE_TLB);

	//  Primary dispatch interface for CNetViewXCtrl

	[ uuid(3F751514-9AE0-4339-A691-2FCC006652A6),
	  helpstring("Dispatch interface for NetViewX Control"), hidden ]
	dispinterface _DNetViewX
	{
		properties:
			// NOTE - ClassWizard will maintain property information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_PROP(CNetViewXCtrl)
			[id(1)] BSTR url;
			[id(2)] short channel;
			[id(3)] BSTR username;
			[id(4)] BSTR password;
			[id(5)] BSTR servername;
			[id(6)] boolean ViewQCIF;
			[id(7)] short trantype;
			[id(8)] short buffernum;
			[id(9)] short wServerPort;
			[id(10)] boolean bUseOverlay;
			[id(11)] short delaytime;
			[id(12)] short streamtype;
			//}}AFX_ODL_PROP

		methods:
			// NOTE - ClassWizard will maintain method information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_METHOD(CNetViewXCtrl)
			[id(13)] void FullScreen();
			[id(14)] BOOL StartView();
			[id(15)] BOOL StopView();
			[id(16)] short StartRecord(BSTR filename);
			[id(17)] void StopRecord();
			[id(18)] BOOL CaptureBmp(BSTR filename);
			[id(19)] long StartTalk();
			[id(20)] long StopTalk();
			[id(21)] void SoundOn();
			[id(22)] void SoundOff();
			[id(23)] short ImageWidth();
			[id(24)] short ImageHeight();
			[id(25)] void PostProMethon(long postmethon);
			[id(26)] short PTZCtrl(short type, long param);
			[id(27)] long ViParamAdjust(short Brightness, short Contrast, short Staturation, short Hue);
			[id(28)] void MotionTest(BOOL bTest);
			[id(29)] void MotionEdit(BOOL bStart);
			[id(30)] void SetMotionArea();
			[id(31)] void SetMotionVal(short nVal);
			[id(32)] void MotionAreaSetAll();
			[id(33)] void MotionAreaClear();
			[id(34)] BSTR GetSaveFileName();
			[id(35)] void SetLanguage(short languagetype);
			[id(36)] long StartConnect();
			[id(37)] long StartDisplay();
			[id(38)] void StopDisplay();
			[id(39)] short GetCurStatus();
			[id(40)] void ClearAlarm();
			[id(41)] void SetPTZAddr(short addr);
			[id(42)] void PTZExDevCtrl(short devno, short isOn);
			[id(43)] void CtrolAlarmOut(short alarmno, short bIsopen);
			[id(44)] void ChannelSwitch(short bStart, short interval);
			[id(45)] void ChannelSel(short channel);
			[id(46)] void SetSwitchChannel(short channel, short bInswitch);
			[id(47)] void SearchFile(long year, long month, long day, long s_hour, long s_minute, long e_hour, long e_minute);
			[id(48)] void VideoMaskEnable(short bEnable);
			[id(49)] void VideoMaskEdit(short bEnable);
			[id(50)] void SetTalkChannel();
			[id(51)] void SwitchGangChannel(short ch);
			[id(52)] boolean Transparent(long pData, short size);
			[id(53)] void SetGangBandrate(long baud);
			[id(54)] void StartSerial(short port, long band, short checkbit, short databit, short stopbit, short flowctrl);
			[id(55)] void StopSerial();
			[id(56)] short StartServerRecord();
			[id(57)] short StopServerRecord();
			[id(58)] boolean TransparentSend();
			[id(59)] boolean CaptureJpeg(BSTR filename);
			[id(60)] boolean CaptureJpegStart();
			[id(61)] boolean CaptureJpegStop();
			[id(62)] boolean SetWaitTime(short waittime, short retrynum);
			[id(63)] boolean SyncTime(long year, long month, long day, long hour, long minute, long second);
			[id(64)] boolean TransparentSendEx(short channel);
			[id(65)] short ReadRecordFile();
			[id(66)] BSTR StartClientRecord();
			[id(67)] short StopClientRecord();
			[id(68)] void SetRecordType(short type);
			[id(69)] boolean SendBankInfo(BSTR personnum, BSTR boxnum, short recvnum, short sendnum);
			[id(70)] void SetRecordPackTime(short packtime);
			[id(71)] boolean SetAudioVolume(long volume);
			[id(72)] boolean SetCurMaskArea(short area);
			[id(73)] boolean FlipVideo();
			[id(74)] boolean CleanMaskArea(short area);
			[id(75)] boolean ServerCapturePic();			
			[id(76)] boolean TranCtrl(long ctrlcode);
			[id(77)] short GetChannelOsd();
			[id(78)] short SetChannelOsd(short timeindex, short timex, short timey, short bitrateindex, short bitratex, short bitratey, BSTR title1str, short title1x, short title1y, BSTR title2str, short title2x, short title2y);
			[id(79)] short GetChannelEncParam();
			[id(80)] short SetChannelEncParam(short encodetype, short bitratetype, short maxbitrate, short maxqueue, short minqueue, short framerate, short streamtype, short iinterval);
			[id(81)] short GetViParam();
			[id(82)] short SetViParam(short bri, short con, short sat, short hue);
			[id(83)] short SaveParam();
			[id(84)] short RestartDevice();
			[id(85)] BSTR GetUseableWifi();
			[id(86)] boolean ChooseVideoInput(short input);
			[id(87)] boolean PtzLock(boolean bLock, long nPriority, long lockTime);
			[id(88)] boolean SetDeviceName(BSTR lpName);
			[id(89)] short PTZCtrlPriority(short type, long param, short npriority);
			[id(90)] boolean PISNow(boolean bStartPIS);
			[id(91)] boolean PISLater(boolean bStartPIS);
			[id(92)] void FullScreenEx();
			[id(93)] long StartDDNSConnect();
			[id(94)] boolean StartDDNSView();
			[id(95)] boolean IsFullScreen();
			[id(96)] void SendSerialString(BSTR strSend);
			[id(97)] void MailTest(short testnum);
			[id(98)] long GetConnectIPNumber();
			[id(99)] boolean FlipVideoH();
			[id(100)] long SharpeVideo(long iSharpeVideo);
			//}}AFX_ODL_METHOD
	};

	//  Event dispatch interface for CNetViewXCtrl
	[ uuid(28201816-E414-4880-9667-A5D30D09A2BA),
	  helpstring("Event interface for NetViewX Control") ]
	dispinterface _DNetViewXEvents
	{
		properties:
			//  Event interface has no properties

		methods:
			// NOTE - ClassWizard will maintain event information here.
			//    Use extreme caution when editing this section.
			//{{AFX_ODL_EVENT(CNetViewXCtrl)
			[id(1)] void UserChange(long usernum);
			[id(2)] void TalkStatus(long status);
			[id(3)] void StringMsg();
			[id(4)] void Alarm(long type, long channel);
			[id(5)] void ClickSel(BSTR url, long channel);
			[id(6)] void SearchRet(BSTR url, BSTR date, BSTR time, long length, BSTR filename);
			[id(7)] void ExOutPutStatus(long status);
			[id(8)] void TempNotify(BSTR temp);
			[id(9)] void HumNotify(BSTR hum);
			[id(10)] void ServerRecordStatus(long status);
			[id(11)] void JPEGEvent(long status);
			[id(12)] void LinkStatus(long status);
			[id(13)] void RecordFileNotify(short channel, BSTR filetime, BSTR filename, long filesize);
			[id(14)] void ClientRecordStatus(long status);
			[id(15)] void JPEGData(BSTR* pbuff, long size);
			[id(16)] void LButtonDblClk(BSTR url, long channel);
			[id(17)] void VideoMaskParam(long bmask, short areas);
			[id(18)] void DiskStatus(long disk1status, long disk2status);
			[id(19)] void SwitchScreenName(BSTR name1,BSTR name2,BSTR name3,BSTR name4,BSTR name5,BSTR name6,BSTR name7,BSTR name8,BSTR name9);
			[id(20)] void ChannelOsd(short timeindex, short timex, short timey, short bitrateindex, short bitratex, short bitratey, BSTR* title1str, short title1x, short title1y, BSTR* title2str, short title2x, short title2y);
			[id(21)] void ChannelEncParam(short encodetype, short bitratetype, short maxbitrate, short maxqueue, short minqueue, short framerate, short streamtype, short iinterval);
			[id(22)] void ViParam(short bri, short con, short sat, short hue);
			[id(23)] void UseableWifi(BSTR m_strResult);
			[id(24)] void SerialReceiveString(BSTR strReceive);
			[id(25)] void RButtonDown(BSTR url, long channel);
			[id(26)] void RButtonUp(BSTR url, long channel);
			[id(27)] void AudioState(boolean bAudioOpen);
			[id(28)] void ConnectIPAddr(BSTR ip);
			//}}AFX_ODL_EVENT
	};

	//  Class information for CNetViewXCtrl

	[ uuid(0C615F36-0C1C-497B-B9E4-833B0D7AA8CA),
	  helpstring("NetViewX Control"), control ]
	coclass NetViewX
	{
		[default] dispinterface _DNetViewX;
		[default, source] dispinterface _DNetViewXEvents;
	};


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