void Grid::MoveSite(int id, int x, int y) { auto& si = SecondaryIndex::get_mutable_instance(); auto p = si.find(id); if (p == si.end()) { AddSite(id, x, y); return; } int row = get_coordinate(y); int col = get_coordinate(x); lock_guard<mutex>{s_mutex[id]}; auto ptr = &p->second; if (ptr->col == col && ptr->row == row) {// local update auto p_site = ptr->p_bucket->sites_.begin() + ptr->index; p_site->SetValue(x, y, static_cast<int>(time(nullptr))); } else {// non-local update if (ptr->row_ld >= 0) // ReSharper disable once CppPossiblyErroneousEmptyStatements while (RemoveFromCell(id, ptr->col_ld, ptr->row_ld) == false); auto added = AddToCell(id, x, y, col, row); ptr->p_bucket->sites_[ptr->index].NegateTime(); ptr->RollInValues(added.first, added.second, col, row); } }
void VSCMainWindows::SetupConnections() { connect(m_pMainArea, SIGNAL(tabCloseRequested(int)), this, SLOT(MainCloseTab(int))); connect(m_pDeviceList, SIGNAL(SurveillanceClicked()), this, SLOT(AddSurveillance())); connect(m_pDeviceList, SIGNAL(CameraAddClicked()), this, SLOT(AddCamera())); connect(m_pDeviceList, SIGNAL(PlaybackClicked()), this, SLOT(AddPlayback())); connect(m_pDeviceList, SIGNAL(SearchClicked()), this, SLOT(Search())); connect(m_pDeviceList, SIGNAL(RecorderClicked()), this, SLOT(AddRecorder())); connect(m_pDeviceList, SIGNAL(SiteAddClicked()), this, SLOT(AddSite())); connect(m_pDeviceList, SIGNAL(CameraEditClicked(int)), this, SLOT(EditCamera(int))); connect(m_pDeviceList, SIGNAL(CameraDeleteClicked(int)), this, SLOT(DeleteCamera(int))); connect(m_pDeviceList, SIGNAL(SiteEditClicked(int)), this, SLOT(EditSite(int))); connect(m_pDeviceList, SIGNAL(SiteDeleteClicked(int)), this, SLOT(DeleteSite(int))); /* Disk edit */ connect(m_pDeviceList, SIGNAL(DiskEditClicked()), this, SLOT(EditDisk())); //connect(this, SIGNAL(CameraDeleted()), m_pDeviceList, SLOT(CameraTreeUpdated())); connect(m_pToolBar->ui.pbFullScreen, SIGNAL(clicked()), this, SLOT(SetFullScreen())); connect(m_pToolBar->ui.pbAbout, SIGNAL(clicked()), this, SLOT(about())); connect(m_pToolBar->ui.pbAlarm, SIGNAL(clicked()), this, SLOT(AddEvent())); connect(m_pToolBar->ui.pbSetting, SIGNAL(clicked()), this, SLOT(Setting())); connect(m_pEventThread, SIGNAL(EventNotifyNoParam()), m_pToolBar, SLOT(NewAlarm())); }
void VSCDeviceList::VmsTreeUpdated() { /* Delete all the site */ { QTreeWidgetItem *qtreewidgetitem = ui.treeWidget->topLevelItem(VSC_DEVICE_INDEX_SITE); qDeleteAll(qtreewidgetitem->takeChildren()); } VSCVmsData pData; gFactory->GetVms(pData); for (s32 i = 1; i < CONF_VMS_NUM_MAX; i ++) { if (pData.data.conf.vms[i].Used == 1) { switch (pData.data.conf.vms[i].nType) { case VSC_VMS_SITE: { AddSite(pData.data.conf.vms[i]); break; } default: { break; } } }else { continue; } } }
void VSCDeviceList::NotifyAddVms(int nId) { VSCVmsDataItem pParam; if (gFactory->GetVmsById(pParam, nId) == TRUE) { switch (pParam.nType) { case VSC_VMS_SITE: { AddSite(pParam); break; } default: { break; } } } return; }
void VSCMainWindows::AddRecorder() { AddSite(); }
BOOL fsSitesMgr::LoadFromFile(HANDLE hFile) { int cSites; DWORD dw; BOOL bOldVer = FALSE; m_vSites.clear (); fsSitesFileHdr hdr; if (!ReadFile (hFile, &hdr, sizeof (hdr), &dw, NULL)) bOldVer = TRUE; else { if (strcmp (hdr.szSig, SITESFILE_SIG)) { bOldVer = TRUE; SetFilePointer (hFile, 0, NULL, FILE_BEGIN); } else if (hdr.wVer > SITESFILE_CURRENT_VERSION) return FALSE; } if (!ReadFile (hFile, &cSites, sizeof (cSites), &dw, NULL) || dw != sizeof (cSites)) return FALSE; for (int i = 0; i < cSites; i++) { fsSiteInfoPtr site; site.CreateInstance (); if (bOldVer) { fsSiteInfo_v1 sitev1; if (!ReadFile (hFile, &sitev1, sizeof (fsSiteInfo_v1), &dw, NULL) || dw != sizeof (fsSiteInfo_v1)) return FALSE; site->dwFtpFlags = sitev1.bFtpPassive; site->bTemp = sitev1.bTemp; site->cConnsNow = sitev1.cConnsNow; site->cMaxConns = sitev1.cMaxConns; site->dwValidFor = SITE_VALIDFOR_HTTP|SITE_VALIDFOR_HTTPS|SITE_VALIDFOR_FTP|SITE_VALIDFOR_SUBDOMAINS; } else { if (hdr.wVer < 3) { fsSiteInfo_v2 sitev2; if (!ReadFile (hFile, &sitev2, sizeof (sitev2), &dw, NULL) || dw != sizeof (sitev2)) return FALSE; if (!fsReadStrFromFile (&sitev2.strGroup.pszString, hFile)) return FALSE; site->dwFtpFlags = sitev2.dwFtpFlags; site->bTemp = sitev2.bTemp; site->cConnsNow = sitev2.cConnsNow; site->cMaxConns = sitev2.cMaxConns; site->dwValidFor = sitev2.dwValidFor; } } if (!fsReadStrFromFile (&site->strName.pszString, hFile)) return FALSE; if (!fsReadStrFromFile (&site->strPassword.pszString, hFile)) return FALSE; if (!fsReadStrFromFile (&site->strUser.pszString, hFile)) return FALSE; if (hdr.wVer >= 3) { UINT nId; if (!ReadFile (hFile, &nId, sizeof (nId), &dw, NULL)) return FALSE; site->pGroup = nId != (UINT)-1 ? _DldsGrps.FindGroup (nId) : NULL; if (!ReadFile (hFile, &site->dwFtpFlags, sizeof (site->dwFtpFlags), &dw, NULL)) return FALSE; if (!ReadFile (hFile, &site->cConnsNow, sizeof (site->cConnsNow), &dw, NULL)) return FALSE; if (!ReadFile (hFile, &site->cMaxConns, sizeof (site->cMaxConns), &dw, NULL)) return FALSE; if (!ReadFile (hFile, &site->dwValidFor, sizeof (site->dwValidFor), &dw, NULL)) return FALSE; } site->cConnsNow = 0; site->bTemp = FALSE; AddSite (site); } return TRUE; }