#if !defined(AFX_LIVEACTIVEX_H__847E88EC_BC65_49CA_B57D_ED281FFA8206__INCLUDED_)
#define AFX_LIVEACTIVEX_H__847E88EC_BC65_49CA_B57D_ED281FFA8206__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.

/////////////////////////////////////////////////////////////////////////////
// CLiveActiveX wrapper class

class CLiveActiveX : public CWnd
{
protected:
	DECLARE_DYNCREATE(CLiveActiveX)
public:
	CLSID const& GetClsid()
	{
		static CLSID const clsid
			= { 0x19c374f, 0x89be, 0x4b41, { 0x9f, 0xcc, 0xd3, 0x2b, 0x7e, 0x2f, 0x45, 0x5c } };
		return clsid;
	}
	virtual BOOL Create(LPCTSTR lpszClassName,
		LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect,
		CWnd* pParentWnd, UINT nID,
		CCreateContext* pContext = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }

    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect, CWnd* pParentWnd, UINT nID,
		CFile* pPersist = NULL, BOOL bStorage = FALSE,
		BSTR bstrLicKey = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
		pPersist, bStorage, bstrLicKey); }

// Attributes
public:
	CString GetIPAddress();
	void SetIPAddress(LPCTSTR);
	long GetPort();
	void SetPort(long);
	CString GetUserName();
	void SetUserName(LPCTSTR);
	CString GetPassword();
	void SetPassword(LPCTSTR);

// Operations
public:
	long Connect();
	long DisConnect();
	long SetActiveView(long iView);
	long GetActiveView();
	long GetCameraIndexFromView(long iView);
	long GetCameraCount();
	CString GetCameraName(long iCameraIndex);
	CString GetCameraModel(long iCameraIndex);
	void EnableAudio(long iView, long bEnable);
	long ConnectToCamera(long iView, long iCameraIndex);
	void ChangeResolution(long iWidth, long iHeight);
	void SetOSDConfig(long icmd, LPCTSTR FontStyle, long iFontSize, long iColorR, long iColorG, long iColorB, long iBColorR, long iBColorG, long iBColorB, long bHasEdge, long bBold, long iTransparency);
	// method 'GetRawImage' not emitted because of invalid return type or parameter type
    VARIANT GetRawImage(long iView, long iVideoFormat);
	long GetDICount();
	long GetDOCount();
	CString GetDIName(long iInputIndex);
	CString GetDOName(long iOutputIndex);
	long GetDIStatus(long iInputIndex);
	long GetDOStatus(long iOutputIndex);
	void SetDOStatus(long iOutputIndex, long iValue);
	long GetPresetCount(long iView);
	CString GetPresetName(long iView, long iPresetNum);
	long SetPreset(long iView, long iPresetNum, LPCTSTR PresetName);
	void PTZZoomTele(long bStart);
	void PTZZoomWide(long bStart);
	void PTZUp(long bStart);
	void PTZDown(long bStart);
	void PTZLeft(long bStart);
	void PTZRight(long bStart);
	void PTZUpLeft(long bStart);
	void PTZUpRight(long bStart);
	void PTZDownLeft(long bStart);
	void PTZDownRight(long bStart);
	void PTZHome();
	void PTZPatrol(long bStart);
	void PTZFocusNear(long bStart);
	void PTZFocusFar(long bStart);
	void Play();
	void Stop();
	void Drop();
	long Snapshot(long iView, LPCTSTR FileName);
	void SetView1x1();
	void SetView2x2();
	void SetView3x3();
	void SetView4x4();
	void SetViewFullScreen();
	long GetRawImageWidth(long iView);
	long GetRawImageHeight(long iView);
	void PTZPresetGO(long iView, long iPresetNum);
    long ISFullScreen();
	long DuplicateCamera(long iCameraIndex);
	long RemoveDuplicateCamera(long iCameraIndex);
	bool GetPTZCapability(long iCameraIndex, long iParam);
	void AboutBox();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LIVEACTIVEX_H__847E88EC_BC65_49CA_B57D_ED281FFA8206__INCLUDED_)
