Esempio n. 1
0
void VSCSearch::SearchReceiveData(const QHash<QString, QString> &data)
{
    astring ip = "192.168.0.1";
    astring port = "80";
    astring hdModel = "unknown";
    astring OnvifAddr = "/onvif/device_service";
    astring Manufacturer = "";
    astring FirmwareVersion = "";
    astring type = data["types"].toStdString();
    transform(	type.begin(), type.end(),type.begin(),(int(*)(int))tolower); 
    size_t pos1 = type.find("networkvideotransmitter");
    VDC_DEBUG( "[ONVIF]: Searched ip %s\n", data["device_service_address"].toStdString().c_str());
    if (pos1 == string::npos)
    {
        return;
    }
	
    GetIPAndPort(data["device_service_address"].toStdString(), 
		ip, port, OnvifAddr);
    GetHardwareModel(data["device_ip"].toStdString(), hdModel);

    astring OnvifDeviceService = "http://" + ip + ":" + port + OnvifAddr;
#if 0
    DeviceManagement *pDm = new DeviceManagement(OnvifDeviceService.c_str(), 
                            "admin", "12345");
    if (pDm)
    {
    	QHash<QString, QString> deviceInfo = pDm->getDeviceInformation();
       Manufacturer = deviceInfo["mf"].toStdString();
	FirmwareVersion = deviceInfo["firmware_version"].toStdString();
    }
#endif
    
    AddItem(ip, port, Manufacturer, hdModel, FirmwareVersion, OnvifAddr);
    m_nSearchProcess += 2;
    if (m_nSearchProcess == 100)
    {
        m_nSearchProcess = 0;
    }
    ui.progressBar->setValue(m_nSearchProcess);
}