/*
 * telecable.h: A plugin for the Video Disk Recorder
 *
 */

#ifndef ___TELECABLE_H
#define ___TELECABLE_H

#define VERSION         "0.3"
#define DESCRIPTION     "Update your favorite TV programs"
#define MAINMENUENTRY   "Update TV programs"
#define UPDATING        "Updating TV programs, please wait..."
#define TELECABLE       "Telecable"
#define URL             "Download file from"
#define NOMORE          "End of list"
#define DOWNLOADED      "'File downloaded, now processing...'"
#define UPDATED         "'EPG updated!'"
#define ERR_DOWNLOADED  "'Unable to download telecable.rar.'"
#define RANDOM          "Random web site source"
#define ARCHIVE         "File to download"
#define MAX_URL_ITEMS 40

class cTelecableSetup {
public:
  cTelecableSetup(void);
  };

class cPluginTelecable : public cPlugin {
public:
  cPluginTelecable(void);
  virtual ~cPluginTelecable();
  virtual const char *Version(void) { return VERSION; }
  virtual const char *Description(void) { return tr(DESCRIPTION); }
  virtual const char *CommandLineHelp(void);
  virtual bool ProcessArgs(int argc, char *argv[]);
  virtual bool Start(void);
  virtual void Housekeeping(void);
  virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); }
  virtual cOsdObject *MainMenuAction(void);
  void write_file(char *filename, char *data, unsigned long datasize);
  virtual cMenuSetupPage *SetupMenu(void);
  virtual bool SetupParse(const char *Name, const char *Value);
  };

#endif  //___TELECABLE_H
