//---------------------------------------------------------------------------

#ifndef FrmSamsungPlayer1FH
#define FrmSamsungPlayer1FH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <OleCtrls.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
#include "XNSSDKDEVICELib_OCX.h"
#include "XNSSDKWINDOWLib_OCX.h"
#include "cxContainer.hpp"
#include "cxControls.hpp"
#include "cxEdit.hpp"
#include "cxGraphics.hpp"
#include "cxLabel.hpp"
#include "cxLookAndFeelPainters.hpp"
#include "cxLookAndFeels.hpp"
#include "dxSkinBlack.hpp"
#include "dxSkinMcSkin.hpp"
#include "dxSkinsCore.hpp"

//---------------------------------------------------------------------------
class TFrmSamsungPlayer1 : public TForm
{
__published:	// IDE-managed Components
    TPanel *PnlClient;
    TTimer *TmrShow;
    TXnsSdkDevice *XnsSdkDevice1;
    TXnsSdkWindow *XnsSdkWindow1;
    TcxLabel *LblErrMsg;
    void __fastcall FormShow(TObject *Sender);
    void __fastcall TmrShowTimer(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall FormDestroy(TObject *Sender);
    void __fastcall XnsSdkDevice1ConnectFailed(TObject *Sender, long nDeviceID, long nControlID);
    void __fastcall XnsSdkDevice1DeviceStatusChanged(TObject *Sender, long nDeviceID, long nErrorCode, long nDeviceStatus,
          long nHddCondition);
private:	// User declarations
public:
	long     m_hDevice;         // Device handle
	long     m_lDeviceId;       // Device handle
	long     m_hMediaSource;    // Media stream ID
	long     m_nControlId;      // Control ID
	bool     m_bIsMediaPlay;    // Media play or stop
    bool     FInitialize;

public:		// User declarations
    String  FStrmAddr;
    String  FId;
    String  FLoc;

    WideString FDefModel;
    WideString FModelName;
    WideString FIpAddress;
    int        FPort;
    WideString FConnId;
    WideString FConnPass;

    __fastcall TFrmSamsungPlayer1(TComponent* Owner, TWinControl* AParent);

    void __fastcall CommClose();

    void __fastcall WebCamPlay();
    void __fastcall WebCamStop();

    bool __fastcall SetupWebCamera();
    void __fastcall ReleaseWebCamera();
    bool __fastcall ConnectWebCamera();
    bool __fastcall OpenWebCamera();
    void __fastcall DisconnectWebCamera();
    void __fastcall CloseWebCamera();

    int __fastcall CameraControl(int ACommand, int ASpeed);

    void __fastcall ErrorMsg(String AErrMsg);
};
//---------------------------------------------------------------------------
//extern PACKAGE TFrmSamsungPlayer1 *FrmSamsungPlayer1;
//---------------------------------------------------------------------------
#endif

