summaryrefslogtreecommitdiff
path: root/xmltv2vdr.h
diff options
context:
space:
mode:
Diffstat (limited to 'xmltv2vdr.h')
-rw-r--r--xmltv2vdr.h263
1 files changed, 120 insertions, 143 deletions
diff --git a/xmltv2vdr.h b/xmltv2vdr.h
index e140160..4da19f9 100644
--- a/xmltv2vdr.h
+++ b/xmltv2vdr.h
@@ -34,84 +34,24 @@ public:
bool Send(const char *format, ...);
};
-class cGlobals
+class cEPGTimer : public cThread
{
private:
- char *confdir;
- char *epgfile;
- char *epdir;
- char *epcodeset;
- char *imgdir;
- char *codeset;
- bool epgsearchexists;
- int imgdelafter;
- cEPGMappings epgmappings;
- cTEXTMappings textmappings;
- cEPGSources epgsources;
+ cEPGSources *sources;
+ cEPGMappings *maps;
+ cImport import;
+ int epall;
public:
- cGlobals();
- ~cGlobals();
- bool DBExists();
- cEPGMappings *EPGMappings()
- {
- return &epgmappings;
- }
- cTEXTMappings *TEXTMappings()
- {
- return &textmappings;
- }
- cEPGSources *EPGSources()
- {
- return &epgsources;
- }
- void SetConfDir(const char *ConfDir)
- {
- free(confdir);
- confdir=strdup(ConfDir);
- }
- const char *ConfDir()
- {
- return confdir;
- }
- void SetEPGFile(const char *EPGFile)
- {
- free(epgfile);
- epgfile=strdup(EPGFile);
- }
- const char *EPGFile()
- {
- return epgfile;
- }
- void SetEPDir(const char *EPDir);
- const char *EPDir()
- {
- return epdir;
- }
- const char *EPCodeset()
- {
- return epcodeset;
- }
- const char *Codeset()
- {
- return codeset;
- }
- void SetImgDir(const char *ImgDir);
- const char *ImgDir()
- {
- return imgdir;
- }
- void SetImgDelAfter(int Value)
- {
- imgdelafter=Value;
- }
- int ImgDelAfter()
+ cEPGTimer(cGlobals *Global);
+ void Stop()
{
- return imgdelafter;
+ Cancel(3);
}
- bool EPGSearchExists()
+ void SetEPAll(int Value)
{
- return epgsearchexists;
+ epall=Value;
}
+ virtual void Action();
};
#if VDRVERSNUM < 10726 && !EPGHANDLER
@@ -179,26 +119,6 @@ public:
virtual bool SortSchedule(cSchedule *Schedule);
};
-class cEPGTimer : public cThread
-{
-private:
- cEPGSources *sources;
- cEPGMappings *maps;
- cImport import;
- int epall;
-public:
- cEPGTimer(cGlobals *Global);
- void Stop()
- {
- Cancel(3);
- }
- void SetEPAll(int Value)
- {
- epall=Value;
- }
- virtual void Action();
-};
-
class cHouseKeeping : public cThread
{
private:
@@ -226,101 +146,158 @@ public:
virtual void Action();
};
-class cPluginXmltv2vdr : public cPlugin
+class cGlobals
{
private:
- cGlobals g;
- cEPGHandler *epghandler;
- cEPGTimer *epgtimer;
- cEPGSeasonEpisode *epgseasonepisode;
- cHouseKeeping housekeeping;
- cEPGExecutor epgexecutor;
- time_t last_housetime_t;
- time_t last_maintime_t;
- time_t last_timer_t;
- time_t last_epcheck_t;
+ char *confdir;
+ char *epgfile;
+ char *epdir;
+ char *epcodeset;
+ char *imgdir;
+ char *codeset;
+ char *order;
char *srcorder;
int epall;
+ int imgdelafter;
bool wakeup;
- bool insetup;
- int GetLastImportSource();
+ bool epgsearchexists;
+ cEPGMappings epgmappings;
+ cTEXTMappings textmappings;
+ cEPGSources epgsources;
+ cEPGTimer *epgtimer;
+ cEPGSeasonEpisode *epgseasonepisode;
public:
- void SetSetupState(bool Value)
+ cGlobals();
+ ~cGlobals();
+ cEPGHandler *epghandler;
+ bool DBExists();
+ char *GetDefaultOrder();
+ void AllocateEPGTimerThread()
{
- insetup=Value;
+ epgtimer=new cEPGTimer(this);
}
- void SetEPAll(int Value)
+ void AllocateEPGSeasonThread()
{
- epall=Value;
- if (epghandler) epghandler->SetEPAll(Value);
- if (epgtimer) epgtimer->SetEPAll(Value);
+ epgseasonepisode=new cEPGSeasonEpisode(this);
}
- int EPAll()
+ cEPGSeasonEpisode *EPGSeasonEpisode()
{
- return epall;
+ return epgseasonepisode;
}
- void SetWakeUp(bool Value)
+ cEPGTimer *EPGTimer()
{
- wakeup=Value;
+ return epgtimer;
}
- bool WakeUp()
+ cEPGMappings *EPGMappings()
{
- return wakeup;
+ return &epgmappings;
}
- void SetImgDelAfter(int Value)
+ cTEXTMappings *TEXTMappings()
{
- g.SetImgDelAfter(Value);
+ return &textmappings;
}
- int ImgDelAfter()
+ cEPGSources *EPGSources()
{
- return g.ImgDelAfter();
+ return &epgsources;
}
- const char *ImgDir()
+ void SetConfDir(const char *ConfDir)
+ {
+ free(confdir);
+ confdir=strdup(ConfDir);
+ }
+ const char *ConfDir()
+ {
+ return confdir;
+ }
+ void SetEPGFile(const char *EPGFile)
+ {
+ free(epgfile);
+ epgfile=strdup(EPGFile);
+ }
+ const char *EPGFile()
{
- return g.ImgDir();
+ return epgfile;
}
+ void SetEPDir(const char *EPDir);
const char *EPDir()
{
- return g.EPDir();
+ return epdir;
}
- void ReadInEPGSources(bool Reload=false)
+ const char *EPCodeset()
{
- g.EPGSources()->ReadIn(&g,srcorder,Reload);
+ return epcodeset;
}
- bool EPGSourceMove(int From, int To);
- int EPGSourceCount()
+ const char *Codeset()
{
- if (!g.EPGSources()->Count()) return 0;
- return g.EPGSources()->Count()-1;
+ return codeset;
}
- cEPGSource *EPGSource(int Index)
+ void SetImgDir(const char *ImgDir);
+ const char *ImgDir()
{
- return g.EPGSources()->Get(Index);
+ return imgdir;
}
- int EPGMappingCount()
+ void SetImgDelAfter(int Value)
{
- return g.EPGMappings()->Count();
+ imgdelafter=Value;
}
- cEPGMapping *EPGMapping(int Index)
+ int ImgDelAfter()
{
- return g.EPGMappings()->Get(Index);
+ return imgdelafter;
}
- cEPGMapping *EPGMapping(const char *ChannelName)
+ void SetSrcOrder(const char *NewOrder)
{
- return g.EPGMappings()->GetMap(ChannelName);
+ free(srcorder);
+ srcorder=strdup(NewOrder);
}
- void EPGMappingAdd(cEPGMapping *Map)
+ const char *SrcOrder()
{
- g.EPGMappings()->Add(Map);
+ return srcorder;
}
- cTEXTMapping *TEXTMapping(const char *Name)
+ void SetOrder(const char *NewOrder)
{
- return g.TEXTMappings()->GetMap(Name);
+ free(order);
+ order=strdup(NewOrder);
}
- void TEXTMappingAdd(cTEXTMapping *TextMap)
+ const char *Order()
+ {
+ return order;
+ }
+ bool EPGSearchExists()
{
- g.TEXTMappings()->Add(TextMap);
+ return epgsearchexists;
+ }
+ void SetEPAll(int Value)
+ {
+ epall=Value;
+ if (epghandler) epghandler->SetEPAll(Value);
+ if (epgtimer) epgtimer->SetEPAll(Value);
}
+ int EPAll()
+ {
+ return epall;
+ }
+ void SetWakeUp(bool Value)
+ {
+ wakeup=Value;
+ }
+ bool WakeUp()
+ {
+ return wakeup;
+ }
+};
+
+class cPluginXmltv2vdr : public cPlugin
+{
+private:
+ cGlobals g;
+ cHouseKeeping housekeeping;
+ cEPGExecutor epgexecutor;
+ time_t last_housetime_t;
+ time_t last_maintime_t;
+ time_t last_timer_t;
+ time_t last_epcheck_t;
+ int GetLastImportSource();
+public:
cPluginXmltv2vdr(void);
virtual ~cPluginXmltv2vdr();
virtual const char *Version(void)