File indexing completed on 2024-04-28 05:11:30

0001 /*
0002   SPDX-FileCopyrightText: 2010 Casey Link <unnamedrambler@gmail.com>
0003   SPDX-FileCopyrightText: 2009-2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
0004 
0005   SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <Libkdepim/MultiplyingLine>
0011 
0012 #include <KCalendarCore/Attendee>
0013 
0014 namespace IncidenceEditorNG
0015 {
0016 class AttendeeData : public KPIM::MultiplyingLineData, public KCalendarCore::Attendee
0017 {
0018 public:
0019     using Ptr = QSharedPointer<AttendeeData>;
0020     using List = QList<AttendeeData::Ptr>;
0021 
0022     AttendeeData(const QString &name,
0023                  const QString &email,
0024                  bool rsvp = false,
0025                  Attendee::PartStat status = Attendee::None,
0026                  Attendee::Role role = Attendee::ReqParticipant,
0027                  const QString &uid = QString())
0028         : KCalendarCore::Attendee(name, email, rsvp, status, role, uid)
0029     {
0030     }
0031 
0032     explicit AttendeeData(const KCalendarCore::Attendee &attendee)
0033         : KCalendarCore::Attendee(attendee)
0034     {
0035     }
0036 
0037     void clear() override;
0038     [[nodiscard]] bool isEmpty() const override;
0039 
0040     /**
0041      * Return a copy of the attendee data
0042      */
0043     [[nodiscard]] KCalendarCore::Attendee attendee() const;
0044 };
0045 }