Morning,
I'm very far along in writing an EPG plugin for Enigma
[http://mv.dinglisch.net/].
When I try running the plugin on very recent 3rd party images, which I
think use very recent versions of CVS, none of the getInstance type
enigma functions return sensible values anymore, which means, amongst
other things, that I have no access to the EPG cache anymore. On the
other hand, the plugin works fine with the official 1.07.4 image.
My CVS version is from somewhere around 20th February.
I'm worried that this is not just an artifact from the 3rd party
images, that in the next official version the plugin won't work
anymore and that I'm wasting (a lot of) my time. Perhaps it's
related to the 'plugins now in separate thread' announcement,
but then I don't know why it works fine with the 1.07.4 original
image.
Does anyone have an authoritative answer ?
Thanks,
Pent
Plugin interface changes ?
-
- Neugieriger
- Beiträge: 14
- Registriert: Montag 8. März 2004, 08:50
-
- Neugieriger
- Beiträge: 14
- Registriert: Montag 8. März 2004, 08:50
Well, I include some sample code in case it makes the problem clearer.
I looked in the thread code, but globals seem to be accessible by
the plugin thread, unless I misread.
Thanks for (virtually) anything,
Pent
//-------------------------------------------------------------------------------------------//
#define FIRST_REASONABLE_TIME 1078415416 // few weeks ago
#define LAST_REASONABLE_TIME 1236181816 // few years away
time_t now=time(0)+eDVB::getInstance()->time_difference;
if (
( now < FIRST_REASONABLE_TIME ) ||
( now > LAST_REASONABLE_TIME )
) {
// Ooops we shouldn't get here
}
//-----------------------------------------------------------------------------------------------//
There's an eDVB instance but it returns silly values for time_difference.
And all the other getInstance functions return null pointers or silly
values too.
I looked in the thread code, but globals seem to be accessible by
the plugin thread, unless I misread.
Thanks for (virtually) anything,
Pent
//-------------------------------------------------------------------------------------------//
#define FIRST_REASONABLE_TIME 1078415416 // few weeks ago
#define LAST_REASONABLE_TIME 1236181816 // few years away
time_t now=time(0)+eDVB::getInstance()->time_difference;
if (
( now < FIRST_REASONABLE_TIME ) ||
( now > LAST_REASONABLE_TIME )
) {
// Ooops we shouldn't get here
}
//-----------------------------------------------------------------------------------------------//
There's an eDVB instance but it returns silly values for time_difference.
And all the other getInstance functions return null pointers or silly
values too.