summaryrefslogtreecommitdiff
path: root/extensions/globaltimers.h
blob: 91f3bdc582d1219d8d0e59b78974be456d304031 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef __GLOBALTIMERS_H
#define __GLOBALTIMERS_H

#include <vdr/timers.h>
#include <vdr/plugin.h>

class cRemoteTimerRefresh;

class cGlobalTimers : public cVector<const cTimer *> {
    private:
        static bool initial;
        static cRemoteTimerRefresh *remoteTimerRefresh;
        bool *localTimer;
        cPlugin *pEpg2Vdr;
        cPlugin *pRemoteTimers;
        cPlugin *pEpgSearch;
        bool isEpg2VdrTimers;
        void SetLocalTimers(void);
        void SetRemoteTimers(bool initial);
        bool SetEpg2VdrTimers(void);
    public:
        cGlobalTimers(void);
        virtual ~cGlobalTimers(void);
        void LoadTimers(void);
        void SortTimers(void);
        void MarkLocalTimers(void);
        int NumTimerConfilicts(void);
        bool IsRemoteTimer(int i);
        const char* RemoteHost(int i);
        bool IsRecording(const cRecording *rec);
        void ClearTimers(void);
        static void StartRefreshThread(void);
        static void StopRefreshThread(void);
};

class cRemoteTimerRefresh: public cThread {
    private:
        cPlugin* pRemoteTimers;
    protected:
        virtual void Action(void);
    public:
        cRemoteTimerRefresh(void);
        virtual ~cRemoteTimerRefresh(void);
};
#endif //__GLOBALTIMERS_H