123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- //---------------------------------------------------------------------------
- #ifndef CDSIncCctvCtlrFH
- #define CDSIncCctvCtlrFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <stdio.h>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include "ITSLibF.h"
- #include "ITSDbF.h"
- #include "CDSObjectF.h"
- //---------------------------------------------------------------------------
- #include "CenterCommF.h"
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- class TIncCctvPset
- {
- public:
- TIncCctvPset()
- {
- PSET_NMBR = 1;
- PSET_NM = "";
- PAN = 0;
- TILT = 0;
- ZOOM = 0;
- FOCS = 0;
- ANGLE = 0;
- DFLT_YN = "N";
- };
- ~TIncCctvPset() {};
- private:
- public:
- String CCTV_CTLR_NMBR; // N NUMBER(10) N CCTV 제어기 번호
- int PSET_NMBR; // N NUMBER(4) N 프리셋 번호
- String PSET_NM; // N VARCHAR2(100) N 프리셋 명
- int PAN; // N NUMBER(4) Y 0 팬 값
- int TILT; // N NUMBER(4) Y 0 틸트 값
- int ZOOM; // N NUMBER(4) Y 0 줌 값
- int FOCS; // N NUMBER(4) Y 0 포커스 값
- int ANGLE; // N NUMBER(4) Y 0 각도 값
- String DFLT_YN; // N CHAR(1) Y 'N' 디폴트 여부
- public:
- String DEL_YN;
- };
- class TIncCctvCtlr : public TCDSObject
- {
- public:
- TIncCctvCtlr();
- ~TIncCctvCtlr();
- public:
- #if 0
- String CTLR_NMBR; // N NUMBER(10) N VMS 제어기 번호
- String CTLR_ID; // N VARCHAR2(10) Y VMS 제어기 ID
- String NAME; // N VARCHAR2(40) Y VMS 명칭
- String CTLR_IP; // N VARCHAR2(20) Y VMS 제어기 아이피
- int CTLR_PORT; // N NUMBER(5) Y 0 VMS 제어기 포트
- int CTLR_LOCAL_NO; // N NUMBER(5) Y 0 VMS 제어기 지역번호
- String TYPE_CD; // N VARCHAR2(7) Y VMS 유형 코드
- String ISTL_LCTN_NM; // N VARCHAR2(40) Y 설치 위치 명
- String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
- double X_CRDN; // N NUMBER(11,8) Y X 좌표
- double Y_CRDN; // N NUMBER(10,8) Y Y 좌표
- String DEL_YN; // N CHAR(1) Y 'N' 삭제 여부
- #endif
- String CCTV_CAPT_IP; // N VARCHAR2(20) Y CCTV 자막기 아이피
- String CCTV_CAPT_PORT; // N VARCHAR2(5) Y CCTV 자막기 포트
- String CCTV_FIBR_IP; // N VARCHAR2(20) Y CCTV 광장비 아이피
- String CCTV_ENCD_IP; // N VARCHAR2(20) Y CCTV 인코더 아이피
- String STRM_SVR_IP; // N VARCHAR2(20) Y 스트리밍 서버 아이피
- String STRM_SVR_PORT; // N VARCHAR2(5) Y 스트리밍 서버 포트
- String STRM_SESN_NM; // N VARCHAR2(200) Y 스트리밍 세션 명
- String STRM_STOR_ADDR; // N VARCHAR2(200) Y 스트리밍 저장 주소
- String STRM_RTSP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTSP 주소
- String STRM_RTMP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTMP 주소
- String STRM_HTTP_ADDR; // N VARCHAR2(200) Y 스트리밍 HTTP 주소
- String INTR_RTSP_ADDR; // N VARCHAR2(200) Y 내부 RTSP 주소
- String INTR_RTMP_ADDR; // N VARCHAR2(200) Y 내부 RTMP 주소
- String INTR_HTTP_ADDR; // N VARCHAR2(200) Y 내부 HTTP 주소
- String CCTV_SBST_IMGN; // N BLOB Y CCTV 대체 영상
- String CCTV_SBST_DSPL_YN; // N CHAR(1) Y 'N' CCTV 대체 표출 여부
- String SYOP_CNTL_YN; // N CHAR(1) Y 'N' 운영자 제어 여부
- String CCTV_IP; // N VARCHAR2(20) Y 목포 CCTV 제어 IP
- int CCTV_PORT; // N NUMBER(5) Y 1852 목포 CCTV 제어 PORT
- String CCTV_ID; // N VARCHAR2(20) Y 'root' 목포 CCTV 제어 ID
- String CCTV_PSWD; // N VARCHAR2(20) Y '1234' 목포 CCTV 제어 PSWD
- int CCTV_CHNL; // N NUMBER(5) Y 1 목포 CCTV 제어 CHANNEL
- INT_CCTV_STATE STATE;
- public:
- TItsMap<int, TIncCctvPset*> FLists;
- public:
- #if 0
- __property String CCTV_CTLR_NMBR = { read = CTLR_NMBR, write = CTLR_NMBR };
- __property String CCTV_CTLR_ID = { read = CTLR_ID, write = CTLR_ID };
- __property String CCTV_NM = { read = NAME, write = NAME };
- __property String CCTV_CTLR_IP = { read = CTLR_IP, write = CTLR_IP };
- __property int CCTV_CTLR_PORT = { read = CTLR_PORT, write = CTLR_PORT };
- __property int CCTV_CTLR_LOCAL_NO = { read = CTLR_LOCAL_NO, write = CTLR_LOCAL_NO };
- __property String CCTV_TYPE_CD = { read = TYPE_CD, write = TYPE_CD };
- #endif
- };
- //---------------------------------------------------------------------------
- typedef std::map<String, TIncCctvCtlr*>::iterator IncCctvIterator;
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- class TIncCctvCtlrManager
- {
- public:
- TIncCctvCtlrManager();
- ~TIncCctvCtlrManager();
- private:
- TStream *FImgStream;
- public:
- TItsMap<String, TIncCctvCtlr*> FLists;
- public:
- bool LoadFromDb(TADOConnection *ADbConn=NULL);
- bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
- bool DeleteCctv(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool InsertCctv(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool UpdateCctv(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool MergeCctv(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool MergeFcltInfo(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool GetNextCctvId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL);
- bool LoadPreSet(TADOConnection *ADbConn=NULL);
- bool SavePreSet(TIncCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool DeletePreSet(TIncCctvCtlr *AObj, int APsetNmbr, TADOConnection *ADbConn=NULL);
- bool MergePreSet(TIncCctvCtlr *AObj, TIncCctvPset* APset, TADOConnection *ADbConn=NULL);
- bool InsCctvControlHs(String ACtlDt, String ACctvNmbr, String ACtlType, String ACtlVal, String ACtlRes, String AUserId, TADOConnection *ADbConn=NULL);
- };
- //---------------------------------------------------------------------------
- extern TIncCctvCtlrManager *IncCctvCtlrManager;
- //---------------------------------------------------------------------------
- #endif
|