MythTV master
tablestatus.h
Go to the documentation of this file.
1// -*- Mode: c++ -*-
2// Copyright (c) 2003-2012
3#ifndef TABLESTATUS_H_
4#define TABLESTATUS_H_
5
6// C++
7#include <cstdint> // uint64_t
8#include <array>
9#include <vector>
10
11// Qt
12#include "qmap.h"
13
15{
16public:
17 using sections_t = std::vector<uint8_t>;
18 static void InitSections(sections_t &sect, uint32_t last_section);
19
20 TableStatus() = default;
21 void SetVersion(int32_t version, uint32_t last_section);
22 void SetSectionSeen(int32_t version, uint32_t section,
23 uint32_t last_section, uint32_t segment_last_section = 0xffff);
24 bool IsSectionSeen(int32_t version, uint32_t section) const;
25 bool HasAllSections() const;
26
27 int32_t m_version {-2};
29
30private:
31 static const std::array<const uint8_t,8> kInitBits;
32};
33
34
35class TableStatusMap : public QMap<uint32_t, TableStatus>
36{
37public:
38 void SetVersion(uint32_t key, int32_t version, uint32_t last_section);
39 void SetSectionSeen(uint32_t key, int32_t version, uint32_t section,
40 uint32_t last_section, uint32_t segment_last_section = 0xffff);
41 bool IsSectionSeen(uint32_t key, int32_t version, uint32_t section) const;
42 bool HasAllSections(uint32_t key) const;
43};
44
45#endif // TABLESTATUS_H_
46
void SetSectionSeen(uint32_t key, int32_t version, uint32_t section, uint32_t last_section, uint32_t segment_last_section=0xffff)
Definition: tablestatus.cpp:65
void SetVersion(uint32_t key, int32_t version, uint32_t last_section)
Definition: tablestatus.cpp:58
bool IsSectionSeen(uint32_t key, int32_t version, uint32_t section) const
Definition: tablestatus.cpp:73
bool HasAllSections(uint32_t key) const
Definition: tablestatus.cpp:81
void SetVersion(int32_t version, uint32_t last_section)
Definition: tablestatus.cpp:21
static const std::array< const uint8_t, 8 > kInitBits
Definition: tablestatus.h:31
void SetSectionSeen(int32_t version, uint32_t section, uint32_t last_section, uint32_t segment_last_section=0xffff)
Definition: tablestatus.cpp:30
bool IsSectionSeen(int32_t version, uint32_t section) const
Definition: tablestatus.cpp:41
TableStatus()=default
bool HasAllSections() const
Definition: tablestatus.cpp:49
int32_t m_version
Definition: tablestatus.h:27
std::vector< uint8_t > sections_t
Definition: tablestatus.h:17
sections_t m_sections
Definition: tablestatus.h:28
static void InitSections(sections_t &sect, uint32_t last_section)
Definition: tablestatus.cpp:10
string version
Definition: giantbomb.py:185