This file is indexed.

/usr/include/KF5/kmanagesieve/sievejob.h is in libkf5ksieve-dev 4:17.12.3-0ubuntu1.

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
/*  -*- c++ -*-
    sievejob.h

    Copyright (c) 2002 Marc Mutz <mutz@kde.org>

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License,
    version 2.0, as published by the Free Software Foundation.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
*/

#ifndef KSIEVE_KMANAGESIEVE_SIEVEJOB_H
#define KSIEVE_KMANAGESIEVE_SIEVEJOB_H

#include "kmanagesieve_export.h"

#include <QObject>
#include <QStringList>

#include <QUrl>
#include <kio/global.h>
#include <kio/udsentry.h>

namespace KIO {
class Job;
}

class KJob;

namespace KManageSieve {
class Session;

/**
 * @short A job to manage sieve scripts.
 *
 * This class provides functionality to manage sieve scripts
 * on an IMAP server.
 */
class KMANAGESIEVE_EXPORT SieveJob : public QObject
{
    Q_OBJECT

public:
    /**
     * Stores a sieve script on an IMAP server.
     *
     * @param destination The sieve URL that describes the destination.
     * @param script The raw sieve script.
     * @param makeActive If @c true, the script will be marked as active.
     * @param wasActive If @c true, the script will be marked as inactive.
     */
    static SieveJob *put(const QUrl &destination, const QString &script, bool makeActive, bool wasActive);

    /**
     * Gets a sieve script from an IMAP server.
     *
     * @param source The sieve URL that describes the source.
     */
    static SieveJob *get(const QUrl &source);

    /**
     * Lists all available scripts at the given sieve @p url.
     */
    static SieveJob *list(const QUrl &url);

    /**
     * Deletes the script with the given sieve @p url.
     */
    static SieveJob *del(const QUrl &url);

    /**
     * Activates the script with the given sieve @p url.
     */
    static SieveJob *activate(const QUrl &url);

    /**
     * Deactivates the script with the given sieve @p url.
     */
    static SieveJob *deactivate(const QUrl &url);

    /**
     * Rename the script with the given sieve @p url and new name @p newName.
     * Not supported by all sieve server
     */
    static SieveJob *rename(const QUrl &url, const QString &newName);

    /**
     * Check the script with the given sieve @p url.
     * Not supported by all sieve server
     */
    static SieveJob *check(const QUrl &url, const QString &script);

    /**
     * Kills the sieve job.
     */
    void kill(KJob::KillVerbosity verbosity = KJob::Quietly);

    /**
     * Returns the sieve capabilities of the IMAP server.
     */
    QStringList sieveCapabilities() const;

    /**
     * Returns whether the requested sieve script exists on
     * the IMAP server.
     */
    bool fileExists() const;

    /**
     * A human-readable error message.
     */
    QString errorString() const;

Q_SIGNALS:
    /**
     * This signal is emitted when a get job has finished.
     *
     * @param job The job that has finished
     * @param success Whether the job was successfully.
     * @param script The downloaded sieve script.
     * @param active Whether the script is active on the server.
     */
    void gotScript(KManageSieve::SieveJob *job, bool success, const QString &script, bool active);

    /**
     * This signal is emitted when a list job has finished.
     *
     * @param job The job that has finished.
     * @param success Whether the job was successfully.
     * @param scriptList The list of script filenames on the server.
     * @param activeScript The filename of the active script, or an
     *                     empty string if no script is active.
     */
    void gotList(KManageSieve::SieveJob *job, bool success, const QStringList &scriptList, const QString &activeScript);

    /**
     * This signal is emitted for all kind of jobs when they have finished.
     *
     * @param job The job that has finished.
     * @param success Whether the job was successfully.
     * @param script The script the action was about.
     * @param active The filename of the active script, or an
     * @param active Whether the script is active on the server.
     */
    void result(KManageSieve::SieveJob *job, bool success, const QString &script, bool active);

    /**
     * This signal is emitted for each result entry of a list job.
     *
     * @param job The job the result belongs to.
     * @param filename The filename of the sieve script on the server.
     * @param active Whether the script is active on the server.
     */
    void item(KManageSieve::SieveJob *job, const QString &filename, bool active);

private:
    void setErrorMessage(const QString &str);

    //@cond PRIVATE
    SieveJob(QObject *parent = nullptr);
    ~SieveJob();

    class Private;
    Private *const d;
    friend class Session;
    //@endcond
};
}

#endif