Beispiel #1
0
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);
	}
}
Beispiel #2
0
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()));

}
Beispiel #3
0
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;
	    	}
	}	
}
Beispiel #4
0
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;
}
Beispiel #5
0
void VSCMainWindows::AddRecorder()
{
	AddSite();
}
Beispiel #6
0
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;
}