File indexing completed on 2024-05-12 04:51:08
0001 /* 0002 SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef _K3B_MOVIX_PROGRAM_H_ 0007 #define _K3B_MOVIX_PROGRAM_H_ 0008 0009 #include "k3bexternalbinmanager.h" 0010 #include "k3b_export.h" 0011 0012 namespace K3b { 0013 class LIBK3B_EXPORT MovixBin : public ExternalBin 0014 { 0015 public: 0016 MovixBin( ExternalProgram& program, const QString& path ) 0017 : ExternalBin( program, path ) { 0018 } 0019 0020 const QString& movixDataDir() const { return m_movixPath; } 0021 0022 const QStringList& supportedBootLabels() const { return m_supportedBootLabels; } 0023 QStringList supportedSubtitleFonts() const; 0024 QStringList supportedLanguages() const; 0025 QStringList supportedKbdLayouts() const; 0026 QStringList supportedBackgrounds() const; 0027 QStringList supportedCodecs() const; 0028 0029 /* 0030 * Unused for eMovix versions 0.9.0 and above 0031 */ 0032 const QStringList& movixFiles() const { return m_movixFiles; } 0033 0034 /* 0035 * Unused for eMovix versions 0.9.0 and above 0036 */ 0037 const QStringList& isolinuxFiles() const { return m_isolinuxFiles; } 0038 0039 /** 0040 * returns empty string if font was not found 0041 * 0042 * Unused for eMovix versions 0.9.0 and above 0043 */ 0044 QString subtitleFontDir( const QString& font ) const; 0045 0046 /** 0047 * returns empty string if lang was not found 0048 * 0049 * Unused for eMovix versions 0.9.0 and above 0050 */ 0051 QString languageDir( const QString& lang ) const; 0052 0053 /** 0054 * Interface for the movix-conf --files interface for 0055 * versions >= 0.9.0 0056 */ 0057 QStringList files( const QString& kbd = QString(), 0058 const QString& font = QString(), 0059 const QString& bg = QString(), 0060 const QString& lang = QString(), 0061 const QStringList& codecs = QStringList() ) const; 0062 0063 private: 0064 QStringList supported( const QString& ) const; 0065 0066 QString m_movixPath; 0067 QStringList m_movixFiles; 0068 QStringList m_isolinuxFiles; 0069 QStringList m_supportedBootLabels; 0070 QStringList m_supportedSubtitleFonts; 0071 QStringList m_supportedLanguages; 0072 0073 friend class MovixProgram; 0074 }; 0075 0076 0077 class LIBK3B_EXPORT MovixProgram : public ExternalProgram 0078 { 0079 public: 0080 MovixProgram(); 0081 0082 bool scan( const QString& ) override; 0083 0084 bool supportsUserParameters() const override { return false; } 0085 0086 private: 0087 bool scanNewEMovix( MovixBin* bin, const QString& ); 0088 bool scanOldEMovix( MovixBin* bin, const QString& ); 0089 QStringList determineSupportedBootLabels( const QString& ) const; 0090 }; 0091 } 0092 0093 0094 0095 #endif