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

#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"
#include "dxSkinBlue.hpp"
#include "dxSkinCaramel.hpp"
#include "dxSkinCoffee.hpp"
#include "dxSkinDarkRoom.hpp"
#include "dxSkinDarkSide.hpp"
#include "dxSkinFoggy.hpp"
#include "dxSkinGlassOceans.hpp"
#include "dxSkiniMaginary.hpp"
#include "dxSkinLilian.hpp"
#include "dxSkinLiquidSky.hpp"
#include "dxSkinLondonLiquidSky.hpp"
#include "dxSkinMoneyTwins.hpp"
#include "dxSkinOffice2007Black.hpp"
#include "dxSkinOffice2007Blue.hpp"
#include "dxSkinOffice2007Green.hpp"
#include "dxSkinOffice2007Pink.hpp"
#include "dxSkinOffice2007Silver.hpp"
#include "dxSkinOffice2010Black.hpp"
#include "dxSkinOffice2010Blue.hpp"
#include "dxSkinOffice2010Silver.hpp"
#include "dxSkinSeven.hpp"
#include "dxSkinSharp.hpp"
#include "dxSkinSilver.hpp"
#include "dxSkinStardust.hpp"

//---------------------------------------------------------------------------
class TFrmSamsungPlayer1 : public TForm
{
__published:	// IDE-managed Components
    TPanel *PnlClient;
    TXnsSdkDevice *XnsSdkDevice1;
    TXnsSdkWindow *XnsSdkWindow1;
    TcxLabel *LblErrMsg;
    void __fastcall FormShow(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);

    int __fastcall Play(String AId,
                        String ALoc,
                        String AIpAddress,
                        int    APort=4520,
                        String AConnId="admin",
                        String AConnPass="4321",
                        String AComModel="Samsung",
                        String ADevModel="SNP-3371TH");

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

