MythTV  master
bluraymetadata.h
Go to the documentation of this file.
1 #ifndef BLURAYMETADATA_H_
2 #define BLURAYMETADATA_H_
3 
4 #include <utility>
5 
6 // Qt headers
7 #include <QList>
8 #include <QPair>
9 #include <QString>
10 
11 // MythTV headers
12 #include "mythtypes.h"
13 #include "mythmetaexp.h"
14 #include "libbluray/bluray.h"
15 
16 class QStringList;
17 
18 using BlurayTitles = QList< QPair < uint,QString > >;
19 
20 struct meta_dl;
21 class META_PUBLIC BlurayMetadata : public QObject
22 {
23  Q_DECLARE_TR_FUNCTIONS(BlurayMetadata);
24 
25  public:
26  explicit BlurayMetadata(QString path)
27  : m_path(std::move(path)) {}
28  ~BlurayMetadata() override;
29 
30  void toMap(InfoMap &metadataMap);
31 
32  bool OpenDisc(void);
33  bool IsOpen() { return m_bdnav; };
34  bool ParseDisc(void);
35 
36  QString GetTitle(void) { return m_title; };
37  QString GetAlternateTitle(void) { return m_alttitle; };
38  QString GetDiscLanguage(void) { return m_language; };
39 
40  uint GetCurrentDiscNumber(void) { return m_discnumber; };
41  uint GetTotalDiscNumber(void) { return m_disctotal; };
42 
43  uint GetTitleCount(void) { return m_titles.count(); };
44  BlurayTitles GetTitles(void) { return m_titles; };
45 
46  uint GetThumbnailCount(void) { return m_images.count(); };
47  QStringList GetThumbnails(void) {return m_images; };
48 
49  bool GetTopMenuSupported(void) { return m_topMenuSupported; };
50  bool GetFirstPlaySupported(void) { return m_firstPlaySupported; };
51 
52  uint32_t GetNumHDMVTitles(void) { return m_numHDMVTitles; };
53  uint32_t GetNumBDJTitles(void) { return m_numBDJTitles; };
54  uint32_t GetNumUnsupportedTitles(void) { return m_numUnsupportedTitles; };
55 
56  bool GetAACSDetected(void) { return m_aacsDetected; };
57  bool GetLibAACSDetected(void) { return m_libaacsDetected; };
58  bool GetAACSHandled(void) { return m_aacsHandled; };
59 
60  bool GetBDPlusDetected(void) { return m_bdplusDetected; };
61  bool GetLibBDPlusDetected(void) { return m_libbdplusDetected; };
62  bool GetBDPlusHandled(void) { return m_bdplusHandled; };
63 
64  private:
65  BLURAY *m_bdnav {nullptr};
66 
67  QString m_title;
68  QString m_alttitle;
69  QString m_language;
70 
71  uint m_discnumber {0};
72  uint m_disctotal {0};
73 
74  QString m_path;
75 
77  QStringList m_images;
78 
79  bool m_topMenuSupported {false};
80  bool m_firstPlaySupported {false};
81  uint32_t m_numHDMVTitles {0};
82  uint32_t m_numBDJTitles {0};
83  uint32_t m_numUnsupportedTitles {0};
84  bool m_aacsDetected {false};
85  bool m_libaacsDetected {false};
86  bool m_aacsHandled {false};
87  bool m_bdplusDetected {false};
88  bool m_libbdplusDetected {false};
89  bool m_bdplusHandled {false};
90 };
91 
92 #endif
BlurayTitles m_titles
uint GetTotalDiscNumber(void)
uint32_t GetNumHDMVTitles(void)
BlurayTitles GetTitles(void)
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15
QString GetAlternateTitle(void)
bool GetTopMenuSupported(void)
#define META_PUBLIC
Definition: mythmetaexp.h:9
bool GetAACSHandled(void)
bool GetBDPlusDetected(void)
uint32_t GetNumBDJTitles(void)
QString m_language
unsigned int uint
Definition: compat.h:140
QString GetDiscLanguage(void)
QList< QPair< uint, QString > > BlurayTitles
QString m_alttitle
bool GetFirstPlaySupported(void)
bool GetAACSDetected(void)
QString GetTitle(void)
QStringList GetThumbnails(void)
uint32_t GetNumUnsupportedTitles(void)
uint GetTitleCount(void)
uint GetCurrentDiscNumber(void)
uint GetThumbnailCount(void)
QStringList m_images
bool GetLibBDPlusDetected(void)
bool GetLibAACSDetected(void)
bool GetBDPlusHandled(void)
BlurayMetadata(QString path)