File indexing completed on 2024-04-21 03:52:50

0001 /*
0002   This file is part of the kcalcore library.
0003 
0004   SPDX-FileCopyrightText: 2001,2004 Cornelius Schumacher <schumacher@kde.org>
0005   SPDX-FileCopyrightText: 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
0006   SPDX-FileCopyrightText: 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
0007   SPDX-FileContributor: Alvaro Manera <alvaro.manera@nokia.com>
0008 
0009   SPDX-License-Identifier: LGPL-2.0-or-later
0010 */
0011 
0012 #ifndef KCALCORE_INCIDENCEBASE_P_H
0013 #define KCALCORE_INCIDENCEBASE_P_H
0014 
0015 #include "incidencebase.h"      // For IncidenceBase::Field
0016 
0017 namespace KCalendarCore
0018 {
0019 
0020 /**
0021   Private class that helps to provide binary compatibility between releases.
0022   @internal
0023 */
0024 //@cond PRIVATE
0025 class IncidenceBasePrivate
0026 {
0027 public:
0028     IncidenceBasePrivate() = default;
0029 
0030     IncidenceBasePrivate(const IncidenceBasePrivate &other)
0031     {
0032         init(other);
0033     }
0034 
0035     virtual ~IncidenceBasePrivate() = default;
0036 
0037     void init(const IncidenceBasePrivate &other);
0038 
0039     QDateTime mLastModified; // incidence last modified date
0040     QDateTime mDtStart; // incidence start time
0041     Person mOrganizer; // incidence person (owner)
0042     QString mUid; // incidence unique id
0043     Duration mDuration; // incidence duration
0044     int mUpdateGroupLevel = 0; // if non-zero, suppresses update() calls
0045     bool mUpdatedPending = false; // true if an update has occurred since startUpdates()
0046     bool mAllDay = false; // true if the incidence is all-day
0047     bool mHasDuration = false; // true if the incidence has a duration
0048     Attendee::List mAttendees; // list of incidence attendees
0049     QStringList mComments; // list of incidence comments
0050     QStringList mContacts; // list of incidence contacts
0051     QList<IncidenceBase::IncidenceObserver *> mObservers; // list of incidence observers
0052     QSet<IncidenceBase::Field> mDirtyFields; // Fields that changed since last time the incidence was created
0053     // or since resetDirtyFlags() was called
0054     QUrl mUrl; // incidence url property
0055 };
0056 
0057 //@endcond
0058 
0059 }
0060 
0061 #endif