summaryrefslogtreecommitdiff
path: root/plugin/vdrtva.h
blob: 4149b0c3682ef84c9d715e6c2ed946c0032523b3 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <vdr/filter.h>
#include <vdr/device.h>
#include <vdr/status.h>

class cTvaFilter : public cFilter {
private:
  cSectionSyncer sectionSyncer;
  cPatFilter *patFilter;
protected:
  virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
public:
  cTvaFilter(void);
}; 

class cTvaStatusMonitor : public cStatus {
  private:
    time_t timeradded;
  protected:
    virtual void TimerChange(const cTimer *Timer, eTimerChange Change);
               // Indicates a change in the timer settings.
               // If Change is tcAdd or tcDel, Timer points to the timer that has
               // been added or will be deleted, respectively. In case of tcMod,
               // Timer is NULL; this indicates that some timer has been changed.
               // Note that tcAdd and tcDel are always also followed by a tcMod.
  public:
    cTvaStatusMonitor(void);
    int GetTimerAddedDelta(void);
    void ClearTimerAdded(void);
};


class cTvaMenuSetup : public cMenuSetupPage {
private:
  int newcollectionperiod;
  int newlifetime;
  int newpriority;
  int newseriesLifetime;
  int newupdatehours;
  int newupdatemins;
protected:
  virtual void Store(void);
public:
  cTvaMenuSetup(void);
};


class cChanDA : public cListObject {
  private:
    int cid;
    char *defaultAuthority;
  public:
    cChanDA(void);
    ~cChanDA(void);
    int Cid(void) { return cid; }
    void Set(int Cid);
    char * DA(void) { return defaultAuthority; }
    void SetDA(char *DA);
};

class cChanDAs : public cRwLock, public cConfig<cChanDA> {
  private:
    int maxNumber;
    cHash<cChanDA> chanDAHash;
  public:
    cChanDAs(void);
    ~cChanDAs(void);
    int MaxNumber(void) { return maxNumber; }
    void SetMaxNumber(int number) { maxNumber = number; }
    cChanDA *GetByChannelID(int cid);
    cChanDA *NewChanDA(int Cid);
};


class cEventCRID : public cListObject {
  private:
    tEventID eid;
    int cid;
    char *iCrid;
    char *sCrid;
  public:
    cEventCRID(void);
    ~cEventCRID(void);
    tEventID Eid(void) { return eid; }
    void Set(int Cid, tEventID Eid);
    char * iCRID(void) { return iCrid; }
    char * sCRID(void) { return sCrid; }
    void SetCRIDs(char *iCRID, char *sCRID);
    int Cid(void) { return cid; }
};

class cEventCRIDs : public cRwLock, public cConfig<cEventCRID> {
  private:
    int maxNumber;
    cHash<cEventCRID> EventCRIDHash;
  public:
    cEventCRIDs(void);
    ~cEventCRIDs(void);
    int MaxNumber(void) { return maxNumber; }
    void SetMaxNumber(int number) { maxNumber = number; }
    cEventCRID *GetByID(int Cid, tEventID Eid);
    cEventCRID *NewEventCRID(int Cid, tEventID Eid);
};


class cLinkItem : public cListObject {
  private:
    char *sCrid;
    int modtime;
    char *iCrids;
  public:
    cLinkItem(void);
    ~cLinkItem(void);
    void Set(const char *sCRID, int ModTime, const char *iCRIDs);
    char * iCRIDs(void) { return iCrids; }
    char * sCRID(void) { return sCrid; }
    int ModTime(void) { return modtime; }
};

class cLinks : public cRwLock, public cConfig<cLinkItem> {
  private:
    int maxNumber;
  public:
    cLinks(void);
//    ~cLinks(void);
    int MaxNumber(void) { return maxNumber; }
    void SetMaxNumber(int number) { maxNumber = number; }
    cLinkItem *NewLinkItem(const char *sCRID, int ModTime, const char *iCRIDs);
};