KCalendarCore

conference.h
1 /*
2  This file is part of the kcalcore library.
3 
4  SPDX-FileCopyrightText: 2020 Daniel Vr├ítil <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #ifndef KCALCORE_CONFERENCE_H
10 #define KCALCORE_CONFERENCE_H
11 
12 #include <QMetaType>
13 #include <QSharedDataPointer>
14 #include <QUrl>
15 
16 #include "kcalendarcore_export.h"
17 #include "customproperties.h"
18 
19 namespace KCalendarCore
20 {
21 
32 class KCALENDARCORE_EXPORT Conference
33 {
34  Q_GADGET
35  Q_PROPERTY(bool isNull READ isNull)
36  Q_PROPERTY(QStringList features READ features WRITE setFeatures)
37  Q_PROPERTY(QString label READ label WRITE setLabel)
38  Q_PROPERTY(QUrl uri READ uri WRITE setUri)
39  Q_PROPERTY(QString language READ language WRITE setLanguage)
40 
41 public:
42  using List = QVector<Conference>;
43 
45  explicit Conference();
46 
57  Conference(const QUrl &uri, const QString &label,
58  const QStringList &features = {},
59  const QString &language = {});
60 
66  Conference(const Conference &conference);
67 
71  ~Conference();
72 
78  bool operator==(const Conference &conference) const;
79 
85  bool operator!=(const Conference &other) const;
86 
90  Q_REQUIRED_RESULT bool isNull() const;
91 
95  Q_REQUIRED_RESULT QUrl uri() const;
96 
100  void setUri(const QUrl &uri);
101 
105  Q_REQUIRED_RESULT QString label() const;
106 
110  void setLabel(const QString &label);
111 
117  Q_REQUIRED_RESULT QStringList features() const;
118 
124  void addFeature(const QString &feature);
125 
131  void removeFeature(const QString &feature);
132 
136  void setFeatures(const QStringList &features);
137 
141  Q_REQUIRED_RESULT QString language() const;
142 
146  void setLanguage(const QString &language);
147 
153  Conference &operator=(const Conference &conference);
154 
160  void setCustomProperty(const QByteArray &xname, const QString &xvalue);
161 
165  Q_REQUIRED_RESULT CustomProperties &customProperties();
166 
170  const CustomProperties &customProperties() const;
171 
172 private:
173  //@cond PRIVATE
174  class Private;
176  //@endcond
177 
178  friend KCALENDARCORE_EXPORT QDataStream &operator<<(QDataStream &, const KCalendarCore::Conference &);
179  friend KCALENDARCORE_EXPORT QDataStream &operator>>(QDataStream &, KCalendarCore::Conference &);
180 };
181 
187 KCALENDARCORE_EXPORT QDataStream &operator<<(QDataStream &stream, const KCalendarCore::Conference &conference);
188 
194 KCALENDARCORE_EXPORT QDataStream &operator>>(QDataStream &stream, KCalendarCore::Conference &conference);
195 
196 }
197 
198 //@cond PRIVATE
199 Q_DECLARE_TYPEINFO(KCalendarCore::Conference, Q_MOVABLE_TYPE);
200 Q_DECLARE_METATYPE(KCalendarCore::Conference)
201 //@endcond
202 
203 #endif
KCALENDARCORE_EXPORT QDataStream & operator<<(QDataStream &out, const KCalendarCore::Alarm::Ptr &)
Alarm serializer.
Definition: alarm.cpp:825
A class to manage custom calendar properties.
This file is part of the API for handling calendar data and defines the CustomProperties class...
KCALENDARCORE_EXPORT QDataStream & operator>>(QDataStream &in, const KCalendarCore::Alarm::Ptr &)
Alarm deserializer.
Definition: alarm.cpp:849
Represents information related to a conference information of an Calendar Incidence, typically a meeting or task (to-do).
Definition: conference.h:32
Namespace for all KCalendarCore types.
Definition: alarm.h:36
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Jan 25 2021 22:56:21 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.