summaryrefslogtreecommitdiffstats
path: root/src/installer-lib/sudo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/installer-lib/sudo.h')
-rw-r--r--src/installer-lib/sudo.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/installer-lib/sudo.h b/src/installer-lib/sudo.h
index 40517439..44e7968c 100644
--- a/src/installer-lib/sudo.h
+++ b/src/installer-lib/sudo.h
@@ -58,12 +58,16 @@ typedef uint gid_t;
QT_BEGIN_NAMESPACE_AM
-enum SudoDropPrivileges {
- DropPrivilegesPermanently,
- DropPrivilegesRegainable, // only use this for auto-tests
-};
+class Sudo
+{
+public:
+ enum DropPrivileges {
+ DropPrivilegesPermanently,
+ DropPrivilegesRegainable, // only use this for auto-tests
+ };
-bool forkSudoServer(SudoDropPrivileges dropPrivileges, QString *errorString, QStringList *warnings = nullptr);
+ static void forkServer(DropPrivileges dropPrivileges, QStringList *warnings = nullptr) Q_DECL_NOEXCEPT_EXPR(false);
+};
class SudoInterface
{
@@ -96,7 +100,7 @@ class SudoServer;
class SudoClient : public SudoInterface
{
public:
- static bool initialize(int socketFd, SudoServer *shortCircuit = 0);
+ static SudoClient *createInstance(int socketFd, SudoServer *shortCircuit = 0);
static SudoClient *instance();
@@ -130,7 +134,7 @@ private:
class SudoServer : public SudoInterface
{
public:
- static bool initialize(int socketFd, int loopControlFd);
+ static SudoServer *createInstance(int socketFd, int loopControlFd);
static SudoServer *instance();