/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
|