#if !defined(AFX_RPBACTIVEX_H__21FE7DB6_C78A_4872_9F0C_58F949EABDB5__INCLUDED_)
#define AFX_RPBACTIVEX_H__21FE7DB6_C78A_4872_9F0C_58F949EABDB5__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.

/////////////////////////////////////////////////////////////////////////////
// CRPBActiveX wrapper class

class CRPBActiveX : public CWnd
{
protected:
	DECLARE_DYNCREATE(CRPBActiveX)
public:
	CLSID const& GetClsid()
	{
		static CLSID const clsid
			= { 0xd72005fa, 0xf18b, 0x457d, { 0xbd, 0x7f, 0x61, 0x32, 0xa1, 0x56, 0xf4, 0x5e } };
		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:
	void Connect();
	void DisConnect();
	long OpenRecordByDateTime(LPCTSTR StartDateTime, LPCTSTR EndDateTime, long iCameraLow, long iCameraHigh);
	long SetActiveView(long iView);
	long GetActiveView();
	long GetCameraIndexFromView(long iView);
	long GetCameraCount();
	CString GetCameraName(long iCameraIndex);
	CString GetCameraModel(long iCameraIndex);
	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);
	void Play();
	void Pause();
	void Stop();
    long SaveAvi(long iView, LPCTSTR StartDateTime, LPCTSTR EndDateTime, BOOL bExportAudio, BOOL bExportOSD, LPCTSTR FileName);
    long SaveOriginalAvi(long iView, LPCTSTR StartDateTime, LPCTSTR EndDateTime, BOOL bExportAudio, BOOL bExportOSD, LPCTSTR FileName);
    long SaveASF(long iView, LPCTSTR StartDateTime, LPCTSTR EndDateTime, BOOL bExportAudio, BOOL bExportOSD, long iProfile, LPCTSTR FileName);
    long SaveImage(long iView, LPCTSTR FileName);
	// method 'SaveAvi' not emitted because of invalid return type or parameter type
	// method 'SaveASF' not emitted because of invalid return type or parameter type
	// method 'SaveImage' not emitted because of invalid return type or parameter type
	void StepForward();
	void StepBackward();
	long Seek(LPCTSTR DateTime);
	void SpeedUp();
	void SpeedDown();
    void Previous();
    void Next();
    CString GetPlayerState();
	CString GetCurrDisplayTime();
    void    ChangeResolution(int iWidth, int lHeight);
    void GetRecordDateList(LPCTSTR StartDateTime, LPCTSTR EndDateTime);
    void GetScheduleLogs(LPCTSTR DateTime);
    void GetRecordLogs(LPCTSTR DateTime);
    void QueryEvents(LPCTSTR StartDateTime, LPCTSTR EndDateTime, LPCTSTR DeviceType, long iCameraIndex, LPCTSTR EventType);
};

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

#endif // !defined(AFX_RPBACTIVEX_H__21FE7DB6_C78A_4872_9F0C_58F949EABDB5__INCLUDED_)
