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

#ifndef CDSProcessFH
#define CDSProcessFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include "cxCustomData.hpp"
#include "ITSLibF.h"
#include "ITSDbF.h"
//---------------------------------------------------------------------------

/*
*  Process class
*/
class TItsProcess
{
public:
    TItsProcess();
    virtual ~TItsProcess();
    void Clear();
private:
    bool    FModified;
    bool    FCompleted;
    int     FEditMode;

public:
    String SYST_ID;
    String SYST_TYPE;
    String SYST_NMBR;
    String SYST_NM;
    String SYST_IP_1;
    String SYST_IP_2;
    String PRGM_PORT;
    String HOST_NM;
    String OS_NM;
    String DEL_YN;
    String STTS_DSPL_YN;


public:
    String FMEM_DEL;
    String FCommStatus;     // 장비 통신상태값
    String FDoorStatus;     // 장비 Door상태값

	int    FGridIndex;	    // 메인폼에 뿌려지는 그리드 인덱스

protected:

public:
    __property bool   Modified  = {read = FModified};
    __property bool   Completed = {read = FCompleted, write = FCompleted};
	__property int    GridIndex = {read = FGridIndex, write = FGridIndex };
	__property int    EditMode  = {read = FEditMode,  write = FEditMode };


    __property String MEM_DEL    = {read = FMEM_DEL, write = FMEM_DEL };
    __property String CommStatus = {read = FCommStatus, write = FCommStatus };
    __property String DoorStatus = {read = FDoorStatus, write = FDoorStatus };
};
//---------------------------------------------------------------------------

/*
* Process Manager
*/
class TItsProcessManager
{
public:
    TItsProcessManager();
    virtual ~TItsProcessManager();

public:
    TItsMap<String, TItsProcess*>    FLists;

public:
    bool LoadFromDb(TADOConnection *ADbConn=NULL);
    bool LoadProcessStatusFromDb(TADOConnection *ADbConn=NULL);
    bool LoadCctvProcessStatusFromDb(TADOConnection *ADbConn=NULL);
};
//---------------------------------------------------------------------------
extern TItsProcessManager *ItsProcessManager;
//---------------------------------------------------------------------------

#endif

