Exemple #1
0
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));
}
Exemple #3
0
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");
	}