/*
 * (c) 2005 Research Group Dr. Fuhrmann, University of Karlsruhe, Germany
 * All rights reserved.
 *
 * Author:
 *         Roman Krenicky
 *
 * $Id: dvdrepg.h,v 1.11 2006/02/05 15:40:24 kutzner Exp $
 *
 */

/*
  dvdrepg.h
  created: 29.11.2004
  last change: 30.7.2005
*/
/*! @file
    plugin interface class to the igorepg plugin which spreads EPG data across
    a IGOR (and collects it from there, too)
*/

#ifndef _IGOREPG_H
#define _IGOREPG_H


#include "globalheader.h"

#include <plugin.h>
#include "osdmenu_dvdrepg.h"
#include "vdrepg_interface.h"
#include "epgigor_interface.h"
#include "controller.h"

// NOTE: the plugin name is defined in "pluginname.h"

// the following line is needed here by the Makefile
//! version number for the vdr
static const char *VERSION        = "0.8.1";
//! description for the vdr
static const char *DESCRIPTION    = "EPG distribution via IGOR";


/*! only our interface to the vdr's plugin management, responsible for
    initialising and starting the parts doing the actual work (not performing
    it itself)
*/
class cPluginIgorepg : public cPlugin
{
  private:
   //! the plugin's controller
   controller *central;
   //! the plugin's interface to the vdr's EPG data
   vdrepg_interface *epg_access;
   //! the plugin's interface to the IGOR
   epgigor_interface *igor_access;

  public:
   cPluginIgorepg (void);
   virtual ~cPluginIgorepg (void);
   virtual const char* Version (void) { return VERSION; }
   virtual const char* Description (void) { return tr(DESCRIPTION); }
   virtual bool Start (void);
   virtual void Stop (void);
   virtual const char* MainMenuEntry (void) { return tr(MAINMENUENTRY); }
   virtual cOsdObject* MainMenuAction (void);
}; // cPluginIgorepg


#endif // _IGOREPG_H
