00001 #ifndef _FILLDATA_H_
00002 #define _FILLDATA_H_
00003
00004
00005 #include <qstring.h>
00006 #include <qvaluelist.h>
00007
00008
00009 #include "datadirect.h"
00010 #include "programdata.h"
00011
00012
00013 #include "channeldata.h"
00014 #include "xmltvparser.h"
00015 #include "icondata.h"
00016
00017 #define REFRESH_MAX 21
00018
00019 struct Source
00020 {
00021 int id;
00022 QString name;
00023 QString xmltvgrabber;
00024 QString userid;
00025 QString password;
00026 QString lineupid;
00027 bool xmltvgrabber_baseline;
00028 bool xmltvgrabber_manualconfig;
00029 bool xmltvgrabber_cache;
00030 QString xmltvgrabber_prefmethod;
00031 vector<int> dd_dups;
00032 };
00033
00034 class FillData
00035 {
00036 public:
00037 FillData() :
00038 logged_in(""),
00039 lastdduserid(QString::null), graboptions(""),
00040 raw_lineup(0), maxDays(0),
00041 interrupted(false), endofdata(false),
00042 refresh_tba(true), dd_grab_all(false),
00043 dddataretrieved(false),
00044 need_post_grab_proc(true), only_update_channels(false),
00045 channel_update_run(false) {
00046 for( int i = 0; i < REFRESH_MAX; i++ ) refresh_request[i] = false;
00047 refresh_request[1] = true;
00048 }
00049
00050 void DataDirectStationUpdate(Source source, bool update_icons = true);
00051 bool DataDirectUpdateChannels(Source source);
00052 bool grabDDData(Source source, int poffset,
00053 QDate pdate, int ddSource);
00054 bool grabDataFromFile(int id, QString &filename);
00055 bool grabData(Source source, int offset, QDate *qCurrentDate = 0);
00056 void grabDataFromDDFile(int id, int offset, const QString &filename,
00057 const QString &lineupid, QDate *qCurrentDate = 0);
00058 bool fillData(QValueList<Source> &sourcelist);
00059 ChanInfo *xawtvChannel(QString &id, QString &channel, QString &fine);
00060 void readXawtvChannels(int id, QString xawrcfile);
00061
00062 public:
00063 ProgramData prog_data;
00064 ChannelData chan_data;
00065 XMLTVParser xmltv_parser;
00066 IconData icon_data;
00067 DataDirectProcessor ddprocessor;
00068
00069 QString logged_in;
00070 QString lastdduserid;
00071 QString graboptions;
00072 int raw_lineup;
00073 int maxDays;
00074
00075 bool interrupted;
00076 bool endofdata;
00077 bool refresh_request[REFRESH_MAX];
00078 bool refresh_tba;
00079 bool dd_grab_all;
00080 bool dddataretrieved;
00081 bool need_post_grab_proc;
00082 bool only_update_channels;
00083 bool channel_update_run;
00084 };
00085
00086 #endif // _FILLDATA_H_