RabbitCommon v2.3.4
Loading...
Searching...
No Matches
adminauthoriser.cpp
1
3
4#include "adminauthoriser.h"
5#include "adminauthorization_p.h"
6#include <QFileInfo>
7#include <QProcess>
8
11
12RabbitCommon::CAdminAuthoriser::~CAdminAuthoriser() = default;
13
14RabbitCommon::CAdminAuthoriser* RabbitCommon::CAdminAuthoriser::Instance()
15{
16 static RabbitCommon::CAdminAuthoriser* p = nullptr;
17 if(!p)
19 return p;
20}
21
22bool RabbitCommon::CAdminAuthoriser::execute(const QString &program, const QStringList &arguments)
23{
24 if(hasAdminRights())
25 {
26 QFileInfo fi(program);
27 if(GetDetached())
28 return QProcess::startDetached(fi.absoluteFilePath(),
29 arguments,
30 fi.absolutePath());
31 else
32 return QProcess::execute(fi.absoluteFilePath(),
33 arguments);
34 } else {
35 return executeAsAdmin(program, arguments);
36 }
37}
38
39void RabbitCommon::CAdminAuthoriser::SetDetached(bool bDetached)
40{
41 m_bDetached = bDetached;
42}
43
44bool RabbitCommon::CAdminAuthoriser::GetDetached()
45{
46 return m_bDetached;
47}
An interface to run programs with elevated rights.