CDSCCamCtlrF.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSCCamCtlrFH
  3. #define CDSCCamCtlrFH
  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. //---------------------------------------------------------------------------
  16. class TCCamPset
  17. {
  18. public:
  19. TCCamPset()
  20. {
  21. PSET_NMBR = 1;
  22. PSET_NM = "";
  23. PAN = 0;
  24. TILT = 0;
  25. ZOOM = 0;
  26. FOCS = 0;
  27. ANGLE = 0;
  28. DFLT_YN = "N";
  29. };
  30. ~TCCamPset() {};
  31. private:
  32. public:
  33. String CCAM_CTLR_NMBR; // N NUMBER(10) N CCTV 제어기 번호
  34. int PSET_NMBR; // N NUMBER(4) N 프리셋 번호
  35. String PSET_NM; // N VARCHAR2(100) N 프리셋 명
  36. int PAN; // N NUMBER(4) Y 0 팬 값
  37. int TILT; // N NUMBER(4) Y 0 틸트 값
  38. int ZOOM; // N NUMBER(4) Y 0 줌 값
  39. int FOCS; // N NUMBER(4) Y 0 포커스 값
  40. int ANGLE; // N NUMBER(4) Y 0 각도
  41. String DFLT_YN; // N CHAR(1) Y 'N' 디폴트 여부
  42. public:
  43. String DEL_YN;
  44. };
  45. class TCCamCtlr : public TCDSObject
  46. {
  47. public:
  48. TCCamCtlr();
  49. ~TCCamCtlr();
  50. public:
  51. #if 0
  52. String CTLR_NMBR; // N NUMBER(10) N VMS 제어기 번호
  53. String CTLR_ID; // N VARCHAR2(10) Y VMS 제어기 ID
  54. String NAME; // N VARCHAR2(40) Y VMS 명칭
  55. String CTLR_IP; // N VARCHAR2(20) Y VMS 제어기 아이피
  56. int CTLR_PORT; // N NUMBER(5) Y 0 VMS 제어기 포트
  57. int CTLR_LOCAL_NO; // N NUMBER(5) Y 0 VMS 제어기 지역번호
  58. String TYPE_CD; // N VARCHAR2(7) Y VMS 유형 코드
  59. String ISTL_LCTN_NM; // N VARCHAR2(40) Y 설치 위치 명
  60. String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
  61. double X_CRDN; // N NUMBER(11,8) Y X 좌표
  62. double Y_CRDN; // N NUMBER(10,8) Y Y 좌표
  63. String DEL_YN; // N CHAR(1) Y 'N' 삭제 여부
  64. #endif
  65. String STRM_SVR_IP; // N VARCHAR2(20) Y 스트리밍 서버 아이피
  66. String STRM_SVR_PORT; // N VARCHAR2(5) Y 스트리밍 서버 포트
  67. String STRM_SESN_NM; // N VARCHAR2(200) Y 스트리밍 세션 명
  68. String STRM_RTSP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTSP 주소
  69. String STRM_RTMP_ADDR; // N VARCHAR2(200) Y 스트리밍 RTMP 주소
  70. String STRM_HTTP_ADDR; // N VARCHAR2(200) Y 스트리밍 HTTP 주소
  71. String STRM_STOR_ADDR; // N VARCHAR2(200) Y 스트리밍 저장 주소
  72. int CMRA_PORT; // N NUMBER(5) Y 1852 웹카메라 제어 포트
  73. String CMRA_ID; // N VARCHAR2(20) Y 'root' 웹카메라 제어 ID
  74. String CMRA_PSWD; // N VARCHAR2(20) Y '1234' 웹카메라 제어 PSWD
  75. int CMRA_CHNL; // N NUMBER(5) Y 1 웹카메라제어 CHANNEL
  76. String LINK_ID; // N NUMBER(10) Y 링크ID
  77. int GROUP_NO; // N NUMBER(5) Y 0 그룹번호
  78. int FAN_MODE; // N NUMBER(3) Y 2 FAN 동작모드(0x00:꺼짐,0x01:켜짐,0x02:자동,0x09:알수없음)
  79. int FAN_RUN_TMPR; // N NUMBER(3) Y 30 팬 동작 온도
  80. int HETR_MODE; // N NUMBER(3) Y 2 히터 동작모드(0x00:꺼짐,0x01:켜짐,0x02:자동,0x09:알수없음)
  81. int HETR_RUN_TMPR; // N NUMBER(3) Y 0 히터 동작 온도
  82. int DETECT_LANES; // N NUMBER(2) Y 0 검지 전체 차로수
  83. int TRAF_CLCT_CYCL; // N NUMBER(3) Y 60 교통정보수집주기
  84. int STTS_CLCT_CYCL; // N NUMBER(3) Y 0 상태정보수집주기
  85. public:
  86. INT_CCAM_STATE STATE;
  87. TItsMap<int, TCCamPset*> FLists;
  88. public:
  89. #if 0
  90. __property String CCAM_CTLR_NMBR = { read = CTLR_NMBR, write = CTLR_NMBR };
  91. __property String CCAM_CTLR_ID = { read = CTLR_ID, write = CTLR_ID };
  92. __property String CCAM_NM = { read = NAME, write = NAME };
  93. __property String CCAM_CTLR_IP = { read = CTLR_IP, write = CTLR_IP };
  94. __property int CCAM_CTLR_PORT = { read = CTLR_PORT, write = CTLR_PORT };
  95. __property int CCAM_CTLR_LOCAL_NO = { read = CTLR_LOCAL_NO, write = CTLR_LOCAL_NO };
  96. __property String CCAM_TYPE_CD = { read = TYPE_CD, write = TYPE_CD };
  97. #endif
  98. };
  99. //---------------------------------------------------------------------------
  100. typedef std::map<String, TCCamCtlr*>::iterator CCamIterator;
  101. //---------------------------------------------------------------------------
  102. //---------------------------------------------------------------------------
  103. class TCCamCtlrManager
  104. {
  105. public:
  106. TCCamCtlrManager();
  107. ~TCCamCtlrManager();
  108. private:
  109. TStream *FImgStream;
  110. public:
  111. TItsMap<String, TCCamCtlr*> FLists;
  112. public:
  113. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  114. bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
  115. bool DeleteCCam(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  116. bool InsertCCam(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  117. bool UpdateCCam(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  118. bool MergeCCam(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  119. bool MergeFcltInfo(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  120. bool GetNextCCamId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL);
  121. bool LoadPreSet(TADOConnection *ADbConn=NULL);
  122. bool SavePreSet(TCCamCtlr *AObj, TADOConnection *ADbConn=NULL);
  123. bool DeletePreSet(TCCamCtlr *AObj, int APsetNmbr, TADOConnection *ADbConn=NULL);
  124. bool MergePreSet(TCCamCtlr *AObj, TCCamPset* APset, TADOConnection *ADbConn=NULL);
  125. bool InsCCamControlHs(String ACtlDt, String ACctvNmbr, String ACtlType, String ACtlVal, String ACtlRes, String AUserId, TADOConnection *ADbConn=NULL);
  126. };
  127. //---------------------------------------------------------------------------
  128. extern TCCamCtlrManager *CCamCtlrManager;
  129. //---------------------------------------------------------------------------
  130. #endif