CDSCctvCtlrF.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSCctvCtlrFH
  3. #define CDSCctvCtlrFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <stdio.h>
  7. #include <ADODB.hpp>
  8. #include <DB.hpp>
  9. #include "ITSLibF.h"
  10. #include "ITSDbF.h"
  11. #include "CDSObjectF.h"
  12. //---------------------------------------------------------------------------
  13. #include "CenterCommF.h"
  14. //---------------------------------------------------------------------------
  15. #define D_CCTV_HANTEx
  16. //---------------------------------------------------------------------------
  17. class TCctvPset
  18. {
  19. public:
  20. TCctvPset()
  21. {
  22. PSET_NMBR = 1;
  23. PSET_NM = "";
  24. PAN = 0;
  25. TILT = 0;
  26. ZOOM = 0;
  27. FOCS = 0;
  28. ANGLE = 0;
  29. DFLT_YN = "N";
  30. };
  31. ~TCctvPset() {};
  32. private:
  33. public:
  34. String CCTV_CTLR_NMBR; // N NUMBER(10) N CCTV 제어기 번호
  35. int PSET_NMBR; // N NUMBER(4) N 프리셋 번호
  36. String PSET_NM; // N VARCHAR2(100) N 프리셋 명
  37. int PAN; // N NUMBER(4) Y 0 팬 값
  38. int TILT; // N NUMBER(4) Y 0 틸트 값
  39. int ZOOM; // N NUMBER(4) Y 0 줌 값
  40. int FOCS; // N NUMBER(4) Y 0 포커스 값
  41. int ANGLE; // N NUMBER(4) Y 0 각도 값
  42. String DFLT_YN; // N CHAR(1) Y 'N' 디폴트 여부
  43. public:
  44. String DEL_YN;
  45. };
  46. class TCctvCtlr : public TCDSObject
  47. {
  48. public:
  49. TCctvCtlr();
  50. ~TCctvCtlr();
  51. public:
  52. #if 0
  53. String CTLR_NMBR; // N NUMBER(10) N VMS 제어기 번호
  54. String CTLR_ID; // N VARCHAR2(10) Y VMS 제어기 ID
  55. String NAME; // N VARCHAR2(40) Y VMS 명칭
  56. String CTLR_IP; // N VARCHAR2(20) Y VMS 제어기 아이피
  57. int CTLR_PORT; // N NUMBER(5) Y 0 VMS 제어기 포트
  58. int CTLR_LOCAL_NO; // N NUMBER(5) Y 0 VMS 제어기 지역번호
  59. String TYPE_CD; // N VARCHAR2(7) Y VMS 유형 코드
  60. String ISTL_LCTN_NM; // N VARCHAR2(40) Y 설치 위치 명
  61. String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
  62. double X_CRDN; // N NUMBER(11,8) Y X 좌표
  63. double Y_CRDN; // N NUMBER(10,8) Y Y 좌표
  64. String DEL_YN; // N CHAR(1) Y 'N' 삭제 여부
  65. #endif
  66. String CCTV_CAPT_IP; // N VARCHAR2(20) Y CCTV 자막기 아이피
  67. String CCTV_CAPT_PORT; // N VARCHAR2(5) Y CCTV 자막기 포트
  68. String CCTV_FIBR_IP; // N VARCHAR2(20) Y CCTV 광장비 아이피
  69. String CCTV_ENCD_IP; // N VARCHAR2(20) Y CCTV 인코더 아이피
  70. String STRM_SVR_IP; // N VARCHAR2(20) Y 스트리밍 서버 아이피
  71. String STRM_SVR_PORT; // N VARCHAR2(5) Y 스트리밍 서버 포트
  72. String STRM_SESN_NM; // N VARCHAR2(200) Y 스트리밍 세션 명
  73. String STRM_STOR_ADDR; // N VARCHAR2(200) Y 스트리밍 저장 주소
  74. String STRM_RTSP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTSP 주소
  75. String STRM_RTMP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTMP 주소
  76. String STRM_HTTP_ADDR; // N VARCHAR2(200) Y 스트리밍 HTTP 주소
  77. String INTR_RTSP_ADDR; // N VARCHAR2(200) Y 내부 RTSP 주소
  78. String INTR_RTMP_ADDR; // N VARCHAR2(200) Y 내부 RTMP 주소
  79. String INTR_HTTP_ADDR; // N VARCHAR2(200) Y 내부 HTTP 주소
  80. String CCTV_SBST_IMGN; // N BLOB Y CCTV 대체 영상
  81. String CCTV_SBST_DSPL_YN; // N CHAR(1) Y 'N' CCTV 대체 표출 여부
  82. String SYOP_CNTL_YN; // N CHAR(1) Y 'N' 운영자 제어 여부
  83. String CCTV_IP; // N VARCHAR2(20) Y 목포 CCTV 제어 IP
  84. int CCTV_PORT; // N NUMBER(5) Y 1852 목포 CCTV 제어 PORT
  85. String LINK_ID; // N NUMBER(10) Y 링크ID
  86. String NODE_ID; // N NUMBER(10) Y 노드ID
  87. String CCTV_ID; // N VARCHAR2(20) Y 'root' 목포 CCTV 제어 ID
  88. String RELY_PORT; // N VARCHAR2(5) Y 연계 포트
  89. String AREA_CD; // N VARCHAR2(7) Y 지역 코드
  90. String CCTV_TYPE; // N VARCHAR2(10) Y CCTV 유형
  91. String CCTV_AREA_DVSN; // N VARCHAR2(7) Y CCTV 지역 구분
  92. String CCTV_PSWD; // N VARCHAR2(20) Y '1234' 목포 CCTV 제어 PSWD
  93. int CCTV_CHNL; // N NUMBER(5) Y 1 목포 CCTV 제어 CHANNEL
  94. INT_CCTV_STATE STATE;
  95. public:
  96. TItsMap<int, TCctvPset*> FLists;
  97. public:
  98. #if 0
  99. __property String CCTV_CTLR_NMBR = { read = CTLR_NMBR, write = CTLR_NMBR };
  100. __property String CCTV_CTLR_ID = { read = CTLR_ID, write = CTLR_ID };
  101. __property String CCTV_NM = { read = NAME, write = NAME };
  102. __property String CCTV_CTLR_IP = { read = CTLR_IP, write = CTLR_IP };
  103. __property int CCTV_CTLR_PORT = { read = CTLR_PORT, write = CTLR_PORT };
  104. __property int CCTV_CTLR_LOCAL_NO = { read = CTLR_LOCAL_NO, write = CTLR_LOCAL_NO };
  105. __property String CCTV_TYPE_CD = { read = TYPE_CD, write = TYPE_CD };
  106. #endif
  107. };
  108. //---------------------------------------------------------------------------
  109. typedef std::map<String, TCctvCtlr*>::iterator CctvIterator;
  110. //---------------------------------------------------------------------------
  111. //---------------------------------------------------------------------------
  112. class TCctvCtlrManager
  113. {
  114. public:
  115. TCctvCtlrManager();
  116. ~TCctvCtlrManager();
  117. private:
  118. TStream *FImgStream;
  119. public:
  120. TItsMap<String, TCctvCtlr*> FLists;
  121. public:
  122. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  123. bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
  124. bool DeleteCctv(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  125. bool InsertCctv(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  126. bool UpdateCctv(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  127. bool MergeCctv(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  128. bool MergeFcltInfo(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  129. bool GetNextCctvId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL);
  130. bool LoadPreSet(TADOConnection *ADbConn=NULL);
  131. bool SavePreSet(TCctvCtlr *AObj, TADOConnection *ADbConn=NULL);
  132. bool DeletePreSet(TCctvCtlr *AObj, int APsetNmbr, TADOConnection *ADbConn=NULL);
  133. bool MergePreSet(TCctvCtlr *AObj, TCctvPset* APset, TADOConnection *ADbConn=NULL);
  134. bool InsCctvControlHs(String ACtlDt, String ACctvNmbr, String ACtlType, String ACtlVal, String ACtlRes, String AUserId, TADOConnection *ADbConn=NULL);
  135. };
  136. //---------------------------------------------------------------------------
  137. extern TCctvCtlrManager *CctvCtlrManager;
  138. //---------------------------------------------------------------------------
  139. #endif