#286, 288, 285, 242, 282, 296, 293

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@549 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
focus
2010-04-21 09:36:33 +00:00
parent 3ce6dd0a8a
commit 1ec1b2fb81
15 changed files with 238 additions and 140 deletions

View File

@@ -116,7 +116,7 @@ void* CTimerManager::timerThread(void *arg)
else
{
time_t now = time(NULL);
dprintf("Timer Thread time: %u\n", (uint) now);
dprintf("Timer Thread time: %u: %s", (uint) now, ctime(&now));
// fire events who's time has come
CTimerEvent *event;
@@ -771,6 +771,30 @@ CTimerEvent::CTimerEvent( CTimerd::CTimerEventTypes evtype, time_t announcetime,
stopTime = stoptime;
repeatCount = repeatcount;
previousState = CTimerd::TIMERSTATE_SCHEDULED;
time_t diff = 0;
time_t mtime = time(NULL);
struct tm *tmtime = localtime(&mtime);
int isdst1 = tmtime->tm_isdst;
mtime = alarmtime;
tmtime = localtime(&mtime);
int isdst2 = tmtime->tm_isdst;
if(isdst2 > isdst1) //change from winter to summer
{
diff-=3600;
}
else if(isdst1 > isdst2) //change from summer to winter
{
diff+=3600;
}
#if 0 //FIXME EPG vs manual timer ?
printf("############## CTimerEvent dst %d -> %d diff %d\n", isdst1, isdst2, diff);
alarmTime += diff;
announceTime += diff;
stopTime += diff;
#endif
}
//------------------------------------------------------------
@@ -786,7 +810,6 @@ CTimerEvent::CTimerEvent( CTimerd::CTimerEventTypes evtype, int mon, int day, in
tmtime->tm_mday = day;
tmtime->tm_hour = hour;
tmtime->tm_min = min;
CTimerEvent(evtype, (time_t) 0, mktime(tmtime), (time_t)0, evrepeat, repeatcount);
}
//------------------------------------------------------------