/*
 * icetft plugin for VDR
 *
 * IcetftStatusMonitor.c - class for detecting osd activity
 *
 *
 * This code is distributed under the terms and conditions of the
 * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
 */

#ifndef __ICETFTSTATUSMONIOR_H
#define __ICETFTSTATUSMONIOR_H

#include <vdr/status.h>
#include <vdr/tools.h>

#ifndef TimeMs
#define TimeMs cTimeMs::Now
#endif

class cIcetftStatusMonitor : public cStatus
{
    protected:
        virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
        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);
        virtual void SetVolume(int Volume, bool Absolute);
        virtual void OsdTitle(const char *Title);
        virtual void OsdStatusMessage(const char *Message);
        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);
    private:
        uint64_t changed;
    public:
        cIcetftStatusMonitor();
        uint64_t Changed(void);

};
#endif                                            //__ICETFTSTATUSMONIOR_H
