123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include "CDSCctvF.h"
- #include "XCctvList.h"
- #include "XViewList.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- TXCamera::TXCamera()
- {
- }
- //---------------------------------------------------------------------------
- TXCamera::~TXCamera()
- {
- }
- //---------------------------------------------------------------------------
- TXView::TXView()
- {
- FForm = NULL;
- FCount = 0;
- InitCamera();
- }
- //---------------------------------------------------------------------------
- TXView::~TXView()
- {
- }
- //---------------------------------------------------------------------------
- void TXView::InitCamera()
- {
- for (int kk = 0; kk < MAX_CAMERA; kk++)
- {
- FCamera[kk].Installed = false;
- FCamera[kk].Index = -1;
- FCamera[kk].Id = "";
- FCamera[kk].Play = true;
- }
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TXViewManager *XViewManager = NULL;
- //---------------------------------------------------------------------------
- /*
- * XCctv Manager
- */
- TXViewManager::TXViewManager()
- {
- }
- //---------------------------------------------------------------------------
- TXViewManager::~TXViewManager()
- {
- }
- //---------------------------------------------------------------------------
- bool TXViewManager::LoadXml(TXMLDocument *AXMLDocument, String AXmlFile)
- {
- try
- {
- FLists.Lock();
- FLists.RemoveAll();
- try
- {
- AXMLDocument->LoadFromFile(AXmlFile);
- _di_IXMLViewListType ViewList = GetViewList(AXMLDocument);
- for (int ii = 0; ii < ViewList->Count; ii++)
- {
- _di_IXMLViewType view = ViewList->Get_View(ii);
- TXView *pObj = new TXView();
- pObj->Id = view->Id;
- pObj->Name = view->Name;
- pObj->Layout = view->Layout;
- pObj->Selected = view->Selected;
- FLists.Push(pObj->Id, pObj);
- _di_IXMLCameraTypeList cctvlist = view->Get_Camera();
- for (int jj = 0; jj < cctvlist->Count; jj++)
- {
- _di_IXMLCameraType cctv = cctvlist->Get_Item(jj);
- if (cctv->Index < 0 || cctv->Index >= MAX_CAMERA) continue;
- pObj->FCamera[cctv->Index].Installed = true;
- pObj->FCamera[cctv->Index].Index = cctv->Index;
- pObj->FCamera[cctv->Index].Id = cctv->Id;
- pObj->FCamera[cctv->Index].Play = (cctv->Play) == 1 ? true : false;
- }
- }
- AXMLDocument->Active = false;
- }
- catch(...)
- {
- }
- }
- __finally
- {
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool TXViewManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT MONITORING_NM, MONITORING_SEQ, VMS_CTLR_NMBR \r\n"
- " FROM TB_VMS_MONITORING \r\n"
- " WHERE MONITORING_TYPE = 3 \r\n"
- " ORDER BY MONITORING_NM DESC, MONITORING_SEQ \r\n";
- TXView *pView = NULL;
- try
- {
- FLists.Lock();
- FLists.RemoveAll();
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Open();
- //int nRows = pADO->RecordCount;
- for( ; !pADO->Eof; pADO->Next())
- {
- String sScrName = pADO->FieldByName("MONITORING_NM")->AsString;
- String sScrSeq = pADO->FieldByName("MONITORING_SEQ")->AsString;
- String sVmsNmbr = pADO->FieldByName("VMS_CTLR_NMBR")->AsString;
- pView = FLists.Find(sScrName);
- if (!pView)
- {
- pView = new TXView();
- pView->Id = sScrName;
- pView->Name = sScrName;
- pView->Selected = false;
- FLists.Push(pView->Id, pView);
- }
- if (pView->FCount < MAX_CAMERA)
- {
- TXCamera *pCam = &pView->FCamera[pView->FCount++];
- pCam->Installed = true;
- pCam->Id = sVmsNmbr;
- pCam->Play = true;
- }
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- FOR_STL(TXView*, pObj, FLists)
- {
- switch(pObj->FCount)
- {
- case 0: case 1: pObj->Layout = 0; break; //1*1
- case 2: case 3: case 4: pObj->Layout = 1; break; //2*2
- case 5: case 6: pObj->Layout = 3; break; //3*2
- case 7: case 8: case 9: pObj->Layout = 2; break; //3*3
- case 10: case 11: case 12: pObj->Layout = 4; break; //4*3
- case 13: case 14: case 15: case 16: pObj->Layout = 5; break; //4*4
- case 17: case 18: case 19: case 20: pObj->Layout = 7; break; //5*4
- case 21: case 22: case 23: case 24: pObj->Layout = 8; break; //6*4
- case 25: case 26: case 27: case 28:
- case 29: case 30: pObj->Layout = 9; break; //6*5
- default:
- if (pObj->FCount <= 42) pObj->Layout = 10; //7*6
- else if (pObj->FCount <= 56) pObj->Layout = 11; //8*7
- else pObj->Layout = 12; //8*8
- break;
- }
- }
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- TXCctv::TXCctv()
- {
- FGridIndex = -1;
- FTreeIndex = -1;
- DEL_YN = "N";
- MEM_DEL = "N";
- Clear();
- }
- //---------------------------------------------------------------------------
- void TXCctv::Clear()
- {
- }
- //---------------------------------------------------------------------------
- TXCctv::~TXCctv()
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TXCctvManager *XCctvManager = NULL;
- //---------------------------------------------------------------------------
- /*
- * XCctv Manager
- */
- TXCctvManager::TXCctvManager()
- {
- }
- //---------------------------------------------------------------------------
- TXCctvManager::~TXCctvManager()
- {
- }
- //---------------------------------------------------------------------------
- bool TXCctvManager::LoadXml(TXMLDocument *AXMLDocument, String AXmlFile)
- {
- try
- {
- FLists.Lock();
- FLists.RemoveAll();
- try
- {
- AXMLDocument->LoadFromFile(AXmlFile);
- _di_IXMLCctvListType CctvList = GetCctvList(AXMLDocument);
- for (int ii = 0; ii < CctvList->Count; ii++)
- {
- _di_IXMLCctvType cctv = CctvList->Get_Cctv(ii);
- TXCctv *pObj = new TXCctv();
- pObj->Id = cctv->Id;
- pObj->Group = cctv->Group;
- pObj->Name = cctv->Name;
- pObj->StreamingType = "rtsp";//cctv->StreamingType;
- pObj->ViewAddress = cctv->ViewAddress;
- pObj->FullAddress = cctv->FullAddress;
- FLists.Push(pObj->Id, pObj);
- pObj->Completed = true;
- }
- AXMLDocument->Active = false;
- }
- catch(...)
- {
- }
- }
- __finally
- {
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool TXCctvManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- try
- {
- FLists.Lock();
- FLists.RemoveAll();
- try
- {
- FOR_STL(TVmsCtlr*, pVms, VmsManager->FLists)
- {
- TXCctv *pObj = new TXCctv();
- pObj->Id = String(pVms->VMS_CTLR_NMBR);
- pObj->CAMID = pVms->VMS_CTLR_ID;
- pObj->Group = "1";
- pObj->Name = pVms->VMS_NM;
- pObj->StreamingType = RTSP;
- #if 0
- if (pVms->STRM_SESN_NM.Trim() == ICSVIEW)
- {
- pObj->StreamingType = ICSVIEW;
- }
- else
- if (pVms->STRM_SESN_NM.Trim() == SAMSUNG)
- {
- pObj->StreamingType = SAMSUNG;
- }
- else
- {
- pObj->StreamingType = RTSP;
- }
- #endif
- pObj->ViewAddress = pVms->STRM_SESN_NM;
- pObj->FullAddress = pVms->STRM_SESN_NM;
- pObj->WebCamIp = pVms->WEB_CMRA_IP;
- pObj->CtlrIp = pVms->VMS_CTLR_IP;
- pObj->WebCamUser = pVms->WEB_CMRA_ID;
- pObj->WebCamPswd = pVms->WEB_CMRA_PWD;
- FLists.Push(pObj->Id, pObj);
- pObj->Completed = true;
- }
- }
- catch(...)
- {
- }
- }
- __finally
- {
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
|