本文整理汇总了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);
}
//.........这里部分代码省略.........