PolkitQt-1

polkitqt1-actiondescription.h
1 /*
2  This file is part of the Polkit-qt project
3  SPDX-FileCopyrightText: 2009 Jaroslav Reznik <[email protected]>
4  SPDX-FileCopyrightText: 2010 Dario Freddi <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #ifndef POLKITQT1_ACTION_DESCRIPTION_H
10 #define POLKITQT1_ACTION_DESCRIPTION_H
11 
12 #include "polkitqt1-core-export.h"
13 
14 #include <QList>
15 #include <QMetaType>
16 #include <QSharedData>
17 
18 typedef struct _PolkitActionDescription PolkitActionDescription;
19 
20 namespace PolkitQt1
21 {
22 /**
23  * \class ActionDescription polkitqt1-actiondescription.h ActionDescription
24  * \author Jaroslav Reznik <[email protected]>
25  * \author Dario Freddi <[email protected]>
26  *
27  * \brief Class used to encapsulate a registered action.
28  */
29 class POLKITQT1_CORE_EXPORT ActionDescription
30 {
31 public:
33  /** Unknown whether the subject is authorized, never returned in any public API. **/
34  Unknown = -1,
35  /** Subject is not authorized. **/
36  NotAuthorized = 0,
37  /** Authentication is required. **/
38  AuthenticationRequired = 1,
39  /** Authentication as an administrator is required. **/
40  AdministratorAuthenticationRequired = 2,
41  /** Authentication is required. If the authorization is obtained, it is retained. **/
42  AuthenticationRequiredRetained = 3,
43  /** Authentication as an administrator is required. If the authorization is obtained, it is retained. **/
44  AdministratorAuthenticationRequiredRetained = 4,
45  /** The subject is authorized. **/
46  Authorized = 5
47  };
48 
49  typedef QList< ActionDescription > List;
50 
52  /**
53  * \brief Constructor of ActionDescription object from PolkitActionDescription
54  *
55  * \warning Use this only if you are completely aware of what are you doing!
56  *
57  * \param actionDesciption PolkitActionDescription
58  */
59  explicit ActionDescription(PolkitActionDescription *actionDescription);
62 
63  ActionDescription &operator=(const ActionDescription &other);
64 
65  /**
66  * \brief Gets the action id for ActionDescription
67  *
68  * \return id of the action
69  */
70  QString actionId() const;
71 
72  /**
73  * \brief Gets the description used for ActionDescription
74  *
75  * \return description of the action
76  */
77  QString description() const;
78 
79  /**
80  * \brief Gets the message used for ActionDescription
81  *
82  * \return action message
83  */
84  QString message() const;
85 
86  /**
87  * \brief Gets the vendor name for ActionDescription, if any
88  *
89  * \return vendor name
90  */
91  QString vendorName() const;
92 
93  /**
94  * \brief Gets the vendor URL for ActionDescription, if any
95  *
96  * \return vendor URL or empty QString if there is no vendor URL
97  */
98  QString vendorUrl() const;
99 
100  /**
101  * \brief Gets the icon name for ActionDescription, if any
102  *
103  * \return icon name or empty QString if there is no icon
104  */
105  QString iconName() const;
106 
107  /**
108  * \brief Gets the implicit authorization for ActionDescription used for any subject
109  *
110  * \return A value from ImplicitAuthorization enumeration
111  */
112  ActionDescription::ImplicitAuthorization implicitAny() const;
113 
114  /**
115  * \brief Gets the implicit authorization for ActionDescription used for subjects in inactive session on a local console
116  *
117  * \return A value from ImplicitAuthorization enumeration
118  */
119  ActionDescription::ImplicitAuthorization implicitInactive() const;
120 
121  /**
122  * \brief Gets the implicit authorization for ActionDescription used for subjects in active session on a local console
123  *
124  * \return A value from ImplicitAuthorization enumeration
125  */
126  ActionDescription::ImplicitAuthorization implicitActive() const;
127 
128 private:
129  class Data;
131 };
132 }
133 
134 Q_DECLARE_METATYPE(PolkitQt1::ActionDescription::List)
135 
136 #endif //POLKIT_QT_ACTION_DESCRIPTION_H
Class used to encapsulate a registered action.
Namespace wrapping Polkit-Qt classes.
QString message
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sun Jun 26 2022 04:06:09 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.