This file is indexed.

/usr/include/k3bprocess.h is in libk3b-dev 2.0.2-7ubuntu1.

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
/*
 *
 * Copyright (C) 2003-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_PROCESS_H
#define K3B_PROCESS_H


//#include <KProcess>
#include "k3bkprocess.h"

#include "k3b_export.h"

namespace K3b {
    class ExternalBin;


    /**
     * This is an enhanced K3Process.
     * It splits the stderr output to lines making sure the client gets every line as it
     * was written by the process.
     * Aditionally one may set raw stdout and stdin handling using the stdin() and stdout() methods
     * to get the process' file descriptors.
     * Last but not least Process is able to duplicate stdout making it possible to connect two
     * Processes like used in DataJob to duplicate mkisofs' stdout to the stdin of the writer
     * (cdrecord or cdrdao)
     */
    class LIBK3B_EXPORT Process : public K3bKProcess
    {
        Q_OBJECT

    public:
        Process( QObject* parent = 0 );
        ~Process();

        /**
         * In the future this might also set the nice value
         */
        Process& operator<<( const ExternalBin* );

        Process& operator<<( const char* arg );
        Process& operator<<( const QByteArray& arg );
        Process& operator<<( const QLatin1String& arg );

        /**
         * returned joined list of program arguments
         */
        QString joinedArgs();

        bool isRunning() const { return state() == QProcess::Running; }

        /**
         * Reimplemented from QProcess.
         * Closes the write channel but does not kill the process
         * as QProcess does.
         */
        void close();

        /**
         * Starts the process in \p mode and then waits for it
         * to be started.
         */
        bool start( KProcess::OutputChannelMode mode );

        using K3bKProcess::operator<<;

    public Q_SLOTS:
        void setSplitStdout( bool b );

        /**
         * default is true
         */
        void setSuppressEmptyLines( bool b );

    private Q_SLOTS:
        void slotReadyReadStandardError();
        void slotReadyReadStandardOutput();

    Q_SIGNALS:
        void stderrLine( const QString& line );
        void stdoutLine( const QString& line );

    private:
        class Private;
        Private* const d;
    };
}

#endif