00001 #ifndef BLURAYMETADATA_H_ 00002 #define BLURAYMETADATA_H_ 00003 00004 #include <QList> 00005 #include <QPair> 00006 #include <QString> 00007 00008 #include "mythimage.h" 00009 #include "mythmetaexp.h" 00010 #include "bluray.h" 00011 00012 typedef QList< QPair < uint,QString > > BlurayTitles; 00013 00014 typedef QHash<QString,QString> MetadataMap; 00015 00016 struct meta_dl; 00017 class META_PUBLIC BlurayMetadata : public QObject 00018 { 00019 public: 00020 BlurayMetadata(const QString path); 00021 ~BlurayMetadata(); 00022 00023 void toMap(MetadataMap &metadataMap); 00024 00025 bool OpenDisc(void); 00026 bool IsOpen() { return m_bdnav; }; 00027 bool ParseDisc(void); 00028 00029 QString GetTitle(void) { return m_title; }; 00030 QString GetAlternateTitle(void) { return m_alttitle; }; 00031 QString GetDiscLanguage(void) { return m_language; }; 00032 00033 uint GetCurrentDiscNumber(void) { return m_discnumber; }; 00034 uint GetTotalDiscNumber(void) { return m_disctotal; }; 00035 00036 uint GetTitleCount(void) { return m_titles.count(); }; 00037 BlurayTitles GetTitles(void) { return m_titles; }; 00038 00039 uint GetThumbnailCount(void) { return m_images.count(); }; 00040 QStringList GetThumbnails(void) {return m_images; }; 00041 00042 bool GetTopMenuSupported(void) { return m_topMenuSupported; }; 00043 bool GetFirstPlaySupported(void) { return m_firstPlaySupported; }; 00044 00045 uint32_t GetNumHDMVTitles(void) { return m_numHDMVTitles; }; 00046 uint32_t GetNumBDJTitles(void) { return m_numBDJTitles; }; 00047 uint32_t GetNumUnsupportedTitles(void) { return m_numUnsupportedTitles; }; 00048 00049 bool GetAACSDetected(void) { return m_aacsDetected; }; 00050 bool GetLibAACSDetected(void) { return m_libaacsDetected; }; 00051 bool GetAACSHandled(void) { return m_aacsHandled; }; 00052 00053 bool GetBDPlusDetected(void) { return m_bdplusDetected; }; 00054 bool GetLibBDPlusDetected(void) { return m_libbdplusDetected; }; 00055 bool GetBDPlusHandled(void) { return m_bdplusHandled; }; 00056 00057 private: 00058 BLURAY *m_bdnav; 00059 meta_dl *m_metadata; 00060 00061 QString m_title; 00062 QString m_alttitle; 00063 QString m_language; 00064 00065 uint m_discnumber; 00066 uint m_disctotal; 00067 00068 QString m_path; 00069 00070 BlurayTitles m_titles; 00071 QStringList m_images; 00072 00073 bool m_topMenuSupported; 00074 bool m_firstPlaySupported; 00075 uint32_t m_numHDMVTitles; 00076 uint32_t m_numBDJTitles; 00077 uint32_t m_numUnsupportedTitles; 00078 bool m_aacsDetected; 00079 bool m_libaacsDetected; 00080 bool m_aacsHandled; 00081 bool m_bdplusDetected; 00082 bool m_libbdplusDetected; 00083 bool m_bdplusHandled; 00084 }; 00085 00086 #endif
1.6.3