/usr/include/k3bmetawriter.h is in libk3b-dev 2.0.3-0ubuntu5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /*
* Copyright (C) 2009 Sebastian Trueg <trueg@k3b.org>
*
* This file is part of the K3b project.
* Copyright (C) 1998-2009 Sebastian Trueg <trueg@k3b.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* See the file "COPYING" for the exact licensing terms.
*/
#ifndef _K3B_META_WRITER_H_
#define _K3B_META_WRITER_H_
#include "k3babstractwriter.h"
#include "k3b_export.h"
// TODO: - handle media and project size.
// - Use the MetaWriter in all projects
namespace K3b {
/**
* Meta writer which wraps around the cdrecord, cdrdao, and growisofs writers.
* Its main use is to provide one consistent interface and keep all writing mode
* selection and media requesting in one class.
*
* It provides the following features:
* \li select writing app automatically
* \li select writing mode automatically
* \li wait for a medium and emit info messages about what is being written
* \li restrict and modify the supported media types according to the set writing mode
* (Caution: this could lead to failures since the project size if not checked)
*/
class LIBK3B_EXPORT MetaWriter : public AbstractWriter
{
Q_OBJECT
public:
MetaWriter( Device::Device*, JobHandler* hdl, QObject* parent = 0 );
~MetaWriter();
QIODevice* ioDevice() const;
/**
* \return The writing app used after starting the job.
*/
K3b::WritingApp usedWritingApp() const;
/**
* \return The writing mode used after starting the job.
*/
K3b::WritingMode usedWritingMode() const;
public Q_SLOTS:
void start();
void cancel();
/**
* Be aware that the toc that is set here is not necessarily the final toc of the medium.
* It rather represents one session to be written.
*/
void setSessionToWrite( const Device::Toc& toc, const QStringList& images = QStringList() );
void setSupportedWritingMedia( Device::MediaTypes types );
void setWritingApp( WritingApp app );
void setWritingMode( WritingMode mode );
void setCueFile( const QString& s);
void setClone( bool b );
void setMultiSession( bool b );
void setCdText( const Device::CdText& cdtext );
void setLayerBreak( qint64 lb );
void setHideFirstTrack( bool b );
private Q_SLOTS:
void slotWritingJobFinished( bool success );
private:
bool ensureSettingsIntegrity();
bool determineUsedAppAndMode();
bool setupCdrecordJob();
bool setupCdrdaoJob();
bool setupGrowisofsob();
bool startTrackWriting();
void informUser();
class Private;
Private* const d;
};
}
#endif
|