File indexing completed on 2024-04-28 17:05:35

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Dimitris Kardarakos <dimkard@posteo.net>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #ifndef CONFERENCE_H
0008 #define CONFERENCE_H
0009 
0010 #include <QObject>
0011 
0012 class Conference : public QObject
0013 {
0014     Q_OBJECT
0015 
0016     Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged)
0017     Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
0018     Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged)
0019     Q_PROPERTY(QString icalUrl READ icalUrl WRITE setIcalUrl NOTIFY icalUrlChanged)
0020     Q_PROPERTY(QStringList days READ days WRITE setDays NOTIFY daysChanged)
0021     Q_PROPERTY(QString venueImageUrl READ venueImageUrl WRITE setVenueImageUrl NOTIFY venueImageUrlChanged)
0022     Q_PROPERTY(QString venueLatitude READ venueLatitude WRITE setVenueLatitude NOTIFY venueLatitudeChanged)
0023     Q_PROPERTY(QString venueLongitude READ venueLongitude WRITE setVenueLongitude NOTIFY venueLongitudeChanged)
0024     Q_PROPERTY(QString venueOsmUrl READ venueOsmUrl WRITE setVenueOsmUrl NOTIFY venueOsmUrlChanged)
0025     Q_PROPERTY(QString timeZoneId READ timeZoneId WRITE setTimeZoneId NOTIFY timeZoneIdChanged)
0026 
0027 public:
0028     explicit Conference(QObject *parent = nullptr);
0029 
0030     QString id() const;
0031     QString name() const;
0032     QString description() const;
0033     QString icalUrl() const;
0034     QStringList days() const;
0035     QString venueImageUrl() const;
0036     QString venueLatitude() const;
0037     QString venueLongitude() const;
0038     QString venueOsmUrl() const;
0039     QString timeZoneId() const;
0040 
0041     void setId(const QString &id);
0042     void setName(const QString &name);
0043     void setDescription(const QString &description);
0044     void setIcalUrl(const QString &icalUrl);
0045     void setDays(const QStringList &days);
0046     void setVenueImageUrl(const QString &url);
0047     void setVenueLatitude(const QString &latitude);
0048     void setVenueLongitude(const QString &longitude);
0049     void setVenueOsmUrl(const QString &url);
0050     void setTimeZoneId(const QString &id);
0051 
0052 Q_SIGNALS:
0053     void idChanged();
0054     void nameChanged();
0055     void descriptionChanged();
0056     void icalUrlChanged();
0057     void daysChanged();
0058     void venueImageUrlChanged();
0059     void venueLatitudeChanged();
0060     void venueLongitudeChanged();
0061     void venueOsmUrlChanged();
0062     void timeZoneIdChanged();
0063 private:
0064     QString m_id;
0065     QString m_name;
0066     QString m_description;
0067     QString m_ical_url;
0068     QStringList m_days;
0069     QString m_venue_image_url;
0070     QString m_venue_latitude;
0071     QString m_venue_longitude;
0072     QString m_venue_osm_url;
0073     QString m_tz_id;
0074 };
0075 #endif