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

#ifndef BDS0000MFH
#define BDS0000MFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DB.hpp>
#include <DBClient.hpp>
#include <FMTBcd.hpp>
#include <Provider.hpp>
#include <SqlExpr.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include <ComCtrls.hpp>
#include <ADODB.hpp>
#include "cxButtons.hpp"
#include "cxContainer.hpp"
#include "cxControls.hpp"
#include "cxEdit.hpp"
#include "cxGraphics.hpp"
#include "cxGroupBox.hpp"
#include "cxLookAndFeelPainters.hpp"
#include "cxLookAndFeels.hpp"
#include "dxSkinBlack.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 "dxSkinMcSkin.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 "dxSkinsCore.hpp"
#include "dxSkinSeven.hpp"
#include "dxSkinSharp.hpp"
#include "dxSkinSilver.hpp"
#include "dxSkinStardust.hpp"
#include "cxLabel.hpp"
#include "cxTextEdit.hpp"
#include "cxProgressBar.hpp"
#include "IdAntiFreeze.hpp"
#include "IdAntiFreezeBase.hpp"
#include "IdBaseComponent.hpp"
#include "IdComponent.hpp"
#include "IdExplicitTLSClientServerBase.hpp"
#include "IdFTP.hpp"
#include "IdTCPClient.hpp"
#include "IdTCPConnection.hpp"
#include <OleCtrls.hpp>
#include "AXVLC_TLB.hpp"
#include "ShockwaveEx.hpp"
#include "ShockwaveFlashObjects_TLB.hpp"
//---------------------------------------------------------------------------

#define MAX_PLAYER  3
class TBDS0000M : public TForm
{
__published:	// IDE-managed Components
    TTimer *TmrShow;
    TcxButton *BtnDownload;
    TEdit *EdFocus;
    TcxGroupBox *cxGroupBox1;
    TShape *ShpList;
    TcxGroupBox *grpStatus;
    TImage *ImgDesc01;
    TcxLabel *cxLabel1;
    TcxTextEdit *eBDS_MNGM_NMBR;
    TImage *ImgDesc02;
    TcxLabel *cxLabel2;
    TcxTextEdit *eTRMN_ID;
    TImage *ImgDesc99;
    TcxTextEdit *eOCRR_DT;
    TcxLabel *cxLabel15;
    TImage *ImgDesc91;
    TcxLabel *cxLabel3;
    TcxTextEdit *eIMGN_PATH;
    TImage *ImgDesc05;
    TcxLabel *cxLabel8;
    TIdFTP *IdFtp;
    TcxTextEdit *eIMGN_PATH_RES;
    TPanel *Panel1;
    TcxButton *BtnClose;
    TImage *ImgDesc11;
    TcxLabel *cxLabel4;
    TImage *ImgDesc12;
    TcxLabel *cxLabel5;
    TcxLabel *cxLabel6;
    TImage *ImgDesc14;
    TcxLabel *cxLabel7;
    TImage *ImgDesc13;
    TPanel *Panel2;
    TPanel *Panel4;
    TPanel *Panel3;
    TcxButton *BtnStop;
    TcxButton *BtnPlay;
    TVLCPlugin2 *VLCPlugin21;
    TcxLabel *lblCam1;
    TVLCPlugin2 *VLCPlugin22;
    TcxLabel *lblCam2;
    TVLCPlugin2 *VLCPlugin23;
    TcxLabel *lblCam3;
    TShockwaveFlashEx *ShockwaveFlash1;
    void __fastcall FormShow(TObject *Sender);
    void __fastcall TmrShowTimer(TObject *Sender);
    void __fastcall BtnCloseClick(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall IdFtpStatus(TObject *ASender, const TIdStatus AStatus, const UnicodeString AStatusText);
    void __fastcall BtnDownloadClick(TObject *Sender);
    void __fastcall BtnPlayClick(TObject *Sender);
    void __fastcall BtnStopClick(TObject *Sender);
    void __fastcall VLCPlugin21MediaPlayerBuffering(TObject *ASender, int cache);
    void __fastcall VLCPlugin21MediaPlayerTimeChanged(TObject *ASender, int Time);
    void __fastcall VLCPlugin21MediaPlayerEncounteredError(TObject *Sender);
    void __fastcall ShockwaveFlash1FlashCall(TObject *ASender, const WideString request);
    void __fastcall VLCPlugin21MediaPlayerEndReached(TObject *Sender);







private:	// User declarations
    void __fastcall CommClose();

public:
    String EventID;
    String BDS_MNGM_NMBR;   //	N	VARCHAR2(20)	N			블랙박스 관리 번호
    String OPNC_NMBR;       //	N	VARCHAR2(128)	Y			개통 번호
    String MDM_NMBR;        //	N	VARCHAR2(10)	Y			모뎀 번호
    String USIM_NMBR;       //	N	VARCHAR2(10)	Y			유심 번호
    String VHCL_NMBR;       //	N	VARCHAR2(15)	Y			차량 번호
    String OWNR_NM;         //	N	VARCHAR2(30)	Y			소유자 명
    String OCRR_DT;         //	N	VARCHAR2(14)	N			발생 일시
    String EVT_TYPE;
    String TRMN_ID;         //	N	VARCHAR2(128)	Y			단말기 ID
    String X_CRDN;          //	N	NUMBER(11,8)	Y			x 좌표
    String Y_CRDN;          //	N	NUMBER(10,8)	Y			Y 좌표
    String IMGN_PATH;       //	N	VARCHAR2(200)	Y			영상 경로

    String FDownloadDir;
    String FDownloadFile;
    String FAviFile;
    DWORD  m_dwBytesToTrans;

    bool         MapInit;
    bool         MapStart;

    TcxLabel    *LblCam[MAX_PLAYER];
    TPanel      *PnlCam[MAX_PLAYER];
    TVLCPlugin2 *VlcPlayer[MAX_PLAYER];
    String       PlayerFile[MAX_PLAYER];

public:		// User declarations
    __fastcall TBDS0000M(TComponent* Owner);

    void __fastcall AddPos();
    void __fastcall InitControl();
    void __fastcall RefreshData();
    bool __fastcall DownloadAviFile();

    bool __fastcall ChangeDir(String sDir);
    void __fastcall DisconnectFtp();
    bool __fastcall ConnectFtp(bool bPassive, String sHost, int nPort, String sUser, String sPswd);
    bool __fastcall SplitStream();
};
//---------------------------------------------------------------------------
extern PACKAGE TBDS0000M *BDS0000M;
//---------------------------------------------------------------------------

#endif

