/usr/include/KF5/KDESu/kdesu/stubprocess.h is in libkf5su-dev 5.18.0-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 | /*
* This file is part of the KDE project, module kdesu.
* Copyright (C) 1999,2000 Geert Jansen <jansen@kde.org>
*
* This is free software; you can use this library under the GNU Library
* General Public License, version 2. See the file "COPYING.LIB" for the
* exact licensing terms.
*/
#ifndef KDESUSTUB_H
#define KDESUSTUB_H
#include "ptyprocess.h"
#include <kdesu/kdesu_export.h>
#include <QtCore/QByteRef>
#include <QtCore/QList>
namespace KDESu
{
namespace KDESuPrivate
{
class KCookie;
}
/** \class StubProcess kdesu/stubprocess.h
* Chat with kdesu_stub.
*
* StubProcess extends PtyProcess with functionality to chat with kdesu_stub.
*/
class KDESU_EXPORT StubProcess: public PtyProcess
{
public:
/**
* Different schedulers. SchedNormal is the normal Unix timesharing
* scheduler, while SchedRealtime is a POSIX.1b realtime scheduler.
*/
enum Scheduler {
SchedNormal,
SchedRealtime
};
StubProcess();
~StubProcess();
/**
* Set the command.
*/
void setCommand(const QByteArray &command);
/**
* Set the target user.
*/
void setUser(const QByteArray &user);
/**
* Set to "X only mode": Sycoca is not built and kdeinit is not launched.
*/
void setXOnly(bool xonly);
/**
* Set the priority of the process. The priority value must be between 0
* and 100, 0 being the lowest priority. This value is mapped to the
* scheduler and system dependent priority range of the OS.
*/
void setPriority(int prio);
/**
* Set the scheduler type.
*/
void setScheduler(int sched);
protected:
void virtual_hook(int id, void *data) Q_DECL_OVERRIDE;
/**
* Exchange all parameters with kdesu_stub.
*/
int converseStub(int check);
/**
* This virtual function can be overloaded when special behavior is
* desired. By default, it returns the value returned by KCookie.
*/
virtual QByteArray display();
/**
* See display.
*/
virtual QByteArray displayAuth();
bool m_XOnly;
int m_priority;
int m_scheduler;
QByteArray m_command;
QByteArray m_user;
KDESuPrivate::KCookie *m_cookie;
private:
QByteArray commaSeparatedList(const QList<QByteArray> &lst);
void writeString(const QByteArray &str);
class StubProcessPrivate;
StubProcessPrivate *const d;
};
}
#endif // KDESUSTUB_H
|