summaryrefslogtreecommitdiff
path: root/eit2.h
blob: 5d2e4bbda1005f052ccfd3c85127c5b76afd6d4a (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
#ifndef CEIT2_H_
#define CEIT2_H_
#include <libsi/section.h>
#include <libsi/descriptor.h>
#include <libsi/si.h>

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, bool isEITPid = false, bool OnlyRunningStatus = false);
  cEIT2 (cSchedule * Schedule);
//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;
    time_t SegmentStart;
    time_t SegmentEnd;
    cSchedules* Schedules;
    cChannel* channel;

    bool OnlyRunningStatus;
  };
} //end namespace SI

#endif /* CEIT2_H_ */