File indexing completed on 2024-04-14 04:38:31

0001 /*
0002     This file is part of the Polkit-qt project
0003     SPDX-FileCopyrightText: 2009 Jaroslav Reznik <jreznik@redhat.com>
0004     SPDX-FileCopyrightText: 2010 Dario Freddi <drf@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "polkitqt1-actiondescription.h"
0010 
0011 #include <QString>
0012 
0013 #include <polkit/polkit.h>
0014 
0015 namespace PolkitQt1
0016 {
0017 
0018 class Q_DECL_HIDDEN ActionDescription::Data : public QSharedData
0019 {
0020 public:
0021     Data() {}
0022     Data(const Data& other)
0023         : QSharedData(other)
0024         , actionId(other.actionId)
0025         , description(other.description)
0026         , message(other.message)
0027         , vendorName(other.vendorName)
0028         , vendorUrl(other.vendorUrl)
0029         , iconName(other.iconName)
0030         , implicitAny(other.implicitAny)
0031         , implicitInactive(other.implicitInactive)
0032         , implicitActive(other.implicitActive)
0033     {
0034     }
0035     virtual ~Data() {}
0036 
0037     QString actionId;
0038     QString description;
0039     QString message;
0040     QString vendorName;
0041     QString vendorUrl;
0042     QString iconName;
0043 
0044     ActionDescription::ImplicitAuthorization implicitAny;
0045     ActionDescription::ImplicitAuthorization implicitInactive;
0046     ActionDescription::ImplicitAuthorization implicitActive;
0047 };
0048 
0049 ActionDescription::ActionDescription()
0050         : d(new Data)
0051 {
0052 
0053 }
0054 
0055 ActionDescription::ActionDescription(PolkitActionDescription *polkitActionDescription)
0056         : d(new Data)
0057 {
0058     d->actionId = QString::fromUtf8(polkit_action_description_get_action_id(polkitActionDescription));
0059     d->description = QString::fromUtf8(polkit_action_description_get_description(polkitActionDescription));
0060     d->message = QString::fromUtf8(polkit_action_description_get_message(polkitActionDescription));
0061     d->vendorName = QString::fromUtf8(polkit_action_description_get_vendor_name(polkitActionDescription));
0062     d->vendorUrl = QString::fromUtf8(polkit_action_description_get_vendor_url(polkitActionDescription));
0063     d->iconName = QString::fromUtf8(polkit_action_description_get_icon_name(polkitActionDescription));
0064 
0065     d->implicitAny = static_cast<ActionDescription::ImplicitAuthorization>(polkit_action_description_get_implicit_any(
0066                          polkitActionDescription));
0067     d->implicitInactive = static_cast<ActionDescription::ImplicitAuthorization>(polkit_action_description_get_implicit_inactive(
0068                               polkitActionDescription));
0069     d->implicitActive = static_cast<ActionDescription::ImplicitAuthorization>(polkit_action_description_get_implicit_active(
0070                             polkitActionDescription));
0071 }
0072 
0073 ActionDescription::ActionDescription(const PolkitQt1::ActionDescription& other)
0074         : d(other.d)
0075 {
0076 }
0077 
0078 ActionDescription& ActionDescription::operator=(const PolkitQt1::ActionDescription& other)
0079 {
0080     d = other.d;
0081     return *this;
0082 }
0083 
0084 ActionDescription::~ActionDescription()
0085 {
0086 }
0087 
0088 QString ActionDescription::actionId() const
0089 {
0090     return d->actionId;
0091 }
0092 
0093 QString ActionDescription::description() const
0094 {
0095     return d->description;
0096 }
0097 
0098 QString ActionDescription::message() const
0099 {
0100     return d->message;
0101 }
0102 
0103 QString ActionDescription::vendorName() const
0104 {
0105     return d->vendorName;
0106 }
0107 
0108 QString ActionDescription::vendorUrl() const
0109 {
0110     return d->vendorUrl;
0111 }
0112 
0113 QString ActionDescription::iconName() const
0114 {
0115     return d->iconName;
0116 }
0117 
0118 ActionDescription::ImplicitAuthorization ActionDescription::implicitAny() const
0119 {
0120     return d->implicitAny;
0121 }
0122 
0123 ActionDescription::ImplicitAuthorization ActionDescription::implicitInactive() const
0124 {
0125     return d->implicitInactive;
0126 }
0127 
0128 ActionDescription::ImplicitAuthorization ActionDescription::implicitActive() const
0129 {
0130     return d->implicitActive;
0131 }
0132 
0133 }