av_bool CAvUpnpCli::UpnpUpdateConfig() { int i = 0; int ret = 0; int upnp_status[Mapping_NR] = {0}; m_AvConfigNetUpnp.Update(); ConfigNetUpnp &upnp_config = m_AvConfigNetUpnp.GetConfig(); if (upnp_config.Enable == av_true) { CAvConfigNetComm AvConfigNetComm; AvConfigNetComm.Update(); int mapped_port; if (strncmp(m_LocalIP, AvConfigNetComm.GetConfig().LanAttr.IpAddr, 15) != 0) { memcpy(m_LocalIP, AvConfigNetComm.GetConfig().LanAttr.IpAddr, 16); upnp_status[Mapping_RTSP] = 1; upnp_status[Mapping_Web] = 1; upnp_status[Mapping_SelfProtol] = 1; } for (i = Mapping_RTSP; i < Mapping_NR; i++) { if (m_InternalPort[i] != upnp_config.LocalPort[i]) { m_InternalPort[i] = upnp_config.LocalPort[i]; upnp_status[i] = 1; } } for (i = Mapping_RTSP; i < Mapping_NR; i++) { if (upnp_status[i] == 1) { CAvUpnp AvUpnp; std::string LocalPort; sprintf((char *)LocalPort.c_str(), "%d", upnp_config.LocalPort[i]); ret = AvUpnp.SetConf(m_LocalIP, LocalPort, (CAvUpnp::UPNP_TRAN_MODE)upnp_config.TranMode); if (ret == av_false) { av_msg("CAvUpnpCli::UpnpUpdateConfig SetConf fail...\n"); continue; } AvUpnp.Start(); AvUpnp.GetExternalPort(mapped_port); upnp_config.RouterPort[i] = mapped_port; } } //提交 m_AvConfigNetUpnp.SettingUp(); } return av_true; }
void CAvConfigManager::LoadConfig(const char *name, CAvConfigBase &conf) { m_config_id_name.insert(std::map<int, std::string>::value_type(conf.get_id(), name)); m_config_name_confclass.insert(std::map<std::string, CAvConfigBase*>::value_type(name, &conf)); //装载配置 conf.GetConfigTable(m_total[name]); if (!conf.valid() || 0 == conf.get_use_index()) { av_msg("Load Config from file faile restore default\n"); conf.set_use_index(conf.get_max_index()); conf.GetDefault(); } conf.SetConfigTable(m_total[name]); m_change = av_true; //将配置参数设置生效但不要写入配置表 conf.SettingUp(-1, CONF_REQ_APPLY_NOT_SAVE); conf.Attach(this, (AvConfigCallBack)(&CAvConfigManager::CBConfigChange)); }
void av::NetNode::receiveMessage(const std::string &origin, av::Msg& msg) { // stack up the received messages in any case // the message needs to carry a reference to the NetNode // which received it. boost::mutex::scoped_lock lock(mMessageMutex); #ifdef ZMQ_DISTRIBUTION_SUPPORT // we need to reset our old state fragment before we receive the new state fragment if (!mObjectMap.slotExists(origin)) { logger.debug() << "ALARM: in av::NetNode::receiveMessage !!!!!!!!!!!!!!!! slot was empty for origin " << origin; mObjectMap.addSlot(origin); } #endif Msg av_msg(msg); av_msg.setNetNode(this); mReceivedMessages.push_back(av_msg); }
void CAvConfigManager::Initialize() { m_timer = new TimerConfManager(); m_change = av_false; m_config_data.reserve(512 * 1024); AvConfigReader reader; bool load_flag = false; std::string ConfigPath; av_bool abRet = CAvDevice::GetEnv(std::string(EKey_ConfigsPath), ConfigPath); if (abRet == av_true){ SetAvConfigPath(ConfigPath); } if (av_true == LoadConfigFromFile(m_ConfigFullPatch.c_str(), m_config_data)){ load_flag = reader.parse(m_config_data, m_total); } if (false == load_flag) { av_msg("Load Configfile1 failed\n"); if (av_true == LoadConfigFromFile(m_ConfigFullPatchBu.c_str(), m_config_data)){ load_flag = reader.parse(m_config_data, m_total); } } if (false == load_flag){ av_error("Load all config file failed\n"); } m_name_configIndex.clear(); m_name_configIndex.insert(ConfIndexValueType("DeviceUart", CONF_DEVICE_UART)); LoadConfig("DeviceUart", m_config_device_uart); m_name_configIndex.insert(ConfIndexValueType("Capture", CONF_CAPTURE_FORMATS)); LoadConfig("Capture", m_ConfigCapture); m_name_configIndex.insert(ConfIndexValueType("Image", CONF_IMAGE_FORMATS)); LoadConfig("Image", m_ConfigImage); m_name_configIndex.insert(ConfIndexValueType("Enocde", CONF_ENCODE_FORMATS)); LoadConfig("Enocde", m_ConfigEncode); m_name_configIndex.insert(ConfIndexValueType("Cover", CONF_ENCODE_COVER)); LoadConfig("Cover", m_ConfigCover); m_name_configIndex.insert(ConfIndexValueType("WaterMarking", CONF_ENCODE_WATERMARKING)); LoadConfig("WaterMarking", m_ConfigWaterMark); m_name_configIndex.insert(ConfIndexValueType("AlarmIo", CONF_ALARM_IO)); LoadConfig("AlarmIo", m_ConfigAlarmIo); m_name_configIndex.insert(ConfIndexValueType("AlarmMd", CONF_ALARM_MD)); LoadConfig("AlarmMd", m_ConfigAlarmMd); m_name_configIndex.insert(ConfIndexValueType("NetComm", CONF_NET_COMM)); LoadConfig("NetComm", m_ConfigNetComm); m_name_configIndex.insert(ConfIndexValueType("NetProtocol", CONF_NETPROTOCOL)); LoadConfig("NetProtocol", m_ConfigNetProtocol); m_name_configIndex.insert(ConfIndexValueType("Audio", CONF_AUDIO)); LoadConfig("Audio", m_ConfigAudio); //User Manager m_name_configIndex.insert(ConfIndexValueType("UserManager", CONF_USER_MANAGER)); LoadConfig("UserManager", m_config_user_manager); //Net Server Email m_name_configIndex.insert(ConfIndexValueType("NetServerSmtp", CONF_NET_SER_EMAIL)); LoadConfig("NetServerSmtp", m_confignet_smtp); //ftp m_name_configIndex.insert(ConfIndexValueType("NetServerFtp", CONF_NET_SER_FTP)); LoadConfig("NetServerFtp", m_confignet_ftp); m_name_configIndex.insert(ConfIndexValueType("NetServerDdns", CONF_NET_SER_DDNS)); LoadConfig("NetServerDdns", m_confignet_ddns); m_name_configIndex.insert(ConfIndexValueType("NetServerUpnp", CONF_NET_SER_UPNP)); LoadConfig("NetServerUpnp", m_confignet_upnp); m_name_configIndex.insert(ConfIndexValueType("NetServerNtp", CONF_NET_SER_NTP)); LoadConfig("NetServerNtp", m_confignet_ntp); if (false == load_flag){ Save(); } }
void OnTime() { av_msg("TimerConfManager test\n"); }