Kgapi

calendarurl.h
1/*
2 * SPDX-FileCopyrightText: 2021 Daniel Vrátil <dvratil@kde.org>
3 * SPDX-FileCopyrightText: 2022 Claudio Cambra <claudio.cambra@kde.org>
4 *
5 * SPDX-License-Identifier: LGPL-2.1-only
6 * SPDX-License-Identifier: LGPL-3.0-only
7 * SPDX-License-Identifier: LicenseRef-KDE-Accepted-LGPL
8 */
9
10#pragma once
11
12#include <QSharedDataPointer>
13#include "kgapipeople_export.h"
14
15#include <QString>
16
17#include <optional>
18
19class QJsonObject;
20class QJsonValue;
21class QJsonArray;
22
23namespace KGAPI2::People
24{
25class FieldMetadata;
26
27/**
28 * A person's calendar URL.
29 *
30 * @see https://developers.google.com/people/api/rest/v1/people#calendarurl
31 * @since 5.23.0
32 **/
33class KGAPIPEOPLE_EXPORT CalendarUrl
34{
35public:
36 /** Constructs a new CalendarUrl **/
37 explicit CalendarUrl();
38 CalendarUrl(const CalendarUrl &);
39 CalendarUrl(CalendarUrl &&) noexcept;
40 CalendarUrl &operator=(const CalendarUrl &);
41 CalendarUrl &operator=(CalendarUrl &&) noexcept;
42 /** Destructor. **/
44
45 bool operator==(const CalendarUrl &) const;
46 bool operator!=(const CalendarUrl &) const;
47
48 [[nodiscard]] static CalendarUrl fromJSON(const QJsonObject &obj);
49 [[nodiscard]] static QList<CalendarUrl> fromJSONArray(const QJsonArray &data);
50 [[nodiscard]] QJsonValue toJSON() const;
51
52 /** The calendar URL. **/
53 [[nodiscard]] QString url() const;
54 /** Sets value of the url property. **/
55 void setUrl(const QString &value);
56
57 /** Metadata about the calendar URL. **/
58 [[nodiscard]] FieldMetadata metadata() const;
59 /** Sets value of the metadata property. **/
60 void setMetadata(const FieldMetadata &value);
61
62 /** The type of the calendar URL. The type can be custom or one of these predefined values: * `home` * `freeBusy` * `work` **/
63 [[nodiscard]] QString type() const;
64 /** Sets value of the type property. **/
65 void setType(const QString &value);
66
67 /** Output only. The type of the calendar URL translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. **/
68 [[nodiscard]] QString formattedType() const;
69
70private:
71 class Private;
73}; // CalendarUrl
74
75} // namespace KGAPI2::People
void setUrl(const QString &value)
Sets value of the url property.
void setType(const QString &value)
Sets value of the type property.
void setMetadata(const FieldMetadata &value)
Sets value of the metadata property.
CalendarUrl()
Constructs a new CalendarUrl.
QString formattedType() const
Output only.
FieldMetadata metadata() const
Metadata about the calendar URL.
QString url() const
The calendar URL.
QString type() const
The type of the calendar URL.
Metadata about a field.
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Jan 24 2025 11:57:31 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.