summaryrefslogtreecommitdiff
path: root/eit2.h
blob: c85a9d324849e373a9768cf341cf8e9c98a84ceb (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
#ifndef CEIT2_H_
#define CEIT2_H_
#include <libsi/section.h>
#include <libsi/descriptor.h>
#include <libsi/si.h>
#include <vdr/epg.h>
#include "util.h"

using namespace util;
namespace SI
{
enum DescriptorTagExt {
  DishRatingDescriptorTag = 0x89,
  DishShortEventDescriptorTag = 0x91,
  DishExtendedEventDescriptorTag = 0x92,
  DishSeriesDescriptorTag = 0x96,
};

// typedef InheritEnum< DescriptorTagExt, SI::DescriptorTag > ExtendedDescriptorTag;

/*extern const char *getCharacterTable(const unsigned char *&buffer, int &length, bool *isSingleByte = NULL);
extern bool convertCharacterTable(const char *from, size_t fromLength, char *to, size_t toLength, const char *fromCode);
extern bool SystemCharacterTableIsSingleByte;*/
class cEIT2:public SI::EIT
{
public:
  cEIT2(cSchedules * Schedules, int Source, u_char Tid, const u_char * Data,
        EFormat format, bool isEITPid = false,
        bool OnlyRunningStatus = false);
  cEIT2 (cSchedule * Schedule, EFormat format);
  //protected:
  //  void updateEquivalent(cSchedules * Schedules, tChannelID channelID, cEvent *pEvent);
  cEvent* ProcessEitEvent(cSchedule *Schedule, const SI::EIT::Event *EitEvent, uchar TableID, uchar Version);

private:
  void ProcessEventDescriptors(bool ExternalData, int Source, u_char Tid,
                               const SI::EIT::Event* SiEitEvent, cEvent* pEvent,
                               cSchedules* Schedules, cChannel* channel);

private:
  bool Empty;
  bool Modified;
  //    bool HasExternalData = false;
  bool OnlyRunningStatus;
  time_t SegmentStart;
  time_t SegmentEnd;
  cSchedules* Schedules;
  EFormat Format;
  cChannel* channel;

};
} //end namespace SI

#endif /* CEIT2_H_ */