当前位置: 首页>>代码示例>>C++>>正文


C++ CConfigFile::getInt32Vector方法代码示例

本文整理汇总了C++中CConfigFile::getInt32Vector方法的典型用法代码示例。如果您正苦于以下问题:C++ CConfigFile::getInt32Vector方法的具体用法?C++ CConfigFile::getInt32Vector怎么用?C++ CConfigFile::getInt32Vector使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CConfigFile的用法示例。


在下文中一共展示了CConfigFile::getInt32Vector方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: loadTimersFromConfig

void loadTimersFromConfig()
{
	CConfigFile *config = new CConfigFile(',');

	if(!config->loadConfig(CONFIGFILE))
	{
		/* set defaults if no configuration file exists */
		dprintf("%s not found\n", CONFIGFILE);
	}
	else
	{
		vector<int> savedIDs;
		savedIDs = config->getInt32Vector ("IDS");
		dprintf("%d timer(s) in config\n",savedIDs.size());
		for(unsigned int i=0; i < savedIDs.size(); i++)
		{
			stringstream ostr;
			ostr << savedIDs[i];
			string id=ostr.str();
			CTimerd::CTimerEventTypes type=(CTimerd::CTimerEventTypes)config->getInt32 ("EVENT_TYPE_"+id,0);
			time_t now = time(NULL);
			switch(type)
			{
				case CTimerd::TIMER_SHUTDOWN :
					{
						CTimerEvent_Shutdown *event=
						new CTimerEvent_Shutdown(config, savedIDs[i]);
						if((event->alarmTime >= now) || (event->stopTime > now))
						{
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else if(event->eventRepeat != CTimerd::TIMERREPEAT_ONCE)
						{
							// old periodic timers need to be rescheduled
							event->eventState = CTimerd::TIMERSTATE_HASFINISHED;
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else
						{
							dprintf("Timer too old %d/%d\n",(int)now,(int) event->alarmTime);
							delete event;
						}
						break;
					}       
				case CTimerd::TIMER_NEXTPROGRAM :
					{
						CTimerEvent_NextProgram *event=
						new CTimerEvent_NextProgram(config, savedIDs[i]);
						if((event->alarmTime >= now) || (event->stopTime > now))
						{
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else if(event->eventRepeat != CTimerd::TIMERREPEAT_ONCE)
						{
							// old periodic timers need to be rescheduled
							event->eventState = CTimerd::TIMERSTATE_HASFINISHED;
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else
						{
							dprintf("Timer too old %d/%d\n",(int)now,(int) event->alarmTime);
							delete event;
						}
						break;
					}       
				case CTimerd::TIMER_ZAPTO :
					{
						CTimerEvent_Zapto *event=
						new CTimerEvent_Zapto(config, savedIDs[i]);
						if((event->alarmTime >= now) || (event->stopTime > now))
						{
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else if(event->eventRepeat != CTimerd::TIMERREPEAT_ONCE)
						{
							// old periodic timers need to be rescheduled
							event->eventState = CTimerd::TIMERSTATE_HASFINISHED;
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else
						{
							dprintf("Timer too old %d/%d\n",(int)now,(int) event->alarmTime);
							delete event;
						}
						break;
					}          
				case CTimerd::TIMER_STANDBY :
					{
						CTimerEvent_Standby *event=
						new CTimerEvent_Standby(config, savedIDs[i]);
						if((event->alarmTime >= now) || (event->stopTime > now))
						{
							CTimerManager::getInstance()->addEvent(event,false);
						}
						else if(event->eventRepeat != CTimerd::TIMERREPEAT_ONCE)
						{
							// old periodic timers need to be rescheduled
							event->eventState = CTimerd::TIMERSTATE_HASFINISHED;
							CTimerManager::getInstance()->addEvent(event,false);
						}
//.........这里部分代码省略.........
开发者ID:GWARDAR,项目名称:OpenPLi-1,代码行数:101,代码来源:timerd.cpp


注:本文中的CConfigFile::getInt32Vector方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。