#ifndef __SKINELCHI_VDRSTATUS_H_
#define __SKINELCHI_VDRSTATUS_H_

#include <vdr/status.h>

struct cVdrStatus {
    cVdrStatus(void);
    ~cVdrStatus();
//for  virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
    const cDevice *ChannelDevice[MAXDEVICES];
//for  virtual void Recording(const cDevice *Device, const char *Name);
    int ChannelNumber[MAXDEVICES];
    const cDevice *RecordingDevice[MAXDEVICES];
    char *RecordingName[MAXDEVICES];
    int RecordingNumber[MAXDEVICES];
    int RecordingNumbers;
//for  virtual void Replaying(const cControl *Control, const char *Name);
    char *ReplayingName;
//for  virtual void SetVolume(int Volume, bool Absolute);
    int Volume;
    int VolumeChange;
//for  virtual void SetAudioTrack(int Index, const char * const *Tracks);
    const char * const *Tracks;
    int AudioTrackIndex;
    char *AudioTrack;
//for  virtual void SetAudioChannel(int AudioChannel);
    const char *AudioChannel;
//nothing for  virtual void OsdClear();
//for  virtual void OsdTitle(const char *Title);
    char *Title;
//for  virtual void OsdStatusMessage(const char *Message);
    char *StatusMessage;
//for  virtual void OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue);
    char *HelpKeys[4];
//nothing virtual void OsdItem(const char *Text, int Index); //to slow in channels-menu, not all channels are show, but it is call for all channels
//for  virtual void OsdCurrentItem(const char *Text);
    char *CurrentItem;
//for  virtual void OsdTextItem(const char *Text, bool Scroll);
    char *TextItem;
    bool Scroll;
//for  virtual void OsdChannel(const char *Text);
    char *Channel;
//for  virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
    time_t PresentTime;
    char *PresentTitle;
    char *PresentSubtitle;
    time_t FollowingTime;
    char *FollowingTitle;
    char *FollowingSubtitle;
    };

extern cVdrStatus VdrStatus;

class cSkinElchiStatus : public cStatus {
private:
protected:
  virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
#if VDRVERSNUM >= 10338
  virtual void Recording(const cDevice *Device, const char *Name, const char *FileName, bool On);
  virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On);
#else
  virtual void Recording(const cDevice *Device, const char *Name);
  virtual void Replaying(const cControl *Control, const char *Name);
#endif
  virtual void SetVolume(int Volume, bool Absolute);
  virtual void SetAudioTrack(int Index, const char * const *Tracks);
  virtual void SetAudioChannel(int AudioChannel);
  virtual void OsdClear();
  virtual void OsdTitle(const char *Title);
  virtual void OsdStatusMessage(const char *Message);
  virtual void OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue);
//  virtual void OsdItem(const char *Text, int Index); //to slow in channels-menu, not all channels are schow, but it is call for all channels
  virtual void OsdCurrentItem(const char *Text);
  virtual void OsdTextItem(const char *Text, bool Scroll);
  virtual void OsdChannel(const char *Text);
  virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);

public:
/*  cSkinElchiStatus();
  virtual ~cSkinElchiStatus();*/
};

#endif
