File indexing completed on 2024-12-22 04:57:00
0001 /* 0002 SPDX-FileCopyrightText: 2015-2017 Krzysztof Nowicki <krissn@op.pl> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QMetaType> 0010 #include <QSharedDataPointer> 0011 0012 #include "ewstypes.h" 0013 0014 class EwsEffectiveRightsPrivate; 0015 class QXmlStreamReader; 0016 0017 class EwsEffectiveRights 0018 { 0019 public: 0020 typedef QList<EwsEffectiveRights> List; 0021 0022 EwsEffectiveRights(); 0023 explicit EwsEffectiveRights(QXmlStreamReader &reader); 0024 EwsEffectiveRights(const EwsEffectiveRights &other); 0025 EwsEffectiveRights(EwsEffectiveRights &&other); 0026 virtual ~EwsEffectiveRights(); 0027 0028 EwsEffectiveRights &operator=(const EwsEffectiveRights &other); 0029 EwsEffectiveRights &operator=(EwsEffectiveRights &&other); 0030 0031 bool isValid() const; 0032 bool canCreateAssociated() const; 0033 bool canCreateContents() const; 0034 bool canCreateHierarchy() const; 0035 bool canDelete() const; 0036 bool canModify() const; 0037 bool canRead() const; 0038 bool canViewPrivateItems() const; 0039 0040 protected: 0041 QSharedDataPointer<EwsEffectiveRightsPrivate> d; 0042 }; 0043 0044 Q_DECLARE_METATYPE(EwsEffectiveRights)