KItinerary

organization.cpp
1 /*
2  SPDX-FileCopyrightText: 2018 Luca Beltrame <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "organization.h"
8 #include "datatypes_p.h"
9 #include "locationutil.h"
10 
11 #include <QUrl>
12 
13 using namespace KItinerary;
14 
15 namespace KItinerary {
16 
17 class OrganizationPrivate: public QSharedData
18 {
19  KITINERARY_PRIVATE_BASE_GADGET(Organization)
20 public:
21  QString name;
22  QString identifier;
23  QString description;
24  QUrl image;
25  QUrl logo;
26  QString email;
27  QString telephone;
28  QUrl url;
31  QVariantList potentialAction;
32 };
33 
34 KITINERARY_MAKE_CLASS(Organization)
35 KITINERARY_MAKE_PROPERTY(Organization, QString, name, setName)
36 KITINERARY_MAKE_PROPERTY(Organization, QString, identifier, setIdentifier)
37 KITINERARY_MAKE_PROPERTY(Organization, QString, description, setDescription)
38 KITINERARY_MAKE_PROPERTY(Organization, QUrl, image, setImage)
39 KITINERARY_MAKE_PROPERTY(Organization, QUrl, logo, setLogo)
40 KITINERARY_MAKE_PROPERTY(Organization, QString, email, setEmail)
41 KITINERARY_MAKE_PROPERTY(Organization, QString, telephone, setTelephone)
42 KITINERARY_MAKE_PROPERTY(Organization, QUrl, url, setUrl)
43 KITINERARY_MAKE_PROPERTY(Organization, PostalAddress, address, setAddress)
44 KITINERARY_MAKE_PROPERTY(Organization, KItinerary::GeoCoordinates, geo, setGeo)
45 KITINERARY_MAKE_PROPERTY(Organization, QVariantList, potentialAction, setPotentialAction)
46 KITINERARY_MAKE_OPERATOR(Organization)
47 
49 {
50  return LocationUtil::geoUri(*this);
51 }
52 
53 class AirlinePrivate : public OrganizationPrivate
54 {
55  KITINERARY_PRIVATE_GADGET(Airline)
56 public:
57  QString iataCode;
58 };
59 
60 KITINERARY_MAKE_DERIVED_CLASS(Airline, Organization)
61 KITINERARY_MAKE_PROPERTY(Airline, QString, iataCode, setIataCode)
62 KITINERARY_MAKE_OPERATOR(Airline)
63 
64 class LocalBusinessPrivate : public OrganizationPrivate
65 {
66  KITINERARY_PRIVATE_GADGET(LocalBusiness)
67 };
68 KITINERARY_MAKE_DERIVED_CLASS(LocalBusiness, Organization)
69 KITINERARY_MAKE_OPERATOR(LocalBusiness)
70 
71 class FoodEstablishmentPrivate: public LocalBusinessPrivate
72 {
73  KITINERARY_PRIVATE_GADGET(FoodEstablishment)
74 };
75 KITINERARY_MAKE_DERIVED_CLASS(FoodEstablishment, LocalBusiness)
76 KITINERARY_MAKE_OPERATOR(FoodEstablishment)
77 
78 class LodgingBusinessPrivate : public LocalBusinessPrivate
79 {
80  KITINERARY_PRIVATE_GADGET(LodgingBusiness)
81 };
82 KITINERARY_MAKE_DERIVED_CLASS(LodgingBusiness, LocalBusiness)
83 KITINERARY_MAKE_OPERATOR(LodgingBusiness)
84 
85 }
86 
87 template <>
89 {
90  return d->clone();
91 }
92 
93 #include "moc_organization.cpp"
Food-related business (such as a restaurant, or a bakery).
Definition: organization.h:93
QUrl geoUri(const QVariant &location)
Returns a geo: URI for the given location.
PostalAddress address(const QVariant &location)
Returns the address of the given location.
GeoCoordinates geo(const QVariant &location)
Returns the geo coordinates of a given location.
Postal address.
Definition: place.h:45
Geographic coordinates.
Definition: place.h:22
An organization.
Definition: organization.h:30
const char * name(StandardAction id)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Nov 30 2023 03:57:58 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.