summaryrefslogtreecommitdiffstats
path: root/core/polkittqt1-authority.h
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2021-11-10 10:02:01 +0900
committerMichele Calgaro <[email protected]>2021-11-10 10:02:01 +0900
commit4606c91f4c62ae540df8edca973c2c5e405227d7 (patch)
tree6496977cbd591c7b530fc49ccdf115cd9673137c /core/polkittqt1-authority.h
parenteb2210c94488f6c57159fede9a98891e4f3a1a52 (diff)
downloadpolkit-tqt-4606c91f4c62ae540df8edca973c2c5e405227d7.tar.gz
polkit-tqt-4606c91f4c62ae540df8edca973c2c5e405227d7.zip
Completed conversion of 'core' library module.
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'core/polkittqt1-authority.h')
-rw-r--r--core/polkittqt1-authority.h539
1 files changed, 0 insertions, 539 deletions
diff --git a/core/polkittqt1-authority.h b/core/polkittqt1-authority.h
deleted file mode 100644
index ae71a86b2..000000000
--- a/core/polkittqt1-authority.h
+++ /dev/null
@@ -1,539 +0,0 @@
-/*
- * This file is part of the Polkit-tqt project
- * Copyright (C) 2009 Daniel Nicoletti <[email protected]>
- * Copyright (C) 2009 Dario Freddi <[email protected]>
- * Copyright (C) 2009 Jaroslav Reznik <[email protected]>
- * Copyright (C) 2009 Radek Novacek <[email protected]>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef POLKITTQT1_AUTHORITY_H
-#define POLKITTQT1_AUTHORITY_H
-
-#include "polkit-tqt-export.h"
-#include "polkittqt1-identity.h"
-#include "polkittqt1-subject.h"
-#include "polkittqt1-temporaryauthorization.h"
-#include "polkittqt1-actiondescription.h"
-
-#include <TQtCore/TQObject>
-#include <TQtCore/TQMetaType>
-
-typedef struct _PolkitAuthority PolkitAuthority;
-class TQStringList;
-
-/**
- * \namespace PolkitTQt PolkitTQt
- *
- * \brief Namespace wrapping Polkit-TQt classes
- *
- * This namespace wraps all Polkit-TQt classes.
- */
-namespace PolkitTQt
-{
-
-/**
- * \class Authority polkittqt1-authority.h Authority
- * \author Daniel Nicoletti <[email protected]>
- * \author Dario Freddi <[email protected]>
- * \author Jaroslav Reznik <[email protected]>
- *
- * \brief Convenience class for TQt/KDE applications
- *
- * This class is a singleton that provides makes easy the usage
- * of PolKitAuthority. It emits configChanged()
- * whenever PolicyKit files change (e.g. the PolicyKit.conf
- * or .policy files) or when ConsoleKit reports activities changes.
- *
- * \note This class is a singleton, its constructor is private.
- * Call Authority::instance() to get an instance of the Authority object.
- * Do not delete Authority::instance(), cleanup will be done automatically.
- */
-class POLKIT_TQT_EXPORT Authority : public TQObject
-{
- Q_OBJECT
- TQ_DISABLE_COPY(Authority)
- TQ_ENUMS(Result)
- TQ_ENUMS(ErrorCode)
-public:
- enum Result {
- /** Result unknown */
- Unknown = 0x00,
- /** The subject is authorized for the specified action */
- Yes = 0x01,
- /** The subject is not authorized for the specified action */
- No = 0x02,
- /** The subject is authorized if more information is provided */
- Challenge = 0x03
- };
-
- enum AuthorizationFlag {
- /** No flags set **/
- None = 0x00,
- /** If the subject can obtain the authorization through authentication,
- * and an authentication agent is available, then attempt to do so.
- *
- * Note, this means that the method used for checking authorization is likely
- * to block for a long time. **/
- AllowUserInteraction = 0x01
- };
- TQ_DECLARE_FLAGS(AuthorizationFlags, AuthorizationFlag)
-
- /** Error codes for the authority class */
- enum ErrorCode {
- /** No error occurred **/
- E_None = 0x00,
- /** Authority cannot be obtained **/
- E_GetAuthority = 0x01,
- /** Authority check failed **/
- E_CheckFailed = 0x02,
- /** Wrong or empty subject was given **/
- E_WrongSubject = 0x03,
- /** Action returned unknown result **/
- E_UnknownResult = 0x04,
- /** Enumerating actions failed **/
- E_EnumFailed = 0x05,
- /** Registration of authentication agent failed **/
- E_RegisterFailed = 0x06,
- /** Unregistration of authentication agent failed **/
- E_UnregisterFailed = 0x07,
- /** Cookie or polkittqt1-identity.handled to the action is empty **/
- E_CookieOrIdentityEmpty = 0x08,
- /** Response of auth agent failed **/
- E_AgentResponseFailed = 0x09,
- /** Revoke temporary authorizations failed **/
- E_RevokeFailed = 0x0A
- };
-
- /**
- * \brief Returns the instance of Authority
- *
- * Returns the current instance of Authority. Call this function whenever
- * you need to access the Authority class.
- *
- * \note Authority is a singleton. Memory is handled by polkit-tqt, so you just
- * need to call this function to get a working instance of Authority.
- * Don't delete the object after having used it.
- *
- * \param authority use this if you want to set an explicit PolkitAuthority. If you
- * don't know what this implies, simply ignore the parameter. In case
- * you want to use it, be sure of streaming it the first time you call
- * this function, otherwise it will have no effect.
- *
- * \return The current authority instance
- */
- static Authority *instance(PolkitAuthority *authority = 0);
-
- ~Authority();
-
- /**
- * You should always call this method after every action. No action will be allowed
- * if the object is in error state. Use clearError() to clear the error message.
- *
- * \see lastError
- * \see clearError
- *
- * \return \c true if an error occurred, \c false if the library is ready
- */
- bool hasError() const;
-
- /**
- * \return the code of last error
- */
- ErrorCode lastError() const;
-
- /**
- * Get detail information about error that occurred.
- *
- * \return detail message
- */
- const TQString errorDetails() const;
-
- /**
- * Use this method to clear the error message.
- */
- void clearError();
-
- /**
- * Returns the current instance of PolkitAuthority. If you are handling
- * it through Polkit-tqt (which is quite likely, since you are calling
- * this function), DO NOT use any PolicyKit API's specific method that
- * modifies the instance on it, unless you're completely aware of what you're doing and
- * of the possible consequencies. Use this instance only to gather information.
- *
- * \return the current PolkitAuthority instance
- */
- PolkitAuthority *polkitAuthority() const;
-
- /**
- * This function should be used by mechanisms (e.g.: helper applications).
- * It returns the action should be carried out, so if the caller was
- * actually authorized to perform it. The result is in form of a Result, so that
- * you can have more control over the whole process, and detect an eventual error.
- * Most of the times you simply want to check if the result is == to \c Result::Yes,
- * if you don't have specific needs.
- *
- * It is CRITICAL that you call this function
- * and check what it returns before doing anything in your helper, since otherwise
- * you could be actually performing an action from an unknown or unauthorized caller.
- *
- * When operation is finished, signal checkAuthorizationFinish is emitted
- * with result of authorization check in its parameter.
- *
- * \see checkAuthorizationSync Synchronous version of this method.
- * \see checkAuthorizationFinished Signal that is emitted when this method finishes.
- * \see checkAuthorizationCancel Use it to cancel execution of this method.
- *
- * \param actionId the Id of the action in question
- * \param subject subject that the action is authorized for (e.g. unix process)
- * \param flags flags that influences the authorization checking
- *
- * \return \c Result::Yes if the caller is authorized and the action should be performed
- * \c otherwise if the caller was not authorized and the action should not be performed,
- * or an error has occurred
- *
- */
- void checkAuthorization(const TQString &actionId, const Subject &subject,
- AuthorizationFlags flags);
-
- /**
- * Synchronous version of the checkAuthorization method.
- *
- * \param actionId the Id of the action in question
- * \param subject subject that the action is authorized for (e.g. unix process)
- * \param flags flags that influences the authorization checking
- *
- * \see checkAuthorization Asynchronous version of this method.
- */
- Result checkAuthorizationSync(const TQString &actionId, const Subject &subject,
- AuthorizationFlags flags);
-
- /**
- * This method can be used to cancel last authorization check.
- */
- void checkAuthorizationCancel();
-
- /**
- * Asynchronously retrieves all registered actions.
- *
- * When operation is finished, signal checkAuthorizationFinish is emitted
- * with result of authorization check in its parameter.
- *
- * \see enumerateActionsSync Synchronous version of this method.
- * \see enumerateActionsFinished Signal that is emitted when this method finishes.
- * \see enumerateActionsCancel Use it to cancel execution of this method.
- */
- void enumerateActions();
-
- /**
- * Synchronously retrieves all registered actions.
- *
- * \see enumerateActions Asynchronous version of this method.
- *
- * \return a list of Action IDs
- */
- ActionDescription::List enumerateActionsSync();
-
- /**
- * This method can be used to cancel enumeration of actions
- */
- void enumerateActionsCancel();
-
- /**
- * Registers an authentication agent.
- *
- * \see registerAuthenticationAgentSync Synchronous version of this method.
- * \see registerAuthenticationAgentFinished Signal that is emitted when this method finishes.
- * \see registerAuthenticationAgentCancel Use it to cancel execution of this method.
- *
- * \param subject caller subject
- * \param locale the locale of the authentication agent
- * \param objectPath the object path for the authentication agent
- */
- void registerAuthenticationAgent(const Subject &subject, const TQString &locale,
- const TQString &objectPath);
-
- /**
- * Registers an authentication agent.
- *
- * \see registerAuthenticationAgent Asynchronous version of this method.
- *
- * \param subject caller subject
- * \param locale the locale of the authentication agent
- * \param objectPath the object path for the authentication agent
- *
- * \return \c true if the Authentication agent has been successfully registered
- * \c false if the Authentication agent registration failed
- */
- bool registerAuthenticationAgentSync(const Subject &subject, const TQString &locale,
- const TQString &objectPath);
-
- /**
- * This method can be used to cancel the registration of the authentication agent.
- */
- void registerAuthenticationAgentCancel();
-
- /**
- * Unregisters an Authentication agent.
- *
- * \see unregisterAuthenticationAgentSync Synchronous version of this method.
- * \see unregisterAuthenticationAgentFinished Signal that is emitted when this method finishes.
- * \see unregisterAuthenticationAgentCancel Use it to cancel execution of this method.
- *
- * \param subject caller subject
- * \param objectPath the object path for the Authentication agent
- *
- * \return \c true if the Authentication agent has been successfully unregistered
- * \c false if the Authentication agent unregistration failed
- */
- void unregisterAuthenticationAgent(const Subject &subject, const TQString &objectPath);
-
- /**
- * Unregisters an Authentication agent.
- *
- * \see unregisterAuthenticationAgent Asynchronous version of this method.
- *
- * \param subject caller subject
- * \param objectPath the object path for the Authentication agent
- *
- * \return \c true if the Authentication agent has been successfully unregistered
- * \c false if the Authentication agent unregistration failed
- */
- bool unregisterAuthenticationAgentSync(const Subject &subject, const TQString &objectPath);
-
- /**
- * This method can be used to cancel the unregistration of the authentication agent.
- */
- void unregisterAuthenticationAgentCancel();
-
- /**
- * Provide response that \p identity successfully authenticated for the authentication request identified by \p cookie.
- *
- * \see authenticationAgentResponseSync Synchronous version of this method.
- * \see authenticationAgentResponseFinished Signal that is emitted when this method finishes.
- * \see authenticationAgentResponseCancel Use it to cancel execution of this method.
- *
- * \param cookie The cookie passed to the authentication agent from the authority.
- * \param identity The identity that was authenticated.
- */
- void authenticationAgentResponse(const TQString &cookie, const Identity &identity);
-
- /**
- * Provide response that \p identity successfully authenticated for the authentication request identified by \p cookie.
- *
- * \see authenticationAgentResponse Asynchronous version of this method.
- *
- * \param cookie The cookie passed to the authentication agent from the authority.
- * \param identity The identity that was authenticated.
- *
- * \return \c true if authority acknowledged the call, \c false if error is set.
- *
- */
- bool authenticationAgentResponseSync(const TQString& cookie, const PolkitTQt::Identity& identity);
-
- /**
- * This method can be used to cancel the authenticationAgentResponseAsync method.
- */
- void authenticationAgentResponseCancel();
-
- /**
- * Retrieves all temporary action that applies to \p subject.
- *
- * \see enumerateTemporaryAuthorizationsSync Synchronous version of this method.
- * \see enumerateTemporaryAuthorizationsFinished Signal that is emitted when this method finishes.
- * \see enumerateTemporaryAuthorizationsCancel Use it to cancel execution of this method.
- *
- * \param subject the subject to get temporary authorizations for
- *
- */
- void enumerateTemporaryAuthorizations(const Subject &subject);
-
- /**
- * Retrieves all temporary action that applies to \p subject
- *
- * \see enumerateTemporaryAuthorizations Asynchronous version of this method.
- *
- * \param subject the subject to get temporary authorizations for
- *
- * \note Free all TemporaryAuthorization objects using \p delete operator.
- *
- * \return List of all temporary authorizations
- */
- TemporaryAuthorization::List enumerateTemporaryAuthorizationsSync(const Subject &subject);
-
- /**
- * This method can be used to cancel the enumerateTemporaryAuthorizationsAsync method.
- */
- void enumerateTemporaryAuthorizationsCancel();
-
- /**
- * Revokes all temporary authorizations that applies to \p subject
- *
- * \see revokeTemporaryAuthorizationsSync Synchronous version of this method.
- * \see revokeTemporaryAuthorizationsFinished Signal that is emitted when this method finishes.
- * \see revokeTemporaryAuthorizationsCancel Use it to cancel execution of this method.
-
- * \param subject the subject to revoke temporary authorizations from
- */
- void revokeTemporaryAuthorizations(const Subject &subject);
-
- /**
- * Revokes all temporary authorizations that applies to \p subject
- *
- * \see revokeTemporaryAuthorizations Asynchronous version of this method.
- *
- * \param subject the subject to revoke temporary authorizations from
- *
- * \return \c true if all temporary authorization were revoked
- * \c false if the revoking failed
- */
- bool revokeTemporaryAuthorizationsSync(const Subject &subject);
-
- /**
- * This method can be used to cancel the method revokeTemporaryAuthorizationsAsync.
- */
- void revokeTemporaryAuthorizationsCancel();
-
- /**
- * Revokes temporary authorization by \p id
- *
- * \see revokeTemporaryAuthorizationSync Synchronous version of this method.
- * \see revokeTemporaryAuthorizationFinished Signal that is emitted when this method finishes.
- * \see revokeTemporaryAuthorizationCancel Use it to cancel execution of this method.
- *
- * \param id the identifier of the temporary authorization
- */
- void revokeTemporaryAuthorization(const TQString &id);
-
- /**
- * Revokes temporary authorization by \p id
- *
- * \see revokeTemporaryAuthorization Asynchronous version of this method.
- *
- * \param id the identifier of the temporary authorization
- *
- * \return \c true if the temporary authorization was revoked
- * \c false if the revoking failed
- */
- bool revokeTemporaryAuthorizationSync(const TQString &id);
-
- /**
- * This method can be used to cancel the method revokeTemporaryAuthorizationAsync.
- */
- void revokeTemporaryAuthorizationCancel();
-
-Q_SIGNALS:
- /**
- * This signal will be emitted when a configuration
- * file gets changed (e.g. /etc/PolicyKit/PolicyKit.conf or
- * .policy files).
- * Connect to this signal if you want to track down
- * actions.
- */
- void configChanged();
-
- /**
- * This signal is emitted when ConsoleKit configuration
- * changes. This might happen when a session becomes active
- * or inactive.
- *
- * If you want to track your actions directly you should
- * connect to this signal, as this might change the return value
- * PolicyKit will give you.
- *
- * \note If you use Action you'll probably prefer to
- * use the dataChanged() signal to track Action changes.
- */
- void consoleKitDBChanged();
-
- /**
- * This signal is emitted when asynchronous method checkAuthorization finishes.
- *
- * The argument is the result of authorization.
- */
- void checkAuthorizationFinished(PolkitTQt::Authority::Result);
-
- /**
- * This signal is emitted when asynchronous method enumerateActions finishes.
- *
- * The argument is the list of all Action IDs.
- */
- void enumerateActionsFinished(PolkitTQt::ActionDescription::List);
-
- /**
- * This signal is emitted when asynchronous method registerAuthenticationAgent finishes.
- *
- * The argument is \c true if the Authentication agent has been successfully registered
- * \c false if the Authentication agent registration failed
- */
- void registerAuthenticationAgentFinished(bool);
-
- /**
- * This signal is emitted when asynchronous method unregisterAuthenticationAgent finishes.
- *
- * The argument is \c true if the Authentication agent has been successfully unregistered
- * \c false if the Authentication agent unregistration failed
- */
- void unregisterAuthenticationAgentFinished(bool);
-
- /**
- * This signal is emitted when asynchronous method authenticationAgentResponse finishes.
- *
- * The argument is \c true if authority acknowledged the call, \c false if error is set.
- */
- void authenticationAgentResponseFinished(bool);
-
- /**
- * This signal is emmited when asynchronous method enumerateTemporaryAuthorizations finishes.
- *
- * The argument is list of all temporary authorizations.
- *
- * \note Free all TemporaryAuthorization objects using \p delete operator.
- */
- void enumerateTemporaryAuthorizationsFinished(PolkitTQt::TemporaryAuthorization::List);
-
- /**
- * This signal is emmited when asynchronous method revokeTemporaryAuthorizations finishes.
- *
- * The argument is \c true if all temporary authorizations were revoked
- * \c false if the revoking failed
- */
- void revokeTemporaryAuthorizationsFinished(bool);
-
- /**
- * This signal is emmited when asynchronous method revokeTemporaryAuthorization finishes.
- * \return \c true if the temporary authorization was revoked
- * \c false if the revoking failed
- */
- void revokeTemporaryAuthorizationFinished(bool);
-
-private:
- explicit Authority(PolkitAuthority *context, TQObject *parent = 0);
-
- class Private;
- friend class Private;
- Private * const d;
-
- Q_PRIVATE_SLOT(d, void dbusFilter(const TQDBusMessage &message))
-};
-
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(PolkitTQt::Authority::AuthorizationFlags)
-Q_DECLARE_METATYPE(PolkitTQt::Authority::Result)
-
-#endif