[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [k3b/cdrskin] libk3b/core: Prepare for migrating to libburnia
From:       Leslie Zhai <xiangzhai83 () gmail ! com>
Date:       2016-11-09 7:04:52
Message-ID: E1c4MwG-0005WO-71 () code ! kde ! org
[Download RAW message or body]

Git commit 6177dcec4ca59f1781bbccc49670abd3126a3cae by Leslie Zhai.
Committed on 09/11/2016 at 06:55.
Pushed by lesliezhai into branch 'cdrskin'.

Prepare for migrating to libburnia

As Thomas Schmitt suggested in KDEBUG-367639 adapting to cdrskin/xorriso
because cdrkit/wodim and dvd+rw-tools/growisofs are both dead projects,
as Kevin Kofler described, only Linux distributions packages patch them for
fixing BUG...

So it is the time to migrate to cdrskin/xorriso, please give me more code
review and help, thanks a lot!

CCMAIL: scdbackup@gmx.net
CCBUG: 137436

M  +31   -0    libk3b/core/k3bdefaultexternalprograms.cpp
M  +20   -0    libk3b/core/k3bdefaultexternalprograms.h
M  +2    -0    libk3b/core/k3bglobals.cpp
M  +2    -1    libk3b/core/k3bglobals.h

http://commits.kde.org/k3b/6177dcec4ca59f1781bbccc49670abd3126a3cae

diff --git a/libk3b/core/k3bdefaultexternalprograms.cpp b/libk3b/core/k3bdefaultexternalprograms.cpp
index 03acd0b..40fb533 100644
--- a/libk3b/core/k3bdefaultexternalprograms.cpp
+++ b/libk3b/core/k3bdefaultexternalprograms.cpp
@@ -530,3 +530,34 @@ QString K3b::DvdBooktypeProgram::parseCopyright( const QString& /*output*/, cons
     // fixed Copyright:
     return QLatin1String( "Andy Polyakov <appro@fy.chalmers.se>" );
 }
+
+K3b::AbstractCdrskinProgram::AbstractCdrskinProgram(const QString& program)
+    : SimpleExternalProgram(program)
+{
+}
+
+
+K3b::AbstractCdrskinProgram::~AbstractCdrskinProgram()
+{
+}
+
+QString K3b::AbstractCdrskinProgram::getProgramPath(const QString& dir) const
+{
+    return "";
+}
+
+
+QString K3b::AbstractCdrskinProgram::versionIdentifier(const ExternalBin& bin) const
+{
+    return name();
+}
+
+K3b::CdrskinProgram::CdrskinProgram()
+    : K3b::AbstractCdrskinProgram(QLatin1String("cdrskin"))
+{
+}
+
+void K3b::CdrskinProgram::parseFeatures(const QString& output, ExternalBin& bin) const
+{
+    bin.addFeature("dvd");
+}
diff --git a/libk3b/core/k3bdefaultexternalprograms.h b/libk3b/core/k3bdefaultexternalprograms.h
index a29213d..0874f94 100644
--- a/libk3b/core/k3bdefaultexternalprograms.h
+++ b/libk3b/core/k3bdefaultexternalprograms.h
@@ -156,6 +156,26 @@ namespace K3b {
         virtual Version parseVersion( const QString& output, const ExternalBin& bin ) const;
         virtual QString parseCopyright( const QString& output, const ExternalBin& bin ) const;
     };
+
+    class LIBK3B_EXPORT AbstractCdrskinProgram : public SimpleExternalProgram
+    {
+    public:
+        AbstractCdrskinProgram(const QString& program);
+        ~AbstractCdrskinProgram();
+
+    protected:
+        virtual QString getProgramPath(const QString& dir) const;
+        virtual QString versionIdentifier(const ExternalBin& bin) const;
+    };
+
+    class LIBK3B_EXPORT CdrskinProgram : public AbstractCdrskinProgram
+    {
+    public:
+        CdrskinProgram();
+
+    protected:
+        virtual void parseFeatures(const QString& output, ExternalBin& bin) const;
+    };
 }
 
 #endif
diff --git a/libk3b/core/k3bglobals.cpp b/libk3b/core/k3bglobals.cpp
index 59101a5..3e189db 100644
--- a/libk3b/core/k3bglobals.cpp
+++ b/libk3b/core/k3bglobals.cpp
@@ -338,6 +338,8 @@ K3b::WritingApp K3b::writingAppFromString( const QString& s )
         return K3b::WritingAppGrowisofs;
     else if( s.toLower() == "dvd+rw-format" )
         return K3b::WritingAppDvdRwFormat;
+    else if (s.toLower() == "cdrskin")
+        return K3b::WritingAppCdrskin;
     else
         return K3b::WritingAppAuto;
 }
diff --git a/libk3b/core/k3bglobals.h b/libk3b/core/k3bglobals.h
index 54d83a0..fcff4c0 100644
--- a/libk3b/core/k3bglobals.h
+++ b/libk3b/core/k3bglobals.h
@@ -66,7 +66,8 @@ namespace K3b {
         WritingAppCdrecord = 1,
         WritingAppCdrdao = 2,
         WritingAppGrowisofs = 4,
-        WritingAppDvdRwFormat = 8
+        WritingAppDvdRwFormat = 8,
+        WritingAppCdrskin = 9
     };
     Q_DECLARE_FLAGS( WritingApps, WritingApp )
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic