Warning, file /multimedia/k3b/libk3b/projects/k3bcdrskinwriter.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2016-2017 Leslie Zhai <lesliezhai@llvm.org.cn> 0003 SPDX-FileCopyrightText: 2003-2009 Sebastian Trueg <trueg@k3b.org> 0004 SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 0010 #ifndef K3B_CDRSKIN_WRITER_H 0011 #define K3B_CDRSKIN_WRITER_H 0012 0013 0014 #include "k3babstractwriter.h" 0015 0016 #include <QProcess> 0017 #include <QStringList> 0018 0019 namespace K3b { 0020 class ExternalBin; 0021 class Process; 0022 namespace Device { 0023 class Device; 0024 } 0025 0026 0027 class CdrskinWriter : public AbstractWriter 0028 { 0029 Q_OBJECT 0030 0031 public: 0032 CdrskinWriter( Device::Device*, JobHandler* hdl, 0033 QObject* parent = 0 ); 0034 ~CdrskinWriter() override; 0035 0036 bool active() const override; 0037 0038 /** 0039 * to be used in chain: addArgument(x)->addArgument(y) 0040 */ 0041 CdrskinWriter* addArgument( const QString& ); 0042 void clearArguments(); 0043 0044 /** 0045 * Write to the writer process. 0046 * FIXME: make this an overloaded method from AbstractWriter 0047 */ 0048 qint64 write( const char* data, qint64 maxSize ); 0049 0050 QIODevice* ioDevice() const override; 0051 0052 public Q_SLOTS: 0053 void start() override; 0054 void cancel() override; 0055 0056 void setDao( bool b ); 0057 void setWritingMode( WritingMode mode ); 0058 void setFormattingMode( FormattingMode mode ); 0059 void setCueFile( const QString& s); 0060 void setClone( bool b ); 0061 void setMulti( bool b ); 0062 void setForce( bool b ); 0063 0064 void setRawCdText( const QByteArray& a ); 0065 0066 protected Q_SLOTS: 0067 void slotStdLine( const QString& line ); 0068 void slotProcessExited( int exitCode, QProcess::ExitStatus exitStatus ); 0069 void slotThroughput( int t ); 0070 0071 protected: 0072 virtual bool prepareProcess(); 0073 0074 enum CdrskinError { UNKNOWN, 0075 OVERSIZE, 0076 BAD_OPTION, 0077 SHMGET_FAILED, 0078 OPC_FAILED, 0079 CANNOT_SET_SPEED, 0080 CANNOT_SEND_CUE_SHEET, 0081 CANNOT_OPEN_NEW_SESSION, 0082 CANNOT_FIXATE_DISK, 0083 WRITE_ERROR, 0084 PERMISSION_DENIED, 0085 BUFFER_UNDERRUN, 0086 HIGH_SPEED_MEDIUM, 0087 LOW_SPEED_MEDIUM, 0088 MEDIUM_ERROR, 0089 DEVICE_BUSY, 0090 BLANK_FAILED, 0091 SHORT_READ }; 0092 0093 private: 0094 class Private; 0095 Private* d; 0096 }; 0097 } 0098 0099 #endif