• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

KCalCore Library

  • sources
  • kde-4.12
  • kdepimlibs
  • kcalcore
compat.h
Go to the documentation of this file.
1 /*
2  This file is part of the kcalcore library.
3 
4  Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
5  Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6  Copyright (C) 2012 Christian Mollekopf <mollekopf@kolabsys.com>
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Library General Public
10  License as published by the Free Software Foundation; either
11  version 2 of the License, or (at your option) any later version.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Library General Public License for more details.
17 
18  You should have received a copy of the GNU Library General Public License
19  along with this library; see the file COPYING.LIB. If not, write to
20  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  Boston, MA 02110-1301, USA.
22 */
32 #ifndef KCALCORE_COMPAT_P_H
33 #define KCALCORE_COMPAT_P_H
34 
35 #include "incidence.h"
36 
37 #include <QtCore/QtGlobal> // for Q_DISABLE_COPY()
38 
39 class QDate;
40 class QString;
41 
42 namespace KCalCore {
43 
44 class Compat;
45 
52 class CompatFactory
53 {
54 public:
62  static Compat *createCompat(const QString &productId, const QString &implementationVersion);
63 };
64 
71 class Compat
72 {
73 public:
77  Compat();
78 
82  virtual ~Compat();
83 
89  virtual void fixRecurrence(const Incidence::Ptr &incidence);
90 
96  virtual void fixEmptySummary(const Incidence::Ptr &incidence);
97 
103  virtual void fixAlarms(const Incidence::Ptr &incidence);
104 
109  virtual void fixFloatingEnd(QDate &date);
110 
116  virtual int fixPriority(int priority);
117 
121  virtual bool useTimeZoneShift();
122 
126  virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
127 
128 private:
129  //@cond PRIVATE
130  Q_DISABLE_COPY(Compat)
131  class Private;
132  Private *d;
133  //@endcond
134 };
135 
140 class CompatDecorator : public Compat
141 {
142 public:
143  explicit CompatDecorator(Compat *decoratedCompat);
144  virtual ~CompatDecorator();
145 
150  virtual void fixRecurrence(const Incidence::Ptr &incidence);
151 
156  virtual void fixEmptySummary(const Incidence::Ptr &incidence);
157 
162  virtual void fixAlarms(const Incidence::Ptr &incidence);
163 
168  virtual void fixFloatingEnd(QDate &date);
169 
174  virtual int fixPriority(int priority);
175 
180  virtual bool useTimeZoneShift();
181 
186  virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
187 
188 private:
189  //@cond PRIVATE
190  Q_DISABLE_COPY(CompatDecorator)
191  class Private;
192  Private *d;
193  //@endcond
194 };
195 
206 class CompatPre35 : public Compat
207 {
208 public:
213  virtual void fixRecurrence(const Incidence::Ptr &incidence);
214 
215 private:
216  //@cond PRIVATE
217  class Private;
218  Private *d;
219  //@endcond
220 };
221 
226 class CompatPre34 : public CompatPre35
227 {
228 public:
233  virtual int fixPriority(int priority);
234 
235 private:
236  //@cond PRIVATE
237  class Private;
238  Private *d;
239  //@endcond
240 };
241 
251 class CompatPre32 : public CompatPre34
252 {
253 public:
258  virtual void fixRecurrence(const Incidence::Ptr &incidence);
259 
260 private:
261  //@cond PRIVATE
262 
263  class Private;
264  Private *d;
265  //@endcond
266 };
267 
283 class CompatPre31 : public CompatPre32
284 {
285 public:
290  virtual void fixFloatingEnd(QDate &date);
291 
296  virtual void fixRecurrence(const Incidence::Ptr &incidence);
297 
298 private:
299  //@cond PRIVATE
300  class Private;
301  Private *d;
302  //@endcond
303 };
304 
309 class Compat32PrereleaseVersions : public Compat
310 {
311 public:
316  virtual bool useTimeZoneShift();
317 
318 private:
319  //@cond PRIVATE
320  class Private;
321  Private *d;
322  //@endcond
323 };
324 
333 class CompatOutlook9 : public Compat
334 {
335 public:
340  virtual void fixAlarms(const Incidence::Ptr &incidence);
341 
342 private:
343  //@cond PRIVATE
344  class Private;
345  Private *d;
346  //@endcond
347 };
348 
353 class CompatPre410 : public CompatDecorator
354 {
355 public:
356  explicit CompatPre410(Compat *decoratedCompat);
357 
362  virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp);
363 
364 private:
365  //@cond PRIVATE
366  class Private;
367  Private *d;
368  //@endcond
369 };
370 
371 }
372 
373 #endif
KCalCore::Compat::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Sets the created and dtstamp.
Definition: compat.cpp:155
KCalCore::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition: compat.cpp:150
KCalCore::CompatDecorator::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Definition: compat.cpp:178
KCalCore::CompatDecorator::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:208
KCalCore::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition: compat.cpp:133
KCalCore::Compat::~Compat
virtual ~Compat()
Destructor.
Definition: compat.cpp:107
KCalCore::CompatPre410::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:355
KCalCore::CompatDecorator::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:203
KCalCore::CompatPre31::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:255
KCalCore::CompatDecorator::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:183
KCalCore::Incidence::Ptr
QSharedPointer< Incidence > Ptr
A shared pointer to an Incidence.
Definition: incidence.h:112
KCalCore::CompatDecorator::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:188
KCalCore::Compat
This class provides compatibility to older or broken calendar files.
Definition: compat.h:71
KCalCore::CompatFactory
Factory for creating the right Compat object.
Definition: compat.h:52
KCalCore::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition: compat.h:251
KCalCore::Compat::fixPriority
virtual int fixPriority(int priority)
Fixes the priority.
Definition: compat.cpp:145
KCalCore::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition: compat.h:206
KCalCore::Compat::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Fixes an empty summary for an incidence.
Definition: compat.cpp:111
KCalCore::CompatPre32::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:240
KCalCore::CompatPre34::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:230
KCalCore::CompatDecorator::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:193
KCalCore::Compat32PrereleaseVersions::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:345
KCalCore::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition: compat.h:333
KCalCore::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition: compat.h:283
KCalCore::CompatFactory::createCompat
static Compat * createCompat(const QString &productId, const QString &implementationVersion)
Creates the appropriate Compat class as determined by the Product ID.
Definition: compat.cpp:46
KCalCore::Compat::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Fixes the alarms list an incidence.
Definition: compat.cpp:128
KCalCore::CompatDecorator
Decorator so multiple compatibility classes can be stacked.
Definition: compat.h:140
KCalCore::Compat32PrereleaseVersions
Compatibility class for KOrganizer prerelease 3.2 calendar files.
Definition: compat.h:309
KCalCore::Compat::Compat
Compat()
Constructor.
Definition: compat.cpp:103
KCalCore::CompatPre35::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:214
incidence.h
This file is part of the API for handling calendar data and defines the Incidence class...
KCalCore::CompatDecorator::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:198
KCalCore::CompatPre34
Compatibility class for KOrganizer pre-3.4 calendar files.
Definition: compat.h:226
KCalCore::CompatOutlook9::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:325
KCalCore::CompatPre410
Compatibility class for Kontact < 4.10 calendar files.
Definition: compat.h:353
KCalCore::Compat::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Fixes the recurrence rule for an incidence.
Definition: compat.cpp:138
KCalCore::CompatPre31::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:250
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:59:57 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KCalCore Library

Skip menu "KCalCore Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal