/usr/include/k3bvcddoc.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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | /*
*
* Copyright (C) 2003-2004 Christian Kvasny <chris@k3b.org>
* Copyright (C) 2007 Sebastian Trueg <trueg@k3b.org>
* Copyright (C) 2010 Michal Malek <michalm@jabster.pl>
*
* This file is part of the K3b project.
* Copyright (C) 1998-2007 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 K3BVCDDOC_H
#define K3BVCDDOC_H
#include "k3bdoc.h"
#include "k3bvcdoptions.h"
#include "mpeginfo/k3bmpeginfo.h"
#include <QStringList>
#include <QQueue>
#include "k3b_export.h"
class QTimer;
class QDomElement;
namespace K3b {
class VcdTrack;
class LIBK3B_EXPORT VcdDoc : public Doc
{
Q_OBJECT
public:
VcdDoc( QObject* );
~VcdDoc();
virtual Type type() const { return VcdProject; }
virtual QString typeString() const { return QString::fromLatin1("vcd"); }
Device::MediaTypes supportedMediaTypes() const;
QString name() const;
enum vcdTypes { VCD11, VCD20, SVCD10, HQVCD, NONE};
bool newDocument();
void clear();
int numOfTracks() const
{
return m_tracks->count();
}
const QString& vcdImage() const
{
return m_vcdImage;
}
void setVcdImage( const QString& s )
{
m_vcdImage = s;
}
VcdTrack* at( uint i )
{
return m_tracks->at( i );
}
const QList<VcdTrack*>* tracks() const
{
return m_tracks;
}
/** get the current size of the project */
KIO::filesize_t size() const;
Msf length() const;
BurnJob* newBurnJob( JobHandler* hdl, QObject* parent );
VcdOptions* vcdOptions() const
{
return m_vcdOptions;
}
int vcdType() const
{
return m_vcdType;
}
void setVcdType( int type );
void setPbcTracks();
public Q_SLOTS:
/**
* will test the file and add it to the project.
* connect to at least result() to know when
* the process is finished and check error()
* to know about the result.
**/
void addUrls( const KUrl::List& );
void addTrack( const KUrl&, uint );
void addTracks( const KUrl::List&, uint );
/** adds a track without any testing */
void addTrack( K3b::VcdTrack* track, uint position = 0 );
// --- TODO: this should read: removeTrack( VcdTrack* )
void removeTrack( K3b::VcdTrack* track );
/**
* @arg track - track about to be moved
* @arg before - place where track is to be moved.
* If before=0 the track will be moved to the end
*/
void moveTrack( K3b::VcdTrack* track, K3b::VcdTrack* before );
protected Q_SLOTS:
/** processes queue "urlsToAdd" **/
void slotWorkUrlQueue();
Q_SIGNALS:
void aboutToAddVCDTracks( int pos, int count );
void addedVCDTracks();
void aboutToRemoveVCDTracks( int pos, int count );
void removedVCDTracks();
void newTracks();
void trackRemoved( K3b::VcdTrack* );
protected:
/** reimplemented from Doc */
bool loadDocumentData( QDomElement* root );
/** reimplemented from Doc */
bool saveDocumentData( QDomElement* );
private:
VcdTrack* createTrack( const KUrl& url );
void informAboutNotFoundFiles();
QStringList m_notFoundFiles;
QString m_vcdImage;
class PrivateUrlToAdd
{
public:
PrivateUrlToAdd( const KUrl& u, int _pos )
: url( u ), position( _pos )
{}
KUrl url;
int position;
};
/** Holds all the urls that have to be added to the list of tracks. **/
QQueue<PrivateUrlToAdd*> urlsToAdd;
QTimer* m_urlAddingTimer;
QList<VcdTrack*>* m_tracks;
KIO::filesize_t calcTotalSize() const;
KIO::filesize_t ISOsize() const;
bool isImage( const KUrl& url );
VcdTrack* m_lastAddedTrack;
VcdOptions* m_vcdOptions;
int m_vcdType;
int lastAddedPosition;
};
}
#endif
|