1/*
2 This file is part of the kcal library.
3
4 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
5 Copyright (c) 2007 David Jarvie <software@astrojar.org.uk>
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21*/
22/**
23 @file
24 This file is part of the API for handling calendar data and
25 defines the FreeBusyPeriod class.
26
27 @brief
28 Represents a period of time.
29
30 @author Cornelius Schumacher \<schumacher@kde.org\>
31*/
32
33#include "freebusyperiod.h"
34
35#include <kdebug.h>
36#include <klocalizedstring.h>
37
38using namespace KCal;
39
40//@cond PRIVATE
41class KCal::FreeBusyPeriod::Private
42{
43 public:
44 Private() {}
45
46 QString mSummary;
47 QString mLocation;
48};
49//@endcond
50
51FreeBusyPeriod::FreeBusyPeriod() : Period(), d( new KCal::FreeBusyPeriod::Private() )
52{
53}
54
55FreeBusyPeriod::FreeBusyPeriod( const KDateTime &start, const KDateTime &end )
56 : Period( start, end ), d( new KCal::FreeBusyPeriod::Private() )
57{
58}
59
60FreeBusyPeriod::FreeBusyPeriod( const KDateTime &start, const Duration &duration )
61 : Period( start, duration ), d( new KCal::FreeBusyPeriod::Private() )
62{
63}
64
65FreeBusyPeriod::FreeBusyPeriod( const FreeBusyPeriod &period )
66 : Period( period ), d( new KCal::FreeBusyPeriod::Private( *period.d ) )
67{
68}
69
70FreeBusyPeriod::FreeBusyPeriod( const Period &period )
71 : Period( period ), d( new KCal::FreeBusyPeriod::Private() )
72{
73}
74
75FreeBusyPeriod::~FreeBusyPeriod()
76{
77 delete d;
78}
79
80FreeBusyPeriod &FreeBusyPeriod::operator=( const FreeBusyPeriod &other )
81{
82 // check for self assignment
83 if ( &other == this ) {
84 return *this;
85 }
86
87 Period::operator=(other);
88 *d = *other.d;
89 return *this;
90}
91
92QString FreeBusyPeriod::summary() const
93{
94 return d->mSummary;
95}
96
97void FreeBusyPeriod::setSummary( const QString &summary )
98{
99 d->mSummary = summary;
100}
101
102QString FreeBusyPeriod::location() const
103{
104 return d->mLocation;
105}
106
107void FreeBusyPeriod::setLocation( const QString &location )
108{
109 d->mLocation = location;
110}
111